feat: add local surface review triage

This commit is contained in:
DCCONSTRUCTIONS
2026-07-26 00:11:42 +03:00
parent 3449b2bc3e
commit c6c48fbc38
12 changed files with 1273 additions and 33 deletions
+37 -10
View File
@@ -2,9 +2,9 @@
Date: 2026-07-25
Status: accepted architecture plan; L0/L1 implemented; L2 diagnostic A/B
complete; full GOOSE and RELLIS qualification complete; L2.6b K1 replay
local-surface temporal qualification implemented; operator review and live
shadow next
complete; full GOOSE and RELLIS qualification complete; L2.6c K1 replay
local-surface temporal qualification and operator triage implemented;
residual explainability and live shadow 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
@@ -411,6 +411,12 @@ Dataset expansion is no longer the next gate.
layer with source, confidence, freshness and conflict fields.
- [x] Qualify next-frame prediction and temporal stability with the evaluated
frame excluded from prediction input.
- [x] Publish a deterministic, read-only operator queue for temporal
transitions and heavy prediction tails, with source-frame navigation and no
safety authority.
- [ ] Preserve the prior prediction plane and point/cell-aligned residual
evidence so a selected tail can be explained spatially instead of only by an
aggregate p95.
- [ ] Complete the remaining qualification report with per-frame latency,
point age, obstacle preservation and memory growth.
- [ ] Replay the same profiles through a bounded latest-wins live-shadow queue;
@@ -418,8 +424,8 @@ Dataset expansion is no longer the next gate.
The implemented `missioncore.k1-local-surface/v1` derivative is reproducible
through `experiments/perception/run_k1_local_surface.py` and is exposed
read-only through `GET /api/v1/lidar/local-surfaces` plus the bound frame
and timeline endpoints. **Парк → Диагностика LiDAR** reuses the five
read-only through `GET /api/v1/lidar/local-surfaces` plus the bound frame,
timeline and review endpoints. **Парк → Диагностика LiDAR** reuses the five
RAVNOVES00 scene selectors and also exposes a clickable timeline over the
complete recording. The selected source frame shows observed surface, observed
occupied-above-surface, negative outlier, unclassified evidence and yellow
@@ -451,6 +457,26 @@ 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
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
frames, `14` inlier drops and `12` height transitions. Four frames have a
normalized attention score of at least `2.0`.
The four highest-priority frames are concentrated in two episodes. Source
frame `1195` crosses height, slope and roughness thresholds together; the new
surface regime remains on `1196`, so the evidence is a sustained transition,
not merely a one-frame numerical spike. Source frames `12531254` reach
`1.0471.083 m` p95 residual and `68.063.3%` inliers while the fitted global
surface remains stable. This separates a local prediction-tail problem from a
global plane-transition problem. The recording has no independent ground truth
for either episode, so the UI calls them review evidence rather than algorithm
failures. The next replay slice must retain and display the prior-plane
cell/point residuals before changing fit thresholds or entering live shadow.
Exit: one immutable K1 session yields both a persistent reconstruction and a
bounded local world state without hard-coded terrain height or scanner-side
changes.
@@ -536,8 +562,9 @@ 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. The highest-value immediate work is review of the
`12` temporal jumps and worst prediction tails, then a bounded live-shadow
queue and separate dynamic-observation layer. Nvblox, raw-scan detectors and
alternative SLAM remain optional later gates because the current report
contract does not carry their required ray/timing semantics.
large for a free-space claim. Deterministic triage has reduced the first manual
inspection set to four high-priority frames in two episodes. The highest-value
immediate work is prior-plane residual explainability for those episodes, then
a bounded live-shadow queue and separate dynamic-observation layer. Nvblox,
raw-scan detectors and alternative SLAM remain optional later gates because the
current report contract does not carry their required ray/timing semantics.
+5
View File
@@ -51,6 +51,9 @@ Implemented now:
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;
- 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;
- a provider-neutral read-only local-surface view in
**Парк → Диагностика LiDAR**, synchronized to the five existing
RAVNOVES00 scene selectors and a clickable complete-recording timeline;
@@ -86,6 +89,8 @@ Not implemented:
- no RELLIS ROS bag admission, continuous synchronized playback or production
promotion;
- no ray-cleared free-space or planner-authoritative rolling occupancy map.
- no point/cell-aligned prior-plane residual overlay yet; aggregate tail
evidence is not enough to identify its physical cause.
## Product surface boundary