feat(perception): stabilize pre-capture methodology
This commit is contained in:
@@ -22,6 +22,14 @@ The existing Worker 006 containers were renamed in place to
|
||||
container identities were preserved, so this namespace migration did not restart the
|
||||
inference or perception runtimes.
|
||||
|
||||
The compute-side native pipeline contract is now implemented. It emits
|
||||
`missioncore.agent-pipeline-telemetry/v1` lifecycle documents through an injected
|
||||
transport, and the telemetry normalizer preserves source, method, stage and stage-state
|
||||
identities in the normalized series key. The E41 runner has exercised the JSONL
|
||||
evidence sink against the immutable predictor package. This proves producer and
|
||||
normalizer compatibility; it does not claim that the durable Worker 006 process has
|
||||
been wired to the MQTT sink or deployed with this code.
|
||||
|
||||
## Decision
|
||||
|
||||
Mission Core treats a compute worker as a configurable **local compute contour**, not as
|
||||
@@ -188,6 +196,7 @@ subscribe to `mission-core/v1/contours/+/agents/+/+`.
|
||||
- Mission Core code stays responsible for product semantics and stable API contracts,
|
||||
not OS-specific metric collection.
|
||||
- Host, container, network and inference telemetry is stored in the normalized path.
|
||||
Per-stage LAB processing telemetry remains unavailable until a laboratory worker
|
||||
publishes the native `runtime` and `pipeline` topic contracts; the UI must keep those
|
||||
stages explicitly unavailable rather than infer them from aggregate hardware load.
|
||||
- Per-stage LAB processing telemetry has a native producer contract and an admitted
|
||||
already-connected MQTT sink. It remains unavailable for a durable worker run until
|
||||
that worker actually injects the sink and publishes the `pipeline` topic; consumers
|
||||
must not infer stages from aggregate hardware load.
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
# ADR 0032 — RAVNOVES00 methodology correction before transfer
|
||||
|
||||
Date: 2026-07-28
|
||||
|
||||
Status: accepted for implementation
|
||||
|
||||
## Context
|
||||
|
||||
E37–E40 produced useful, immutable source-scoped engineering evidence, but the
|
||||
architecture report was written before the source implementation and artifacts were
|
||||
audited together. E41 reproduced the exact data lineage and found four methodological
|
||||
limits:
|
||||
|
||||
1. E37 contains `484` engineering-reviewed labels and `2` human exception labels; it
|
||||
explicitly declares `independent_ground_truth=false`.
|
||||
2. The nominal `340` development / `146` validation split is not group-independent.
|
||||
Development and validation overlap by `14` exact frames, `38` track identities,
|
||||
`58` fixed 50-frame time blocks and `59` connected whole-track-or-scene groups.
|
||||
3. The E40 worker package co-located prediction inputs with the visible acceptance
|
||||
rows and split assignments.
|
||||
4. E38–E40 therefore measure performance against a historically evaluated,
|
||||
source-scoped engineering contract. They are not blind accuracy gates.
|
||||
|
||||
This does not invalidate their physical predictions, closed accounting or conservative
|
||||
authority. It changes the claim that those artifacts are allowed to support.
|
||||
|
||||
## Decision
|
||||
|
||||
1. Historical E37–E40 artifacts remain immutable evidence. Their metrics are retained,
|
||||
but “sealed”, “blind” and independent-accuracy language is removed from current
|
||||
status.
|
||||
2. The current `146`-item slice is named **historical evaluated visible validation**.
|
||||
It may compare immutable methods against the source-scoped engineering contract; it
|
||||
may not prove independent perception accuracy or cross-route generalization.
|
||||
3. Prediction and evaluation are physically separated. The E41 predictor package and
|
||||
result contain no acceptance rows, references, split assignments, severity or
|
||||
scoring state. The visible evaluator joins predictions to E37 only after inference.
|
||||
4. Runtime identity records the environment that actually executed a result. A local
|
||||
run records the repository lock, Python and NumPy identities and is not represented
|
||||
as a Worker 006 container run.
|
||||
5. Structural invariants are exercised independently of the visible labels. E42
|
||||
verifies predictor identity, row-order and chunk-boundary invariance plus PointSlab
|
||||
row-order invariance and rigid-coordinate equivariance.
|
||||
6. Native per-stage telemetry is a compute contract. Stages publish
|
||||
`started/completed/failed`, exact source/method/run identity, duration and accounting
|
||||
through an injected sink. A JSONL evidence sink and an already-connected MQTT sink
|
||||
are admitted; no network transport starts implicitly.
|
||||
7. Current storage work starts with content-addressed references and exact-content
|
||||
deduplication. E44 measures `1.680146×` amplification across the admitted E30–E40
|
||||
package/result roots. It does not authorize a storage-format or database migration.
|
||||
8. The later same-K1 transfer capture is preregistered before collection. E43 freezes
|
||||
minimum streams, route/control-bridge duration, connected scene/track/time
|
||||
partitioning, independent human review and truth reveal only after frozen
|
||||
prediction.
|
||||
9. Product windows, page anatomy and new design work are outside this stabilization
|
||||
decision and remain a separate owner review.
|
||||
|
||||
## Current immutable evidence
|
||||
|
||||
- methodology audit:
|
||||
`e41-methodology-audit-703dac176f20843ad6fbb9a1060b199942fba05e3bb34d3e2264ee87c7bfdd96`;
|
||||
- truth-free predictor package:
|
||||
`e41-predictor-package-fb35f42698013c63c6d417fd3b26986e9d3b89d12dce138bab18fe4203d593ad`;
|
||||
- truth-free prediction result:
|
||||
`e41-predictions-adcc1671de44646145a396d5815e522d6b4257d6ead9ace995761751655b3aac`;
|
||||
- visible engineering evaluation:
|
||||
`e41-visible-evaluation-57aa6c8569e8339630406e3c88cd539df13917fb08c1af57f0baae5cdd1069d2`;
|
||||
- metamorphic suite:
|
||||
`e42-metamorphic-suite-c358204e0b9e10eea5871e90b7c4fbe2c132f1f6d87074b2c5ffec18eaeebb40`;
|
||||
- preregistered future-capture protocol:
|
||||
`e43-future-capture-protocol-28f091b9648daffce988d44c183e21f56d77988061630de934f8003fb13701d8`;
|
||||
- data-amplification audit:
|
||||
`e44-data-amplification-89791978894ec785009e5b76c9325de4d9e910237af57476c9331eb47a8ccca4`.
|
||||
|
||||
## Consequences
|
||||
|
||||
- RAVNOVES00 remains the active engineering reference source, but R0 is reopened as an
|
||||
independent-truth and leakage-free-partition gate.
|
||||
- E40 does not pass R1: the visible evaluation is `84.2466%` for presence,
|
||||
`84.2466%` for geometry association and `94.5205%` for freshness, with `11`
|
||||
high-severity failures, complete accounting and zero false-free claims.
|
||||
- Further threshold or model tuning against the visible 146 items cannot close the
|
||||
blind gate. It may only create another explicitly visible engineering comparison.
|
||||
- Work that does not require a new recording can proceed now: methodology enforcement,
|
||||
predictor/evaluator separation, invariants, telemetry, exact-content deduplication
|
||||
design and preregistration.
|
||||
- A later new-route recording can close an independent transfer question only if the
|
||||
E43 protocol passes before labels are revealed. Until that capture exists,
|
||||
cross-route quality remains unknown rather than failed or inferred.
|
||||
Reference in New Issue
Block a user