docs(m4): record E47 semantic shadow evidence

This commit is contained in:
DCCONSTRUCTIONS
2026-08-06 11:26:55 +03:00
parent 81ae4425cb
commit be50144ca8
@@ -2,7 +2,7 @@
Date: 2026-08-05
Status: in progress; M4.0M4.6 accepted, M4.7 Worker 006 cutover is next
Status: in progress; M4.0M4.6 accepted, E47 diagnostic semantic/SLAM shadow is parallel, M4.7 Worker 006 cutover remains next
Audit base: `1b3e0b3` on `feat/simulation-polygon-s1`
@@ -112,7 +112,7 @@ Those systems remain separate platform workstreams.
| Worker graph | The persistent process still executes `run_e15_shadow_inference.py serve` with E15/E19/E8/E3/E23 profiles | Open architectural blocker: runtime remains LAB-generation-specific |
| Model service | Canonical Triton currently exposes pinned `yolox_s` and `pointpillars`; PointPillars was rejected as a K1 product candidate | Reuse `yolox_s`; do not reopen PointPillars |
| CV provider interfaces | No executable `DetectorProvider`, `GeometryProvider`, `TemporalProvider` or object-map contract exists in the product package | Open architectural blocker |
| LAB execution | 31 evidence definitions are fully classified; E33, E35 and E46J are canonical canaries, the remaining 28 are bounded legacy | Closed for LAB governance; no bulk legacy migration |
| LAB execution | 33 evidence definitions are fully classified; M4, E33, E35 and E46J are canonical canaries, E47 is one bounded experimental adapter, and 28 remain read-only legacy | Closed for LAB governance; no bulk legacy migration |
| Production import graph | 93 compute modules (72,456 lines), 51 web modules and many direct `web → compute.e*/l*` imports remain | Do not clean wholesale; prohibit new dependencies and isolate the new graph |
| Telemetry | Generic pipeline telemetry, multi-contour enrollment, bounded journal and current Worker 006 Telegraf service exist | Reuse; add graph-stage and object-state metrics |
| Independent truth | E46/E47/L3.4 freeze paths exist, but the two real reviews/adjudication are incomplete | Existing class truth is not a Milestone 4 blocker; a smaller object-centric truth contract is required |
@@ -148,6 +148,51 @@ The following lines of research remain frozen unless a later measured gate fails
- a DeepStream rewrite without a demonstrated runtime need;
- mass migration or deletion of historical LAB implementations.
## E47 parallel semantic/SLAM shadow (2026-08-06)
E47 is an isolated experiment over the accepted M4.6 replay, not a new M4 stage
and not a reason to renumber or postpone M4.7. It answers one narrower question:
can an immutable semantic mask be bound to the exact RAVNOVES00 camera frame,
projected through the admitted factory KB4 calibration onto the complete
frame-local SLAM/LiDAR point index space, and aggregated for observations which
already exist in the M4 geometry ledger?
The seam is deliberately model-neutral:
- a provider supplies a source/frame/model/preprocess-bound `uint8` class-ID mask;
- the admitted KB4 projection assigns a semantic status to each source point;
- the four statuses remain distinct: `labeled`, `ambiguous`, `unprojected` and
`absent`;
- observation semantics are detached diagnostics over immutable observation and
source-point IDs;
- semantic absence never means free and semantic output cannot create an
obstacle or change identity, metric geometry, occupancy, motion or threat;
- navigation, safety, command, physical-live and actuation authority remain
false.
The full-route E4 EoMT result is the fixed control provider because its 4,489
masks, model revision, weights digest and input identity already exist as sealed
evidence. This does not promote EoMT to the production model. A later NVIDIA
CitySemSegFormer or other candidate must enter through the same provider seam and
be compared on frozen independent truth. `supervision` may be used as rendering
or evaluation tooling, but it is not itself a segmentation model.
The temporal claim is intentionally narrower than physical synchronization.
All `4,489` E4 mask rows and the sealed E10 source-pack entries have identical
camera ordinals and identical recorded `session_seconds` (zero difference after
conversion to nanoseconds), so E47 now verifies that binding fail-closed for
every frame. The LiDAR and pose entries inside E10 still inherit the admitted E6
`nearest-host-arrival-best-effort` binding. Their recorded per-frame deltas are
checked against the existing `100 ms` limits, but this does not prove a shared
hardware clock or zero camera-to-LiDAR skew. E47 therefore remains warning-grade
diagnostic evidence and cannot be described as physically synchronized.
The reusable UI reads the same recorded clock in `VIDEO`, `CAMERA`, `3D` and
`PLAN`: the mask is drawn below existing boxes and the matching semantic class
IDs color only the exact current point increment. Any unknown mask class,
point-index mismatch or artifact-accounting drift is an explicit integrity
failure rather than an empty or cosmetically clean layer.
## Target reference graph
```text