refactor(perception): decouple replay from lab layout

This commit is contained in:
DCCONSTRUCTIONS
2026-08-05 14:51:33 +03:00
parent 95ac235122
commit c9242480c2
7 changed files with 159 additions and 26 deletions
@@ -717,6 +717,11 @@ runner:
- the baseline validator now freezes calibration, detector parameters,
non-goals and the complete E15 rollback identity instead of merely retaining
those fields in JSON;
- the deployable CLI no longer assumes a Git checkout or historical LAB layout:
baseline, camera summary/index and source-pack manifest/artifact are explicit
read-only inputs, and their exact file digests are verified before decoding;
- the result identity binds the exact baseline-profile file digest, so a
semantically similar but byte-different profile cannot reuse the receipt;
- `require_m4_detector_replay_acceptance` refuses short smoke runs, another
worker/node, failed frames, less than 4,489 frames or less than 10.004 FPS.
@@ -730,6 +735,10 @@ Validation after adding the execution seam: 42 focused-and-related tests and the
complete Python suite (`1230 passed, 1 skipped`). Scoped Ruff and strict mypy pass
for the complete `src/k1link/perception` package and the frozen YOLOX primitive.
Portable-worker hardening adds two architecture checks and leaves the complete
suite at `1232 passed, 1 skipped`; scoped Ruff and strict mypy remain clean. This
hardening changes no durable Worker 006 process and makes no fresh capacity claim.
## Implementation order
The implementation sequence is intentionally strict: