Closed
Conversation
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>
…lication settings
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
…g health checks for PostgreSQL and MinIO
…r-mcp Copilot/add backend support for mcp
…ze slider - Add `thumbnailSize` (default 220) to gallery state defaults - Change `viewMode` default to 'grid'; migrate legacy 'small'/'medium'/'large' values - Replace S/M/L buttons with a range slider (100-500px) in ImageGallery - Apply thumbnail size via inline gridTemplateColumns style in GalleryGridView - Compute imagesPerPage dynamically from thumbnailSize - Add CSS for slider control (.thumbnail-size-control, .thumbnail-size-slider, .thumbnail-size-label) - Update ImageGallery tests; add 7 new migration tests to galleryState.test.js Co-authored-by: travisdock <36681963+travisdock@users.noreply.github.com>
…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
…ementation sessions
…ests-into-groups Add AGENTS workflow and planning docs (repo orchestration, triage, handoff)
Added adversarial functional testing and improvement to QA/Tester Role.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
project_typediscriminator so the codebase can explicitly differentiate PT1/PT2/PT3 workflows and evolve viewer/ingest behavior per project type.PT1and validate/normalize incoming values to reduce client fragility.Description
project_typecolumn to theprojectsmodel withserver_default='PT1'and an index for efficient filtering (backend/core/models.py).project_typewith a regex constraint^(PT1|PT2|PT3)$and a validator tostrip()/upper()incoming values (backend/core/schemas.py).20260328_0005_add_project_type.pyto create/drop the column and index (backend/alembic/versions/20260328_0005_add_project_type.py).backend/tests/test_projects_router.py,backend/tests/test_schemas.py,docs/planning/inspection-workbench-pr-artifact.md).Testing
/workspace/VISTA/.venv/bin/pytest -q backend/tests/test_projects_router.py backend/tests/test_schemas.pyand the run passed:11 passed`.cd backend && pytest -q tests/test_projects_router.py tests/test_schemas.pyfailed in that environment due to a missing test dependency (pytest_asyncio), so the project's virtualenv test runner was used successfully.PT1,PT2, andPT3with three simulated user scenarios per type, schema normalization checks (pt2->PT2), and rejection of invalid values (PT9).