Skip to content

Codex/pr 02#92

Closed
staylor-v1 wants to merge 236 commits intosandialabs:mainfrom
staylor-v1:codex/PR-02
Closed

Codex/pr 02#92
staylor-v1 wants to merge 236 commits intosandialabs:mainfrom
staylor-v1:codex/PR-02

Conversation

@staylor-v1
Copy link
Copy Markdown

Motivation

  • Introduce project-scoped inspection batches and parts so the system can group and track physical parts and their review state within projects.
  • Provide API endpoints and persistence for batch/part workflows and enforce uniqueness and referential integrity across projects.

Description

  • Add Alembic migration 20260328_0006 to create inspection_batches and inspection_parts tables with indexes, UNIQUE constraints, and appropriate ON DELETE behaviors.
  • Add SQLAlchemy models InspectionBatch and InspectionPart, and wire relationships into Project so project.inspection_batches and project.inspection_parts are available.
  • Add Pydantic schemas InspectionBatch* and InspectionPart*, a new router inspection_workbench exposing POST /api/projects/{project_id}/batches, GET /api/projects/{project_id}/batches, POST /api/projects/{project_id}/parts, and GET /api/projects/{project_id}/parts, and include the router in main.py.
  • Implement CRUD helpers in utils/crud.py for creating/listing/getting batches and parts and ensure metadata is persisted and serial_number uniqueness is enforced per project.
  • Add integration tests tests/test_inspection_workbench_router.py exercising multi-user, multi-project scenarios and a cross-project validation case, and update planning doc docs/planning/inspection-workbench-pr-artifact.md.

Testing

  • Ran the backend unit/integration test suite including the new tests/test_inspection_workbench_router.py (parametrized PT1/PT2/PT3 scenarios) and the full backend tests, and all tests completed successfully.
  • Verified database migration applies cleanly in test environments via the test-run migration path and tests that exercise the new tables passed.

garland3 and others added 30 commits December 6, 2025 17:19
This commit addresses multiple CI/CD pipeline failures:

1. CodeQL Configuration: Remove invalid 'name' field from config file
   - The 'name' field is not a valid top-level configuration option
   - Resolves "1 configuration not found" warning

2. CI/CD Pipeline Tests: Fix virtualenv activation in test job
   - Change from 'source' command to PATH export for better compatibility
   - Ensures Python environment is properly activated for test runner

3. Container Security Scan: Update Trivy action and configuration
   - Pin Trivy action to specific version (0.28.0) instead of @master
   - Add 'ignore-unfixed' option to reduce false positives
   - Add 'category' to SARIF upload for better organization

4. CodeQL JavaScript/TypeScript: Skip autobuild for JS analysis
   - JavaScript/TypeScript analysis doesn't require autobuild step
   - Only run autobuild for Python language matrix
   - Add explicit 'upload: true' parameter to analysis step

All changes maintain the no-emoji policy and follow existing code style.

Generated with feature

Co-Authored-By: feature Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Add script to launch PostgreSQL and MinIO using Podman or Docker
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Fix GraphQL scan artifact upload failure for projects without GraphQL
…r-mcp

Copilot/add backend support for mcp
travisdock and others added 27 commits March 20, 2026 10:53
…y-grid

Replace gallery S/M/L size buttons with a continuous thumbnail size slider
- CalibrationManager: add matchedRule state, check calibration_rules in
  project metadata between image override and project default; add
  handleSaveMetadataRule handler; show rule info in purple label
- CalibrationEditForm: add imageMetadataKeys/onSaveMetadataRule props and
  Save for Matching Metadata section with key selector dropdown
- CalibrationManager.test.js: add 6 tests for metadata rule matching,
  priority, fallback, and saving

Co-authored-by: travisdock <36681963+travisdock@users.noreply.github.com>
Agent-Logs-Url: https://github.com/sandialabs/VISTA/sessions/17329e5f-6c33-4832-93b4-1875e80c00ea
  The metadata field fallback (image.metadata vs image.metadata_) was
  duplicated in loadCalibration and the imageMetadataKeys prop. Extract
  it into a shared imageMetadata useMemo at the component level so the
  resolution logic lives in one place.
  Reset isImageOverride when a metadata rule matches to prevent the
  UI from showing "Using image-specific calibration" after an override
  is cleared. Simplify validation guard to check truthiness instead of
  matching a specific error message prefix.
  After deleting calibration_override via API, the local image metadata
  still contained the old value, causing loadCalibration to short-circuit
  back to the override state. Now removes the key from the local object
  before reloading. Also renamed the button from "Revert to Project
  Default" to "Clear Image Override" since the fallback may be a metadata
  rule rather than the project default.
  handleClearOverride was directly deleting calibration_override from
  the image prop object, which violates React's immutability assumptions
  and can cause subtle bugs if the parent re-renders or references the
  same object. Use an overrideCleared ref instead to signal loadCalibration
  to skip the stale override check. The ref resets when the image changes
  or a new override is saved.
  validateCalibration now returns a structured result ({ error } or
  { warning }) instead of a plain string. Save handlers block only on
  actual errors (non-positive numbers), while unrealistic-but-valid
  values show a transient warning message and proceed with the save.
  The previous if (validation) check was treating both cases as hard
  errors.
  Add validation for rule.calibration shape (pixels_per_mm, pixels_per_inch)
  before using a matched metadata rule, preventing runtime errors from
  malformed rules. Fix useMemo dependency to track the metadata reference
  instead of the entire image object, avoiding unnecessary recalculations.
  Move the read-only calibration view (formatted values, status label,
  action buttons, empty state) into CalibrationDisplay.js. Extract shared
  validation and calibration data construction into top-level helpers,
  replacing the duplicated preamble across all three save handlers.
  Brings CalibrationManager.js from 558 lines down to 397.
…-per-metadata-again

Add metadata-based calibration rules as mid-priority calibration tier
…ests-into-groups

Add AGENTS workflow and planning docs (repo orchestration, triage, handoff)
Added adversarial functional testing and improvement to QA/Tester Role.
@staylor-v1 staylor-v1 closed this Apr 9, 2026
@staylor-v1 staylor-v1 deleted the codex/PR-02 branch April 9, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants