From 46cef8df172525da93f7406786377020285f9303 Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Wed, 26 Aug 2026 23:07:16 +0300 Subject: [PATCH] docs(perception): record full TGS shadow acceptance --- ...LITY_AND_STATIC_OBSTACLE_STACK_DECISION.md | 31 ++++-- ...9_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md | 94 +++++++++++++++++++ 2 files changed, 116 insertions(+), 9 deletions(-) create mode 100644 experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md diff --git a/docs/23_TRAVERSABILITY_AND_STATIC_OBSTACLE_STACK_DECISION.md b/docs/23_TRAVERSABILITY_AND_STATIC_OBSTACLE_STACK_DECISION.md index 6c5b033..ee2026e 100644 --- a/docs/23_TRAVERSABILITY_AND_STATIC_OBSTACLE_STACK_DECISION.md +++ b/docs/23_TRAVERSABILITY_AND_STATIC_OBSTACLE_STACK_DECISION.md @@ -332,6 +332,18 @@ in the canonical LAB as linked to the current M4 v3 recorded timeline. Publication adds no navigation or actuation authority. +The subsequent complete source-paced TGS-only shadow passed on `2026-08-26`. +It accounted for all `4,489` timeline frames and all `63,646,163` eligible +points, emitted the `561` missing-LiDAR frames as explicit all-cell +`UNOBSERVED`, sustained `10.003945 FPS`, measured TGS `p95/p99` at +`1.694/2.08973 ms`, completion-age `p99` at `41.42845548 ms`, and recorded zero +capacity drops. The immutable result and canonical LAB acceptance are recorded +in +[`experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md`](../experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md). +This accepts the CPU source-paced shadow and retains the candidate. It does not +accept visual traversability quality, integrated graph performance, navigation +or actuation. + ### T4 — Candidate C occupancy/ESDF probe - Run nvblox separately with RF-DETR disabled for the isolated probe. @@ -349,14 +361,15 @@ or actuation authority. ## Immediate next action -Review the published gravity-aligned TGS evidence pack across all ten anchors -in metric 3D/costmap space. Preserve +Review the published full gravity-aligned TGS timeline in camera, metric 3D and +costmap space. Preserve `GROUND_SUPPORT`, `NONGROUND_OCCUPIED`, `UNKNOWN_REJECTED` and `UNOBSERVED` as separate products; do not use AOS or infer free cells from absent -republication. Add diagnostic camera projection only after the metric evidence -is accepted. If occupied evidence carpets the route, soft traversable -vegetation or usable gaps, reject TGS without tuning it against the review -anchors; otherwise advance it to a full recorded-source shadow. Candidate A T2 -replay remains blocked by the failed unmodified T1 gate. No LOW-STEP tuning, -new object model, camera resize, fisheye rectification, manual dataset or -parallel heavy Worker job is authorized by this decision. +republication. Attach the unchanged candidate to the realtime world-state graph +in non-authoritative shadow mode and measure complete-graph FPS, latency, +resource use and queue drops. If occupied evidence carpets the route, soft +traversable vegetation or usable gaps, reject TGS without tuning it against the +review evidence. Candidate A T2 replay remains blocked by the failed unmodified +T1 gate. No LOW-STEP tuning, new object model, camera resize, fisheye +rectification, manual dataset or parallel heavy Worker job is authorized by +this decision. diff --git a/experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md b/experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md new file mode 100644 index 0000000..9eee2f4 --- /dev/null +++ b/experiments/perception/M49_TGS_FULL_SHADOW_ACCEPTANCE_2026-08-26.md @@ -0,0 +1,94 @@ +# M4.9T5 full source-paced TRAVEL TGS shadow — 2026-08-26 + +Status: **recorded source-paced CPU shadow accepted; candidate retained**. +Visual traversability quality, full-graph performance, navigation and actuation +remain unaccepted. + +## Decision + +The gravity-aligned TGS-only candidate completed the entire `RAVNOVES00` +recorded timeline on Worker 006. Every source timeline frame and every eligible +LiDAR point is represented. No frame was dropped for capacity, AOS was never +invoked, no GPU was requested and the canonical Triton container remained +healthy with the same identity. + +This accepts TGS as a bounded CPU shadow candidate. It does not yet make TGS a +navigation authority or prove that its occupied/ground interpretation is +correct for vegetation, terrain, gaps or the future vehicle envelope. + +## Frozen identity + +| Item | Identity | +| --- | --- | +| LAB result | `m49-tgs-full-shadow-0faeaaf3aba8dccae974eab51ff9cccf264a13ec285abb1920c1e5a09a7e87bc` | +| Worker run | `Worker 006 / ravnoves00-full-001` | +| Mission Core revision used by Worker | `40c850b167dda366d8aa45d828520168affaf9fd` | +| Deterministic Worker artifact | `5e0ea16c7a5cc760463836718b0cd8b0006ffc4b202e5f706a20a86ef2f912ab` | +| Source pack SHA-256 | `0685d24219d8236caf8b7f1685e93f6d6b59e7fd015a768d88a92bbe8b154944` | +| TGS config SHA-256 | `c2e07010aaee78259d36c057962d6bfb885349251ff7356d867e5813e632881c` | +| Linked visual result | `m4-threat-replay-2a953c5f27f2a5b1dddc5c658c1de2c323d7796084a099c024987a1da03aa324` | + +The profile is a `0.45 m`, `12 m` radius, `1 s` causal rolling +`map-gravity-local` costmap. The four states remain separate: +`GROUND_SUPPORT`, `NONGROUND_OCCUPIED`, `UNKNOWN_REJECTED` and `UNOBSERVED`. + +## Full-run result + +| Measurement | Result | +| --- | ---: | +| Timeline | `4,489 / 4,489` frames | +| LiDAR available / missing | `3,928 / 561` | +| Recorded duration / effective rate | `448.623 s / 10.003945 FPS` | +| Eligible points | `63,646,163` | +| Ground / non-ground / rejected | `16,579,467 / 47,046,815 / 19,881` | +| Unaccounted points | `0` | +| TGS p50 / p95 / p99 / max | `1.190 / 1.694 / 2.08973 / 9.106 ms` | +| Completion age p50 / p95 / p99 / max | `17.920792 / 29.140775 / 41.428455 / 659.980295 ms` | +| Capacity drops | `0` | +| Worker wrapper wall time | `569.401084 s` | + +All formal source-paced, point-accounting and capacity gates passed. The +completion-age maximum is retained as an outlier; the accepted gate is the +measured `p99 = 41.43 ms`, not the maximum. + +## Fail-closed behavior + +The `561` timeline frames without a LiDAR sample are not removed, interpolated +or copied from the preceding frame. Each is emitted as a complete `2,244`-cell +costmap with all states explicitly `UNOBSERVED`, zero occupied cells and zero +source points. This preserves chronology without inventing free space. + +## Canonical LAB publication and UI acceptance + +The immutable result is published on the canonical Mission Core service at +port `8000`. The LAB reuses the recorded camera timeline and exposes independent +`SOURCE POINTS`, `TGS COSTMAP`, `3D` and `PLAN` controls. + +The first implementation fetched one large JSON frame at a time. Browser QA +showed that this was only intermittently exact at `1×`. The published viewer +therefore uses immutable chunks of `24` spatial frames and prefetches the next +chunk. A final `1×` browser acceptance sampled twenty consecutive positions +across chunk boundaries: all twenty displayed the exact TGS frame and none +showed the loading placeholder. A real missing-LiDAR frame was separately +accepted with `0 source points`, `2,244 unobserved`, `0 occupied` and no retained +previous cloud. + +## Sealed evidence + +| File | Bytes | SHA-256 | +| --- | ---: | --- | +| `costmap-states.npy` | `10,073,444` | `4173f8b6b743755d6d6cbd863c433fe44853974bdd4898002e08574a65783a1a` | +| `costmap-z-bounds-m.npy` | `80,586,656` | `f8d68b5ca09860ef857a22e15e114bbeabde32492d5c821ee59dfa62ae40373a` | +| `frames.ndjson` | `1,178,262` | `878e20806d55cdc1fa16692397e11a0e56af760a83c173c8fc73319a39b0e779` | +| `worker-summary.json` | `1,076` | `487d4be6f3d724bca647aa2e48ba89e7ffd0c78f1bfc5e7e5a01e1db82379dc7` | + +## Next gate + +Attach this unchanged TGS stage to the realtime world-state graph in shadow +mode alongside the frozen camera semantic-risk provider. Measure complete-graph +FPS, end-to-end latency, CPU/GPU/VRAM and queue drops against the accepted +baseline. Keep navigation authority off. In parallel, review the full camera + +source cloud + TGS timeline for false occupied carpets, missed compact +obstacles, vegetation and usable gaps. Only the combination of acceptable +visual behavior and acceptable integrated-graph regression can promote the +candidate beyond shadow.