Tracked by #4191. This is the release gate for the epic and must remain open until every child acceptance criterion is evidenced.
Objective
Harden the complete spatial-target, convention, inverse-solver, impact-mapping, capability optimizer, wind strategy, uncertainty, and real-time 3D workflow for a production release.
Required Quality Gates
- TDD evidence for every public contract and regression; DbC validation at API/file/UI boundaries; DRY canonical physics and schemas; LoD separation between physics, solving, persistence, and presentation.
- Python/TypeScript/Rust or WASM golden parity fixtures for frames/signs, launch metrics, seven-model baseline cases, target geometry, solver problems, steady/gust/turbulent wind, player variation, uncertainty cohorts, and playback timestamps.
- Independent literature/source register for flight and wind equations, coefficient ranges, environment model, launch-monitor-comparable definitions, and validation data. State applicability and missing validation.
- Property/metamorphic tests for determinism, frame round trips, zero-wind identity, common-random-number pairing, bounded optimization, and unavailable metric behavior.
- Integration tests from UI input through API/kernel to plots and exports. A visible control must change the intended canonical state.
- PyQt GUI tests plus browser component tests and Playwright end-to-end/visual checks for hints, convention switching, target editing, solver cancellation, wind overlays, playback, exports, keyboard use, focus, contrast, resize, and reduced motion.
- Performance budgets for single flight, paired wind comparison, inverse solving, large ensembles, and 3D playback; browser work must remain responsive and desktop work must be cancellable.
- Versioned JSON schemas with migration fixtures, full manifests, stable metric IDs, raw vectors, units, frames, signs, seeds, model versions, solver diagnostics, and unavailable reasons.
- User docs with worked driver/iron/wedge shots, headwind/crosswind cases, wind-estimate error, non-unique solution families, player optimization tradeoffs, and troubleshooting.
- Legal-safe copy: no vendor branding, endorsement, certification, proprietary interface cloning, or exact-device-equivalence claim.
Release Evidence
- Record exact local test, lint, format, type, build, benchmark, parity, accessibility, and visual-test results.
- Inspect protected GitHub checks, required reviews, merge state, and exact merged commit without bypassing rulesets.
- Confirm Tools ownership and UpstreamDrift dependency pin/integration rather than maintaining shadow copies.
- Keep any unmet validation, performance, platform, or model-applicability item in an explicit open gap register; do not close this issue on architecture or partial UI delivery.
Tracked by #4191. This is the release gate for the epic and must remain open until every child acceptance criterion is evidenced.
Objective
Harden the complete spatial-target, convention, inverse-solver, impact-mapping, capability optimizer, wind strategy, uncertainty, and real-time 3D workflow for a production release.
Required Quality Gates
Release Evidence