Grid accuracy: require valid latest pivot calibration + refuse synthetic data#9
Merged
Merged
Conversation
…synthetic data Operator: a thesis-grade Aurora grid accuracy run must use a real, current pivot calibration and never synthetic data. Require a valid, latest pivot calibration (PRIORITY): - The 0B probe tip vector now comes ONLY from the latest pivot calibration whose summary status == "success" (matching tool, has tip_vector_local_mm), newest-first under data/pivot_calibration/. New find_latest_valid_pivot_ calibration / resolve_grid_tip_source helpers. Hardcoded tip_vector_mm / tip_file and the coil-origin fallback are IGNORED (pivot only). - If no valid pivot exists the run is refused (execute raises) and preflight shows a hard "Pivot Calibration" blocker. The chosen pivot run name + tip + RMSE are recorded in the bundle metrics (pivot_calibration / pivot_tip_ vector_mm / pivot_calibration_run) so the run is self-documenting. Refuse synthetic data entirely: - Removed the dry-run synthetic data-generation path from the experiment and the page-side capture. The experiment ALWAYS requires real captured points (raises if none) and rejects synthetic-flagged captured samples UNCONDITIONALLY (was: only when dry_run off). Preflight blocks synthetic captures unconditionally. Page-side capture is live-tracker only. - GridDefinitionConfig defaults: allow_coil_origin_fallback=False, dry_run= False. example.yaml stripped to real-data + pivot-required. Verified end-to-end: a live 3x3=9-point run auto-selects the repo's latest valid pivot (20260424_230515, tip [-1.06,-4.41,17.57]), aligns 9/9 at RMS 0.21 mm, and records the provenance; runs with no captures / synthetic captures / no valid pivot are all refused. 225 grid/critical/thesis/GUI tests pass (reworked the synthetic + tip-cal tests for the new behaviour). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.
Summary
Per operator: a thesis-grade Aurora grid accuracy run (9-point 3×3 tracker grid) must use a real, current pivot calibration and never synthetic data.
Require a valid, latest pivot calibration (priority)
summary.status == "success"(matching tool, hastip_vector_local_mm), newest-first underdata/pivot_calibration/. Newfind_latest_valid_pivot_calibration/resolve_grid_tip_sourcehelpers.tip_vector_mm/tip_fileand the coil-origin fallback are ignored — pivot only.executeraises) and preflight shows a hard "Pivot Calibration" blocker. The chosen pivot run name + tip + RMSE are recorded in the bundle (pivot_calibration,pivot_tip_vector_mm,pivot_calibration_run) so the run is self-documenting.Refuse synthetic data entirely
GridDefinitionConfigdefaults:allow_coil_origin_fallback=False,dry_run=False.example.yamlstripped to real-data + pivot-required.Verification (real pivot, not mocked)
20260424_230515_pivot_calibration_review(tip[-1.06,-4.41,17.57]), aligns 9/9 at RMS 0.21 mm, records the provenance.Reviewer notes
status=successonly; synthetic = removed entirely; tip = pivot-only (no manual override).dry_run/ tip-vector GUI controls are left in place (harmless; ignored). A follow-up can hide them and surface the pivot status on the page.🤖 Generated with Claude Code