Files
NODEDC_MISSION_CORE/docs/audits/2026-09-20-physical-repeat-007-100m-results.md
T
DCCONSTRUCTIONS e515ab1b8c feat(planning): consolidate recorded-route localization and spatial scene
Preserve the completed teach-and-repeat laboratory stage: reference preparation, cascaded acquisition, local tracking and recovery, recording lifecycle, replay qualification, and persistent Rerun scene controls. Document the open grid-picking regression and Rerun upgrade contract. No autonomous driving or loop-closure optimization is claimed.
2026-09-21 08:47:19 +03:00

143 lines
8.0 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.
# Physical repeat `ja-sun-007-100m` — read-only acceptance review
Reviewed on 2026-09-20 after the operator reported a successful approximately
100 m walk. This is a retained-data inspection, not a replay, new capture,
device operation, algorithm change, or navigation acceptance. No Ops mutations.
## Identity and integrity
- Live run: `ac07a83a-f784-4d31-a908-d1fd526921b4`.
- Query: `20260920T054444Z_viewer_live`, generation 1, display name
`ja-sun-007-100m`; do not confuse it with the earlier unsuccessful `ja-sun-007`.
- Reference: `JA-SADOVAYA-001`, `20260911T085226Z_viewer_live`.
- Draft: `672c1d9f-b817-4b78-b84c-b34a4edc0870`, revision 1.
- Selected route: indices 01320, length 102.59360280377184 m; context map
indices 01516, `route-context-map/v2`.
- All 133 declared run artifact hashes verified against `report.json`.
- Raw capture SHA-256:
`1c8161b2d2e22ecb98ccd1bbe04f1dc348b8d79b1cab1a2cf94dcecf58ea929c`.
- Metadata SHA-256:
`8c8caa3e293fa459e423c815a08c84ced20433cefb55eb81d018e245dd1c5783`.
- Raw and metadata hashes verified, all 3,858 message payload hashes verified;
full streaming decoding found zero pose/cloud decode errors.
- Empty recovery journal and clock origin verified. The summary declares the
**sealed session clock**
`mqtt.timeline.session-de7e1779fa341e2e81e0943d8523f09fc1003a0528b2f0342fa4ec86334d445b.json`;
its digest matches. The mutable transport `mqtt.timeline.json` is a different
envelope and must not be compared to the session-clock digest.
- Query raw data contains 1,625 poses, 1,624 clouds and 5,573,004 cloud points.
Capture summary records no rejected messages, recoveries, or transport error.
Evidence root is the canonical `NODEDC_MISSION_CORE/.runtime/mission-core`:
run artifacts under `missions/live-tests/<run-id>/`, raw source under
`evidence/sessions/<query-id>/`. Private raw evidence remains outside Git.
## Timeline and registration
Times below are UTC; local operator time is UTC+3. Durations were calculated
from retained monotonic timestamps.
| Event | UTC |
| --- | --- |
| First pose / first cloud | 05:45:11.013 / 05:45:11.024 |
| Stationary prefix complete; initial search starts | 05:45:21.048 |
| Provisional initial match complete | 05:45:36.390 |
| First fresh validation accepted | 05:45:38.881 |
| Third fresh validation; tracking established | 05:45:49.087 |
| Last fresh validation accepted | 05:47:41.109 |
| Selected route distance reached; tracking authority cleared | 05:47:43.034 |
| Run completed | 05:47:43.039 |
| Operator STOP correlated response | 05:47:53.360 |
| Last raw pose / cloud | 05:47:53.585 / 05:47:53.592 |
Tracking established 38.076 s after the first pose. The initial search took
15.337 s wall time and only supplied a provisional prior; it is not counted as
an accepted fresh validation. All **25/25** fresh validations were accepted;
there was no rejection, reacquisition, receipt-gap segment change, or loss
between acquiring tracking and completing the selected distance.
| Fresh-validation metric | Minimum | Median | Maximum |
| --- | ---: | ---: | ---: |
| Overlap | 96.658% | 98.497% | 99.638% |
| Inlier surface RMSE | 0.13956 m | 0.15095 m | 0.16728 m |
| Worker wall time | 0.26009 s | 0.35009 s | 0.47530 s |
| Latest input age at acceptance | 0.30952 s | 0.65603 s | 0.92065 s |
| Change at current query position between accepted transforms | 0.00710 m | 0.01281 m | 0.03758 m |
| Full rotation change between accepted transforms | 0.04392° | 0.13181° | 0.30600° |
The transform yaw ranges from 4.0242° to 4.4371°, a span of 0.4129°.
This is the relationship between session frames, **not** an independently
measured heading error. Similarly, overlap and inlier RMSE describe agreement
of matched surfaces, not ground-truth rover position accuracy.
Final fit overlap is 98.390%, RMSE 0.13956 m. Its sampled accumulated distance
is 98.463 m; the run continues using that fresh accepted alignment until
102.594 m, approximately two seconds later. Do not describe every metre of the
last interval as separately re-registered.
Termination is `distance-limit`: the **operator-selected route length**,
not a restored hard-coded 100 m cap. `selected-live-route/v1` has no fixed
maximum route length or time ceiling. Terminal `tracking_state=lost` is the
intentional revocation at completion, not an in-motion localization loss.
The raw recording continued for about ten seconds after the planning run:
scanner-reported distance at run end was 102.572 m, final scanner distance
104.463 m. Summing all raw positional increments gives 104.912 m, a different
metric from the planner's 5 cm filtered path accumulator.
## Cloud delivery and retained visual evidence
- Raw pose/cloud average cadence is approximately 10 Hz, including during
tracking. It is not uniformly spaced.
- During tracking, cloud gap p50/p95/max = 0.08162/0.24342/1.00042 s;
pose gap p50/p95/max = 0.08123/0.23606/1.65884 s.
- No raw pose/cloud gap exceeds 2 s. Across the full capture the longest cloud
gap is 1.06501 s. Maximum adjacent raw pose displacement is 0.12333 m; the
large timing gaps do not correspond to a coordinate teleport.
- At run completion the planning ingress reports lidar 1,521 published,
1,492 consumed, 27 overflow drops and 2 queued; pose 1,522 published,
1,519 consumed, 2 overflow drops and 1 queued. Raw recording is independently
retained; these counts must not be equated with raw file loss.
- Fast display accepted 1,484 cloud updates. Final rolling display has 20 chunks
and 39,238 points. It intentionally does not accumulate the entire route cloud.
- A read-only scan of the service access log found 1,703 requests for this run's
scene delta endpoint: 926 HTTP 200, 777 HTTP 204, no HTTP errors, one base
request. All observed requests kept reference/query/trajectory enabled in 3D.
- Request cursors include **802 distinct live cloud revisions**, 842 distinct
live pose sequences, and 25 distinct fit-evidence sequences. From the client
implementation, subsequent cursors follow a successful `send_rrd` call.
This supports repeated native-channel delivery, not merely production of
backend snapshots. Counts are aggregate access-log evidence, not per-display
frame timing or a GPU presentation acknowledgment.
- There is no retained measurement of actual browser paint FPS or end-to-end
visible latency. The operator's uncertain visual impression cannot be closed
as “smooth real time” from these counters alone. Green correspondence evidence
changes with the approximately five-second fit, separately from fast cloud.
The camera archive summary is complete, with 1,534 segments and no failure
code. Camera media was not fully decoded or independently hash-verified in this
review, so no stronger video continuity/presentation claim is made.
## Decision and remaining boundary
Positive physical laboratory result: stationary acquisition and continuing
registration work across the selected approximately 100 m route. Quality did
not collapse with distance, and the earlier reported approximately 10° sudden
misalignment is not reproduced in the retained accepted transforms.
Fast cloud delivery is physically evidenced beyond the previous offline
qualification, but subjective/paint-level visual acceptance remains open.
Ingress drops and occasional 11.66 s input pauses are real limitations to
measure, not grounds to call the entire acquisition smooth.
This does not establish arbitrary-start relocalization, robustness across
mounting configurations, independent absolute localization accuracy, or an
acceptable navigation freshness/stopping budget. The laboratory still retains
`localization_confirmed=false`, `vehicle_control=false`; the 8 s alignment age
gate is not a vehicle safety criterion. A longer walk alone does not close those
questions. Next useful acceptance is repeated starts with known offsets and a
controlled observation of cloud/pose presentation and stale-input behavior.
Only this audit was added. No implementation, runtime configuration, device,
recording, Ops card, or service lifecycle was changed during review.