Files
NODEDC_MISSION_CORE/docs/audits/2026-09-21-ring-continuity-and-live-lifetime.md
T

104 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Full-ring continuity and live-pass lifetime
## Scope and evidence
Owner requested review of the latest full ring, removal of distance-triggered
termination, and removal of the recorded/live pass chooser from operator setup.
Full-route acquisition and its quality gates are deliberately unchanged.
The completed study is `0324337e-b590-4561-b19a-8fbc7835b888`, captured on
2026-09-21. This is an audit of immutable production decisions, not a numerical
rerun, new capture, or absolute-position survey. The operator reports a start
approximately 20 m before the original seam and a full circular walk.
Private evidence is retained under
`.runtime/audits/2026-09-21-ring-002-unbounded/`: audit script, per-check results,
UTC/monotonic audit bounds, input SHA-256 inventory and test logs. Every study
artifact, the raw MQTT capture, metadata, clocks and capture manifest were hashed
before and after inspection; they were unchanged. Raw data remains outside Git.
## Production result
- Reference length: **579.9827 m**; cumulative live travel at termination:
**580.0751 m**. Recorded reason: **`distance-limit`**.
- Route search: **810/810** fits, complete; selected anchor at **555 m** along
the reference. Worker wall time **127.93 s**, followed by three fresh
confirmation checks. First tracking receipt: **12:35:02.035 UTC**.
- Fresh checks: **101 accepted / 101**, comprising two acquiring decisions and
**99 tracking decisions** (the third confirmation establishes tracking).
No reinitialization or recovery attempt; no recorded pose receipt gap.
- Overlap within the 0.5 m evaluation radius: **98.27499.928%**, median
**99.644%**. Inlier surface RMSE: **0.13300.1580 m**, median **0.1416 m**.
- Successive accepted transform changes: maximum **0.0716 m / 0.2732°**.
These are consistency measurements, not surveyed pose errors.
- Local checks: median **0.450 s** worker time, maximum **0.900 s**;
median check interval **5.111 s**, maximum **6.564 s**. Maximum accepted
result age **3.112 s**, below the unchanged freshness gate.
- No LiDAR/pose queue overflow or oversize rejection. Camera preview dropped
1,271 superseded queue frames; this is a separate latest-frame video path,
not evidence of missing registration clouds.
- Last check at **12:43:25.926 UTC**, at sampled travel **578.815 m**, was
accepted and tracking. The distance branch terminated the study **238 ms**
later, at **12:43:26.164 UTC**. Capture finalization completed separately at
**12:44:51.043 UTC**. No scanner-stop command belongs to that distance branch.
The stop is therefore an execution-policy defect, not a failed geometric fit.
The reported black screen was not independently reproduced; saved aligned
geometry and the historical scene remain available. Browser telemetry is a
presentation-admission proxy, not a GPU-paint receipt.
## Correction and architecture boundary
`selected-live-route/v2` separates reference coverage from pass lifetime:
- The selected reference still defines where matching searches and validates.
- Distance remains telemetry. It does not consume a budget or end a pass,
including on detours, reversals, snakes or additional laps.
- New runs expose `maximum_distance_m: null` and `maximum_seconds: null`.
The live loop no longer reads a distance cap, including a retained legacy
finite field. Historical reports are not migrated or rewritten.
- Explicit study cancellation, source end/stop intent, changed source identity,
technical failure and service shutdown retain their existing semantics.
Quality/freshness loss still revokes tracking and invokes the existing
recovery path; removing the cap does not hold a false green status.
- Engineering recorded-replay bounds are unchanged. They limit an offline
experiment, not operator live travel.
Operator setup now contains project, full reference and direction, followed by
one **«Начать новый проход»** action. The entire **«Повторный проход»** section,
its mode switch, recorded-source fields and explanatory paragraphs are removed.
The workspace invokes only the live start and no longer mounts the recorded
comparison hook or requests its catalog. Existing saved comparisons and backend
engineering comparison APIs remain available. The admitted Design Guideline
Inspector and Button are reused; no new controls, styling or navigation added.
## Validation and limits
Functional fixtures exercise three traversals of the same route geometry with
travel equal to three reference lengths, including a finite legacy cap field.
They verify that source end, explicit study cancellation and source stop intent
still terminate and release leases without commanding capture. A second fixture
uses the real stationary bootstrap and causal gate, synthetic numeric fits, and
fresh accepted windows beyond three reference lengths. UI tests render the
actual settings, verify empty/busy/short-reference gates and the direct start.
Acceptance: **140 focused backend tests**, **888 frontend tests**, architecture
checks, TypeScript and the production build passed. The existing large-chunk
build warning remains. In-app browser QA on the canonical `8000` service verified
the empty form, full corrected reference, normal/expanded layouts, scrolling to
the start action and Escape. No start action was sent during browser QA. The
latest real ring result was left open, with its saved geometry visibly loaded.
The service was restarted while acquisition was idle and left healthy on `8000`,
with no Mission Core listener on `8765`.
SHA-256 comparison against the preceding handoff confirms unchanged entry
acquisition, full-route search/worker, stationary bootstrap, registration and
causal-tracking modules. Only lifetime policy/loop and the requested setup UI
were changed for this increment, alongside regression tests and this audit.
The observed physical ring supports continuous localization on this reference.
It does not establish absolute pose accuracy, unattended navigation/safety,
seasonal transfer, multi-kilometre capacity, or physical multi-lap acceptance.
No new device operation or change to route search, correction-map producers,
registration thresholds or scanner acquisition was made for this correction.