feat: qualify complete K1 replay on worker

This commit is contained in:
DCCONSTRUCTIONS
2026-07-26 10:11:56 +03:00
parent a1e2cb523f
commit 36ea7ea3d8
17 changed files with 1212 additions and 118 deletions
+65 -44
View File
@@ -5,7 +5,7 @@ Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B
complete; full GOOSE and RELLIS qualification complete; L2.6d K1 replay
local-surface temporal qualification, operator triage and prior-plane residual
explainability implemented; L2.6e recorded-source-paced bounded shadow
qualified; physical K1 shadow next
qualified; E28 complete worker replay accepted; dynamic-observation layer next
Scope: passively received real-time K1 point/pose evidence, immutable replay and
future live shadow processing
Explicitly out of scope: K1 firmware modification, a new onboard exporter, new
@@ -423,8 +423,10 @@ Dataset expansion is no longer the next gate.
- [x] Replay the same profile through a bounded latest-wins shadow queue at the
recorded 1× source rate; no K1 command, navigation or safety authority is
added.
- [ ] Bind that runtime to physical live K1 point/pose evidence through the
existing authenticated external-worker seam.
- [x] Bind the complete raw replay to the normalizer, point/pose binder and
bounded estimator through the authenticated external-worker seam.
- [ ] Commission the same seam against physical live K1 evidence only when
hardware/network behavior becomes the test subject.
The implemented `missioncore.k1-local-surface/v1` derivative is reproducible
through `experiments/perception/run_k1_local_surface.py` and is exposed
@@ -437,36 +439,40 @@ local-discontinuity candidates. The candidates are not semantic curb
recognition or ground truth. The React contract is provider-neutral; K1 remains
a bound backend source rather than UI implementation knowledge.
The complete RAVNOVES00 run covered all `526/526` available LiDAR samples.
There were zero stale-pose, insufficient-surface or failed-fit frames. Observed
diagnostic distributions are: derived sensor-to-surface height `1.295 m` p50,
roughness `0.054 m` p95, slope `3.172°` p95 and pose-binding age `19.113 ms`
p95. These values describe this recording only; they are not calibration,
ground truth or a navigation gate.
The complete RAVNOVES00 pack contains `4,489` timeline frames and `9,207,270`
points. `3,928` frames carry available LiDAR evidence and all `3,928` produced
a valid result; `561` timeline frames are explicitly unavailable. There were
zero stale-pose, insufficient-surface or failed-fit frames. Observed diagnostic
distributions are: derived sensor-to-surface height `1.2816 m` p50, roughness
`0.06736 m` p95, slope `4.1895°` p95 and pose-binding age `21.8545 ms` p95.
These values describe this recording only; they are not calibration, ground
truth or a navigation gate.
The L2.6b qualification scores each available frame against a local plane built
only from the preceding TTL window; the frame being scored is excluded from
the prediction input. It produced `525` independent next-frame samples. The
distribution of per-frame median absolute residual has `0.038543 m` p50 and
`0.050398 m` p95. Prediction inlier fraction has `0.96354` p50 and `0.95133`
mean. The temporal comparison detected `12/525` strict-threshold jumps; height
delta is `0.022887 m` p95, slope delta `0.09572°` p95 and roughness delta
`0.003317 m` p95.
the prediction input. It produced `3,927` independent next-frame samples. The
distribution of per-frame median absolute residual has `0.04065 m` p50 and
`0.07304 m` p95. Prediction inlier fraction has `0.94643` p50 and `0.91937`
mean. The temporal comparison detected `205/3,927` strict-threshold jumps;
height delta is `0.02891 m` p95, slope delta `0.12410°` p95 and roughness
delta `0.00520 m` p95.
The central surface is therefore repeatable at roughly four-centimetre median
error on this replay. The tail is not yet planner evidence: the distribution
of per-frame p95 residual has `0.41496 m` p95 and reaches `1.083 m`. Step/curb
candidates occur in every available frame (`68.5` cells and `83` points p50),
of per-frame p95 residual has `0.66193 m` p95 and reaches `1.735 m`. Step/curb
candidates occur in every available frame (`75` cells and `99` points p50),
which proves that the review layer is active but also that it is broad and
still requires independent review. Free space remains unavailable; none of
these metrics grants navigation, command or safety authority.
The `missioncore.k1-local-surface-review/v1` triage contract selects a frame
The earlier content-bound `526`-frame review generation is retained for
operator evidence and regression history. Its
`missioncore.k1-local-surface-review/v1` triage contract selects a frame
when its prediction p95 residual is at least `0.45 m`, prediction inlier
fraction falls below `85%`, or one of the content-bound temporal thresholds is
crossed. It groups observations separated by no more than two frames into one
episode and ranks threshold exceedance without changing the source artifact.
RAVNOVES00 produced `37` review frames in `21` episodes: `18` prediction-tail
That reviewed slice produced `37` review frames in `21` episodes: `18` prediction-tail
frames, `14` inlier drops and `12` height transitions. Four frames have a
normalized attention score of at least `2.0`.
@@ -517,7 +523,7 @@ immutable replay derivative: zero state, point-class or step-candidate
mismatches and zero scalar delta. The accepted result is
`k1-local-surface-shadow-04f14d8c580f74cbd5b0a452867563ebc6b3ef93d872129e4918680932253ab7`.
The authenticated external worker now contains the next bounded seam.
The authenticated external worker now contains the accepted bounded seam.
`missioncore.k1-local-surface-pose-binder/v1` accepts decoded map-frame
`lio_pcl` and `lio_pose` in either arrival order, binds by bounded worker
host-arrival time, and publishes only matched pairs to the capacity-two
@@ -527,18 +533,28 @@ counts every point frame; the final report records pose-binding misses,
binder/runtime overflow, exact queue accounting, processing failures and p95
result age.
The pinned physical profile is
`experiments/perception/worker/e28_physical_k1_local_surface_profile.json`.
It requires at least `100` bound frames, at most `5%` pose misses, `1%` binder
point replacement, `1%` runtime replacement and `80 ms` p95 worker-local
result age. The existing D-only PowerShell worker launcher accepts this
physical profile and verifies that the minimal hash-addressed package contains
the local-surface geometry, binder/runtime and ground primitives.
The pinned profile is
`experiments/perception/worker/e28_worker_replay_local_surface_profile.json`.
It separates a lossless depth-eight authenticated LiDAR ingress from the
freshness-first capacity-two estimator. The acceptance gate requires at least
`9 Hz`, no more than `100 ms` p95 result age, at most `8%` explicitly
superseded estimator inputs, at most `5%` pose misses, at most `1%` binder
replacement, exact queue accounting and shadow-only authority.
This is implementation readiness, not a physical result. The next gate is to
build and stage the new content-addressed worker package on D, execute the
profile against an attached K1 and retain the generated report. Commands,
free-space, navigation and safety authority remain disabled.
LAB E28 executed the complete recording on `mission-gpu` through the normal
authenticated wire. All `4,570` LiDAR and `4,598` pose events arrived with
zero sequence gaps; all `4,570` point frames bound with no miss or binder
replacement. The worker persisted `4,206` results, explicitly superseded
`364/4,570` inputs (`7.965%`), delivered `9.1945 Hz`, and measured
`89.530 ms` full p95 result age. Processing p95 was `45.470 ms`; failures were
zero. The accepted result is
`e28-local-surface-wire-e1b0902d502267aff5f0bf78365b24967f98c83d7c1e6bb0f9dc2934c0684ceb`.
This is a worker replay result, not a physical acquisition result. The next
gate is a separate dynamic-observation layer plus explicit staleness/deadline
health. Physical K1 execution is deferred until hardware-clock, field-network
or acquisition behavior is the test subject. Commands, free-space, navigation
and safety authority remain disabled.
Exit: one immutable K1 session yields both a persistent reconstruction and a
bounded local world state without hard-coded terrain height or scanner-side
@@ -563,10 +579,12 @@ independent gate without increasing unsafe false-free or false-dynamic output.
- [x] Add a provider-neutral bounded LiDAR local-surface queue independent of
camera cadence and qualify it at recorded 1× source pace.
- [x] Bind authenticated decoded physical `lio_pcl + lio_pose` to that queue
with bounded buffers, exact accounting and a pinned physical acceptance
- [x] Bind authenticated decoded replay `lio_pcl + lio_pose` to that queue
with bounded buffers, exact accounting and a pinned worker acceptance
profile.
- [ ] Run the accepted K1 local-surface/local-map profile on the NVIDIA worker.
- [x] Run the complete accepted K1 local-surface profile on the NVIDIA worker.
- [ ] Commission physical K1 acquisition separately; do not block replay
development on device presence.
- [ ] Fuse K1 geometric evidence with E26 camera evidence as independent
sources; a LiDAR-native detector remains optional.
- [ ] Publish `agree`, `single-source`, `conflict` and `unknown`; unknown remains
@@ -625,15 +643,18 @@ natural-ground recall from `51.76%` to `76.22%` and stays below `23.41 ms` p95
across 961 frames. Full RELLIS qualification covers `2,413` validation frames
and rejects Patchwork++ because the small Ground-IoU gain came with unacceptable
obstacle loss. Public-dataset ground qualification is therefore complete
enough for the current decision. The first K1 local-surface replay slice now
covers all available `RAVNOVES00` samples and is visible in the operator
interface. Leave-current-frame-out temporal qualification now covers `525`
samples: the median surface error is stable, while the p95 tail remains too
large for a free-space claim. Deterministic triage has reduced the first manual
inspection set to four high-priority frames in two episodes. Prior-plane
residual explainability now shows that episode `09` is a localized positive
structure rather than symmetric plane drift. The highest-value immediate work
is therefore the physical K1 run through the now-implemented bounded
live-shadow seam, followed by a separate dynamic-observation layer. Nvblox,
enough for the current decision. The complete K1 local-surface derivative now
covers `4,489` timeline frames, including `3,928` available LiDAR frames, and
is visible in the operator interface. Leave-current-frame-out temporal
qualification covers `3,927` samples: the median surface error is stable,
while the p95 tail remains too large for a free-space claim. The retained
review generation reduces its first manual inspection set to four
high-priority frames in two episodes. Prior-plane residual explainability
shows that episode `09` is a localized positive structure rather than
symmetric plane drift. The complete worker replay proves the bounded
live-shadow seam at `9.1945 Hz` and `89.530 ms` p95 result age without a
connected scanner. The highest-value immediate work is therefore the separate
dynamic-observation and staleness-health layer. Physical K1 commissioning
follows only when hardware behavior is in scope. Nvblox,
raw-scan detectors and alternative SLAM remain optional later gates because the
current report contract does not carry their required ray/timing semantics.
+14 -9
View File
@@ -49,11 +49,13 @@ Implemented now:
- a content-addressed `missioncore.k1-local-surface/v1` replay derivative over
immutable `RAVNOVES00`, with dynamic height/slope/roughness/confidence,
explicit pose-binding age and conservative observed occupied/unknown policy;
- leave-current-frame-out next-frame qualification over `525` samples,
temporal jump evidence and unverified local-discontinuity candidates;
- a complete `4,489`-frame timeline derivative with `3,928` valid LiDAR
results, `9,207,270` points and leave-current-frame-out qualification over
`3,927` samples;
- deterministic `missioncore.k1-local-surface-review/v1` replay triage:
`37` attention frames grouped into `21` episodes, with four
high-priority frames and direct source-frame navigation;
the retained `526`-frame review generation has `37` attention frames grouped
into `21` episodes, with four high-priority frames and direct source-frame
navigation;
- point/cell-aligned prediction evidence in
`missioncore.k1-local-surface-frame/v2`: the prior-only plane, current
lower-cell coordinates, signed residual and derived inlier mask are
@@ -61,6 +63,9 @@ Implemented now:
- a provider-neutral read-only local-surface view in
**Парк → Диагностика LiDAR**, synchronized to the five existing
RAVNOVES00 scene selectors and a clickable complete-recording timeline;
- a complete recorded-host-paced 1× worker replay through authenticated
ingress, K1 normalization, point/pose binding and a bounded latest-wins
surface estimator: `4,206` results at `9.1945 Hz` and `89.530 ms` p95 age;
- worker storage admission for `D:\NDC_MISSIONCORE\datasets` and
`/mnt/d/NDC_MISSIONCORE/datasets`;
- a dedicated, honest dataset catalog in **Полигон → Датасеты**;
@@ -93,11 +98,11 @@ Not implemented:
- no RELLIS ROS bag admission, continuous synchronized playback or production
promotion;
- no ray-cleared free-space or planner-authoritative rolling occupancy map;
- the accepted K1 local-surface profile now passes a 15-second
recorded-source-paced bounded shadow gate; authenticated physical
`lio_pcl + lio_pose` binding and its pinned acceptance profile are
implemented, but no attached-K1 run has qualified them yet. The residual
overlay remains non-authoritative.
- the accepted K1 local-surface profile now passes both the historical
15-second equivalence gate and the complete external-worker replay gate.
Physical K1 acquisition, hardware-clock and field-network commissioning
remain separate and intentionally unqualified. The residual overlay remains
non-authoritative.
## Product surface boundary