docs(perception): record TRAVEL upstream qualification

This commit is contained in:
DCCONSTRUCTIONS
2026-08-26 19:06:56 +03:00
parent 67578f4ce1
commit b0738438d4
2 changed files with 112 additions and 4 deletions
@@ -304,6 +304,13 @@ Candidate A receives no replay or runtime authority in this revision set.
- Stop if Candidate A already passes and TRAVEL adds no measurable value that
justifies GPL runtime implications.
The upstream T3 qualification passed on `2026-08-26`: exact-source KITTI
regression was bit-identical to the committed gold result, the standalone
example produced all outputs and the ROS 2 Jazzy node was discoverable. See
[`experiments/perception/M49_T3_TRAVEL_UPSTREAM_QUALIFICATION_2026-08-26.md`](../experiments/perception/M49_T3_TRAVEL_UPSTREAM_QUALIFICATION_2026-08-26.md).
RAVNOVES00 replay remains gated on scan-model compatibility and the GPL runtime
boundary.
### T4 — Candidate C occupancy/ESDF probe
- Run nvblox separately with RF-DETR disabled for the isolated probe.
@@ -321,7 +328,9 @@ Candidate A receives no replay or runtime authority in this revision set.
## Immediate next action
Run the isolated upstream qualification for Candidate B, TRAVEL. Candidate A
T2 replay is 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.
Verify TRAVEL's spinning-scan assumptions against the bounded causal
RAVNOVES00 `lio_pcl` representation, then build the recorded-replay adapter if
the required information exists. 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.
@@ -0,0 +1,99 @@
# M4.9 T3 TRAVEL upstream qualification — 2026-08-26
Status: **upstream candidate qualified**; RAVNOVES00 quality, realtime,
navigation and actuation remain disabled
## Decision
The frozen TRAVEL revision builds and passes its official C++ regression path
on Worker 006. The run also passes the standalone example smoke and produces a
discoverable ROS 2 Jazzy `travel_node`.
This accepts TRAVEL for the next recorded-replay compatibility gate. It does
not yet accept the RAVNOVES00 `lio_pcl` representation, Mission Core latency,
vegetation handling, obstacle quality, navigation or control.
## Frozen identity
| Item | Identity |
| --- | --- |
| TRAVEL source | `95dc2fbd66a343efd9060c45a5711b6307a950a4` |
| Mission Core qualification source | `67578f4ce16316dbaa562cba466ca9ab820fa380` |
| Deterministic Worker artifact | `01cb4954de748d2e23567734a5dc5043ebfa7d1596313c3ddba792fa94ac3cb7` |
| Worker image | `sha256:7b412020f4d8392d1d1ed1b33beadc44140f0ea8f781e62dd69796042334300f` |
| Image size | `1,030,088,960` bytes |
| KITTI fixture | `1,994,688` bytes; SHA-256 `bf272996d5b6d25cc5589e1089137cb20a98b63bd4823a7fea5631b359f6d68c` |
| Committed gold result | SHA-256 `8aaacaa57d17a8a2f043c3ea0a0c134d36a3c50da2385f2364ca4eff53ea9b9f` |
The release artifact was built twice with identical SHA-256, copied into a new
Worker release directory and verified again before extraction. The run used
the exact upstream revision and did not modify its source.
## Upstream result
- `124,668` KITTI points loaded.
- Official C++ regression output was bit-identical to the committed gold dump.
- Ground segmentation produced `70,175` ground and `54,462` non-ground points.
- Above-ground clustering received `54,462` points, projected `47,311`,
labeled `45,792` and produced `185` canonical clusters in the regression
representation.
- The standalone example wrote non-empty ground, non-ground and labeled
outputs.
- ROS 2 Jazzy discovered `travel_ros travel_node` from the isolated merged
install.
The example prints `The # of point clouds and # of labels are not same`
because the official smoke fixture intentionally contains a Velodyne frame but
no optional KITTI labels directory. The example returns success and writes all
three required outputs; the official upstream CI uses the same unlabeled smoke
shape. This diagnostic is recorded rather than hidden.
## Timing and memory
| Measurement | Observation |
| --- | ---: |
| Worker image build | `290.528115 s` |
| Worker qualification wrapper | `1.667882 s` |
| Sealed in-container qualification section | `617 ms` |
| C++ bit-regression wall time | `0.04 s` |
| C++ bit-regression maximum RSS | `39,504 KiB` |
| Reported TGS time | `11.168 ms` |
| Reported AOS range-map / clustering / post stages | `3 / 6 / 1 ms` |
These numbers are promising but are not Mission Core realtime acceptance. They
cover one native KITTI scan and include neither RAVNOVES00 causal support
assembly nor pose transforms, camera arbitration, costmap publication or full
graph load.
## Sealed evidence
Worker output root:
`D:\NDC_MISSIONCORE\runtime\results\m49-t3-travel\upstream-001`
| File | Bytes | SHA-256 |
| --- | ---: | --- |
| `result.json` | `674` | `d3fb582b96f907c92156767bf0186fa565897f593bcfd89943ad6a639c0aed38` |
| `worker-summary.json` | `824` | `baedc1b292691be50c5ef70169df1ff43f99f0e122f527a557a599a906a90d28` |
| `qualification.log` | `3,557` | `7dc5b8ecb1cb8ad91fc08edbfcc6ab818e4524e271b0524bb02914cf5f96d933` |
| `resource.txt` | `893` | `dc5638295170cb1edd9c16e2c4ae9b53a89b22b014d27a847c127d6b9afa541c` |
After capture, the candidate container and one-shot scheduled task were absent.
Canonical `ndc-mission-core-triton` remained `running/healthy`. The build and
qualification requested no CUDA, Vulkan or GPU lease; the concurrent Frigate
GPU allocation was not modified.
## Compatibility gate before RAVNOVES00 replay
TRAVEL's accepted KITTI profile assumes an organized spinning-LiDAR geometry
(`64` vertical scans, `4,500` horizontal bins and a fixed vertical angle
range). RAVNOVES00 supplies registered vendor-map increments rather than one
conventional complete raw scan per video frame. The next step must therefore
prove that a bounded causal body-frame representation preserves the angular
and temporal information TRAVEL requires. Missing returns may not be invented,
treated as free, or filled from future frames.
TRAVEL remains GPL-3.0-or-later and is evaluation-only until a separate
distribution decision. Camera semantics remain primary for material meaning;
LiDAR/TRAVEL remains metric evidence and cannot independently declare tall
vegetation traversable.