feat(perception): add frozen yolox provider
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Date: 2026-08-05
|
||||
|
||||
Status: in progress; M4.0–M4.2 implemented
|
||||
Status: in progress; M4.0–M4.2 implemented, M4.3 runtime gate open
|
||||
|
||||
Audit base: `1b3e0b3` on `feat/simulation-polygon-s1`
|
||||
|
||||
@@ -679,6 +679,36 @@ geometry/temporal/degradation/telemetry tests and the complete Python suite
|
||||
`src/k1link/perception`. The canonical GUI remained on `127.0.0.1:8000`; no
|
||||
duplicate development server or Worker 006 mutation was introduced.
|
||||
|
||||
### 2026-08-05 — M4.3 provider increment, runtime gate remains open
|
||||
|
||||
The product detector seam is implemented without importing the immutable E46J
|
||||
wrapper:
|
||||
|
||||
- `k1link.compute.yolox_object_detector` contains only the frozen raw-KB4
|
||||
valid-FOV fill, top-left bilinear letterbox, Triton V2 binary HTTP transport,
|
||||
standard YOLOX decode, fixed score/class-wise NMS and FOV/box validation;
|
||||
- `k1link.perception.detector.FrozenYoloxDetectorProvider` turns exactly one
|
||||
decoded image into class-agnostic `ObjectProposal2D` rows; the COCO label is
|
||||
retained only as optional `semantic_hint`, and no tracklet is published;
|
||||
- model, config, valid-FOV, score, NMS, target classes and raster identities are
|
||||
frozen against in-place tuning;
|
||||
- zero-proposal, pathological/non-finite and provider-failure frames are counted
|
||||
explicitly; graph stage telemetry remains the common latency path;
|
||||
- the recorded source now has a separate sequential PyAV decode seam, so image
|
||||
decoding remains source work and no detector logic enters the adapter;
|
||||
- all 4,489 accepted immutable E46J frame documents and 15,499 detections map to
|
||||
the new proposal contract with exact frame accounting.
|
||||
|
||||
This increment does **not** claim a new 4,489-frame Triton execution. The existing
|
||||
E46J 47.840 FPS result remains the baseline evidence. A fresh provider execution
|
||||
requires a digest-bound shadow package; ad-hoc executable staging on Worker 006
|
||||
is prohibited by the deployment canon. Therefore M4.3 runtime/capacity exit and
|
||||
its final checker remain open, and M4.4 does not start yet.
|
||||
|
||||
Validation at this increment: 76 focused-and-related tests and the complete
|
||||
Python suite (`1221 passed, 1 skipped`). Scoped Ruff and strict mypy pass for the
|
||||
new compute primitive and complete `src/k1link/perception` package.
|
||||
|
||||
## Implementation order
|
||||
|
||||
The implementation sequence is intentionally strict:
|
||||
|
||||
Reference in New Issue
Block a user