Files
NODEDC_MISSION_CORE/docs/audits/2026-09-21-corrected-session-default.md
T

6.4 KiB

Corrected session as the operator and laboratory default

Decision and product surface

Owner direction supersedes the earlier view-only admission in 2026-09-21-map-comparison-view.md: an explicitly reviewed correction becomes the ordinary representation of the same physical session in Data, and the default reference when that recording is selected for a new planner study. Original evidence stays immutable and available in Information → comparison.

This is domain content in an admitted composition (class A), not a new catalog row, root, workspace, solver or viewer. Rejected alternatives: duplicating the capture under another name, and connecting only the bounded preview while the planner still consumes original geometry. Canonical SegmentedControl, RangeControl and LoadingRegion remain the only UI primitives used here.

States: no activated correction → original; activated correction → corrected; missing/corrupt selected correction → explicit error, never silent original fallback. Comparison is an optional inspector control, not a different default policy. Initial overview geometry remains hidden until the selected representation is applied. Version and clipping changes retain the viewer and camera; only explicit camera controls reset the view.

Architecture and source ownership

SessionMapVersions stores immutable complete bundles in application data and atomically selects one generation for each physical session. Activation is an explicit offline operation after review, not automatic acceptance of any solver output. activate_session_map.py verifies the original transport, index, frozen clock and origin before admission. The pointer grants only recorded playback and laboratory reference use. It cannot authorize movement.

Data uses MapReplaySessionStore, a read-only playback facade over the real catalog. ReplayCommand.map_version pins the geometry generation before work is queued. Native capture confinement remains unchanged; three separately verified projection inputs (manifest, complete points, trajectory) extend the preparation/cache identity. A raw ready-job cannot satisfy a corrected launch. The existing single background worker and seekable RRD path are reused.

The K1 exporter reads the exact corrected cloud frame and corrected pose, including orientation, at the corresponding original receipt time. The raw capture clock, duration, media and event sequence are unchanged. Map timestamps are relative to the first raw message, not the first pose or capture start. All cloud/pose ownership is checked before publication. The normal operator RRD's existing temporal display sampling is retained; no 180k-point preview is substituted for playback or registration data. Point-color overlays use the same corrected positions and preserve observation count/order. Uncorrected perception overlays are rejected instead of mixing two spatial frames.

New planner selections resolve through DefaultPlanningSources.get, retaining the physical session's name. Existing studies resolve their pinned generation through bound/verify: old studies retain original geometry, and corrected studies use their immutable map even if the default later changes. The full map and trajectory feed the existing reference extraction/preparation. No registration acceptance thresholds or search rules were weakened.

Planner preview requests also carry the reference generation. An existing original study must not display a newly corrected default as its old reference. Information retains both representations and original acquisition metrics.

Scope and verification

Original capture bytes and the previously reviewed correction/solver seal are unchanged. The correction remains a regularized estimate validated against this capture, not independent proof of positioning accuracy. Admission is for the next supervised scanner experiment, not rover movement.

Acceptance completed

  • Frontend architecture checks, typecheck, all 885 frontend tests, and the production build passed sequentially. Focused Python suites passed: the 162-test integration selection, the 70-test overview/API/live-planning selection, and the final 31-test recording/exporter-capability selection (these selections overlap; their counts are not additive).
  • Synthetic coverage verifies durable activation, historical generation pins, fail-closed missing/corrupt defaults, native path confinement, source digest ownership, corrected frame/pose projection, and unchanged replay timing.
  • The reviewed full correction was explicitly activated in application data; no physical session was duplicated, and no original capture was modified. Canonical source lookup now returns the same selected map generation as recorded playback and the Information comparison.
  • Actual operator RRD inspection matched all 1,036 displayed cloud frames to their complete-map counterparts and all 5,182 poses/orientations to the corrected trajectory. Original timing (597.439503125 seconds) and media timing remain unchanged. The ordinary operator display sampling is retained.
  • Isolated full-route planner preparation used the selected corrected source, produced 15 reference tiles and 694,420 voxel points, and verified all 5,182 trajectory poses across approximately 579.98 metres. It did not persist a real study, issue device commands, or grant vehicle-control authority.
  • Browser acceptance on canonical port 8000: ordinary recording-name selection opens playback; Information initially selects Corrected; Original/Corrected switching works; window restore/expand works and Escape closes Information. A new planner selection of the same ordinary name displays Corrected and 579.98 metres. Selecting Whole trajectory includes all 5,182 positions. No browser console errors were reported during this acceptance.
  • One canonical backend remains listening on 8000; no backend listens on 8765.

Next supervised experiment

Use a new planner study, the ordinary physical recording name, and Whole trajectory so the reference includes both sides of the closure. Existing studies deliberately retain their pinned generation. Try several stationary initializations near the seam, including offset positions, then short walks through it after tracking is confirmed. Inspect those runs before extending to kilometre-scale routes. This admission is not an independent measurement of localization accuracy or autonomous-driving readiness.