Skip to content

Codex/pr 03#93

Closed
staylor-v1 wants to merge 238 commits intosandialabs:mainfrom
staylor-v1:codex/PR-03
Closed

Codex/pr 03#93
staylor-v1 wants to merge 238 commits intosandialabs:mainfrom
staylor-v1:codex/PR-03

Conversation

@staylor-v1
Copy link
Copy Markdown

Motivation

  • Enable part-level review workflows by exposing and persisting a review_state on inspection parts so reviewers can mark parts as in_review, pass, reject_pending, etc.
  • Provide a front-end Inspection Workbench to browse batches/parts, apply defect-centric filters, and perform review actions from the UI.
  • Add automated coverage for the new API and UI flows, including unit tests and an E2E Playwright spec to capture a visual artifact.

Description

  • Backend: added InspectionPartUpdate schema and a PATCH /api/projects/{project_id}/parts/{part_id} endpoint to update part review_state, plus review_state query support on GET /api/projects/{project_id}/parts and corresponding CRUD helpers get_inspection_part and update_inspection_part_review_state with DB logging.
  • Backend: list_inspection_parts now accepts review_state to filter parts by their review status and new error handling for not-found updates.
  • Frontend: introduced project-level tabs and a new InspectionWorkbenchPanel component that fetches /batches and /parts, shows counts, supports batch/defect filters and sorting, displays a configurable view-board, and persists review-state changes with PATCH calls.
  • Tests & tooling: added unit tests for the workbench (InspectionWorkbenchPanel.test.js), a Playwright E2E spec and route mocks (e2e/specs/inspection-workbench.spec.js, e2e/fixtures/inspectionWorkbenchMocks.js), Playwright configuration and scripts in package.json, and updated .gitignore plus an artifacts README for screenshot handling.
  • Documentation: updated planning artifact to record the implemented inspection workbench increments.

Testing

  • Ran backend tests with pytest backend/tests/test_inspection_workbench_router.py which includes test_part_review_workflow_supports_three_simulated_users_with_progressive_data, and the tests passed.
  • Ran frontend unit tests covering InspectionWorkbenchPanel via the test runner (npm test) and the new component tests passed.
  • Executed the Playwright E2E scenario with npm run test:e2e:pr03 using the provided mocks, and the E2E spec completed successfully, producing the screenshot artifact path declared in frontend/artifacts/README.md.

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 25 commits March 20, 2026 12:26
…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.
…inspection-workbench

Add Inspection Workbench: inspection_batches/inspection_parts models, APIs, migration and tests
@staylor-v1 staylor-v1 closed this Apr 9, 2026
@staylor-v1 staylor-v1 reopened this Apr 9, 2026
@staylor-v1 staylor-v1 closed this Apr 9, 2026
@staylor-v1 staylor-v1 deleted the codex/PR-03 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