feat(perception): complete E32 full replay
This commit is contained in:
@@ -645,19 +645,26 @@ with a complete `missioncore.laboratory-method/v1` manifest.
|
||||
The current E30 AI-assisted engineering generation is
|
||||
`e30-engineering-generation-62a4fea10dea9b77f69ceac1af5bf0e4928d9c7716083c22258a03670fe5bd4f`.
|
||||
It covers all `486` selected items: `403` confirmed, `81` corrected and `2`
|
||||
retained as `insufficient-evidence` human exceptions. The earlier five-case
|
||||
generation and its human draft remain immutable history. Frames 1213, 162 and
|
||||
1823 are now automatic engineering outcomes; only geometry frames 2622 and
|
||||
4147 require a human decision. It found no systematic camera↔LiDAR
|
||||
registration failure in the review set. The dominant actionable signals are
|
||||
detector errors (`110`, including barrier false positives and 21 missed
|
||||
class-bearing objects), sparse occupied support (`98`), held-track time
|
||||
freshness (`92`) and self points (`10`). This is diagnostic engineering
|
||||
evidence, not human ground truth, detection accuracy or safety acceptance. The
|
||||
exception budget is 1% only for diagnostic residual work and never overrides a
|
||||
repeated-cause or high-impact blocker. The current queue is `2 / 486` (`0.41%`);
|
||||
E31 remains blocked until those two decisions freeze the E30 minimum correction
|
||||
set.
|
||||
initially routed human exceptions. The immutable human generation
|
||||
`e30-review-generation-7982a882558d0be690b4c7092e328c080bfcbf52478a220452be7e887a588250`
|
||||
closes both: geometry `2622:4` is background/noise and `4147:3` is a real
|
||||
occupied object. The earlier five-case generation and drafts remain immutable
|
||||
history. E30 found no systematic camera↔LiDAR registration failure in the
|
||||
review set. The dominant actionable signals remain detector errors (`110`,
|
||||
including barrier false positives and 21 missed class-bearing objects), sparse
|
||||
occupied support (`98`), held-track time freshness (`92`) and self points
|
||||
(`10`). This is diagnostic engineering evidence, not human ground truth,
|
||||
detection accuracy or safety acceptance.
|
||||
|
||||
E31 accepted immutable source-scoped profile
|
||||
`e31-source-qualification-b2460a5eb143688c7eea6821b2277e13aea79868abe81d83f7e78548c119159a`.
|
||||
E32 then produced
|
||||
`e32-track-geometry-a14ca0e7fb3850ca0dfa3c41634e1b490a2d58ab74d101afc6d6921fbdb0e6fd`:
|
||||
all 4,489 E29 frames reproduce exactly, all source/object/point claims close,
|
||||
the self and exact correction set is applied without a generic geometry mask,
|
||||
and exclusive PointSlab ownership is enforced. Conflict count remains `38`;
|
||||
the result is accepted only as the source-scoped diagnostic/shadow input for
|
||||
E33 and is not promoted as a detector-accuracy or staleness improvement.
|
||||
|
||||
Execution is strictly sequential through E33: E30 determines what E31 is
|
||||
allowed to change; E31 determines the E32 profile; E32 determines the E33
|
||||
|
||||
@@ -171,9 +171,31 @@ RAVNOVES00 diagnostic binding and does not claim that host arrival is hardware
|
||||
firing time. The factory KB4 identity is exact, but a measured
|
||||
calibration-target residual and physical body/mount dimensions are
|
||||
unavailable. The accepted profile is therefore source-session scoped and
|
||||
cannot transfer to another mount. A6/E32 full replay is the next critical-path
|
||||
implementation and must bind every published frame to both `TrackGeometry v1`
|
||||
and the accepted E31 profile.
|
||||
cannot transfer to another mount.
|
||||
|
||||
A6/E32 is complete in immutable result
|
||||
`e32-track-geometry-a14ca0e7fb3850ca0dfa3c41634e1b490a2d58ab74d101afc6d6921fbdb0e6fd`.
|
||||
It reproduces all 4,489 E29 frames exactly before correction and binds every
|
||||
published frame to `TrackGeometry v1` plus the accepted E31 profile. All
|
||||
20,513 semantic observations, 21,321 geometry clusters and 2,125,813 qualified
|
||||
point claims close without hidden loss. The replay removes 385 source-scoped
|
||||
self observations and three evidenced geometry clusters, withholds 1,558
|
||||
unqualified ranges and resolves 4,461 overlapping point claims. Of 709
|
||||
arbitrated semantic observations, 563 retain `agree` and 146 conservatively
|
||||
become `unknown`. The 38 E29 conflicts remain 38; A6 is accepted as a
|
||||
diagnostic/shadow contract, not as detector-accuracy improvement. A7/E33
|
||||
recorded-source-paced worker execution is now the critical path.
|
||||
|
||||
- [x] Reproduce all 4,489 immutable E29 frames with the exact frozen profile
|
||||
before applying E31/E30 changes.
|
||||
- [x] Apply only the admitted semantic self-mask, two exact geometry
|
||||
corrections and the complete A3 human exception set.
|
||||
- [x] Enforce exclusive PointSlab ownership and journal every arbitration,
|
||||
excluded claim and conservative state transition.
|
||||
- [x] Compare E29/E32 by status, class, range, 60-second scene interval and
|
||||
cause while preserving source availability and unknown/free-space policy.
|
||||
- [x] Add a digest-bound compact binary PointSlab encoding and strict
|
||||
TrackGeometryFrame reconstruction/validation.
|
||||
|
||||
### A3 residual and human-exception policy
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
# ADR 0025 — E32 full replay and exclusive point ownership
|
||||
|
||||
Date: 2026-07-27
|
||||
|
||||
Status: accepted for source-scoped diagnostic/shadow use
|
||||
|
||||
## Context
|
||||
|
||||
A5 defined `TrackGeometry v1` and `PointSlab`, but E29 did not retain the exact
|
||||
frame-local point indices that produced each semantic and geometry result.
|
||||
E32 therefore had to recover those indices without changing the frozen E29
|
||||
thresholds, apply only the accepted E31/E30 corrections and prove that the
|
||||
translated result had no hidden source loss.
|
||||
|
||||
The accepted E31 profile is limited to the immutable RAVNOVES00 source session.
|
||||
It admits one normalized person self-mask, rejects a generic geometry mask and
|
||||
binds two exact geometry self-corrections. The A3 human generation additionally
|
||||
rejects geometry cluster `2622:4` as background/noise and retains `4147:3` as a
|
||||
real occupied object.
|
||||
|
||||
## Decision
|
||||
|
||||
1. E32 recomputes E29 support indices using the exact E29 profile and immutable
|
||||
camera, LiDAR, pose and local-surface inputs.
|
||||
2. Every recomputed frame must equal the stored E29 frame before any E31/E30
|
||||
correction is applied. A difference in any observation, cluster, metric,
|
||||
policy or frame binding fails the replay closed.
|
||||
3. E32 applies only:
|
||||
- the admitted E31 person self-mask by normalized bbox centre;
|
||||
- the two exact E31 geometry correction item locators;
|
||||
- the complete immutable A3 human geometry dispositions.
|
||||
4. The rejected generic E31 geometry mask is never applied. E29 thresholds are
|
||||
never retuned and excluded points are never reclassified as free space.
|
||||
5. `PointSlab` grants one owner to each published source point. When two E29
|
||||
camera observations claim the same point, E32 uses a deterministic
|
||||
non-threshold policy: smallest bbox, then higher detector score, lower track
|
||||
id and lower observation ordinal. A track that retains points stays `agree`;
|
||||
a track that loses all exclusive points becomes explicit `unknown`.
|
||||
6. Camera-only and conflict observations cannot publish an E29 range derived
|
||||
from support that failed the E29 qualification threshold. Their semantic
|
||||
observation remains, but `metric_basis=unavailable` and `range_m=null`.
|
||||
7. A held observation is published only when an earlier current observation
|
||||
for the same track exists in the replay. A held observation without such
|
||||
provenance is explicitly journalled and omitted instead of inventing
|
||||
`held_from_frame_index`.
|
||||
8. Compact storage uses deterministic `.npy` arrays for frame offsets,
|
||||
frame-local source indices, map-frame float32 points and local owner
|
||||
indices. The JSONL frame record retains the complete TrackGeometry table and
|
||||
PointSlab reference. The public reader reconstructs and validates the exact
|
||||
`TrackGeometryFrame`.
|
||||
9. Every excluded or altered E29 product is written to
|
||||
`e29-e32-changes.jsonl` with its source locator, before/after state, reason,
|
||||
decision identity when applicable and affected claim count.
|
||||
10. E32 remains diagnostic. It grants no command, navigation, traversability,
|
||||
free-space or safety authority and does not modify the persistent map.
|
||||
|
||||
## Accepted result
|
||||
|
||||
The immutable result is
|
||||
`e32-track-geometry-a14ca0e7fb3850ca0dfa3c41634e1b490a2d58ab74d101afc6d6921fbdb0e6fd`.
|
||||
|
||||
- 4,489 / 4,489 E29 frames reproduce exactly.
|
||||
- Source availability remains 3,928 available and 561 unavailable frames.
|
||||
- 20,513 semantic observations close as 20,119 published, 385 source-scoped
|
||||
self-mask exclusions and 9 held observations without prior-current
|
||||
provenance.
|
||||
- 21,321 geometry clusters close as 21,318 published, two exact E31
|
||||
self-corrections and one A3 human background/noise exclusion. The A3
|
||||
object-present cluster remains published.
|
||||
- 2,125,813 E29 qualified point claims close as 2,119,302 published rows,
|
||||
2,050 explicitly excluded claims and 4,461 overlapping claims removed by
|
||||
ownership arbitration.
|
||||
- 709 semantic observations required point-ownership arbitration: 563 retained
|
||||
`agree`; 146 became `unknown`.
|
||||
- 1,558 ranges backed only by unqualified semantic support are withheld.
|
||||
- E29/E32 conflict count remains 38 and no conflict observation changes. E32
|
||||
is not presented as a detector-accuracy improvement.
|
||||
- `agree` changes from 6,341 to 6,195, `single-source-camera` from 13,246 to
|
||||
12,861, `unknown` from 888 to 1,025 and geometry-only from 21,321 to 21,318.
|
||||
|
||||
## Consequences
|
||||
|
||||
- A6 is complete as a reproducible, source-scoped TrackGeometry input for the
|
||||
A7/E33 recorded-source-paced worker shadow.
|
||||
- E33 receives a closed ownership and source-accounting contract instead of
|
||||
ambiguous E29 point claims.
|
||||
- The unchanged 38 conflicts and retained held observations remain perception
|
||||
limitations. Runtime qualification must not describe them as corrected.
|
||||
- The 146 conservative `agree → unknown` transitions are an intentional
|
||||
consequence of exclusive ownership, not threshold degradation.
|
||||
- A second source or changed mount must pass a new qualification; this E32
|
||||
result cannot be transferred by assumption.
|
||||
Reference in New Issue
Block a user