feat(perception): publish immutable lab session instances
This commit is contained in:
@@ -102,6 +102,38 @@ the obsolete browser poll; it does not cancel the process-owned conversion.
|
||||
A queued job may legitimately wait behind another export and therefore uses the
|
||||
overall preparation deadline rather than the active-export heartbeat timeout.
|
||||
|
||||
## Immutable LAB instances
|
||||
|
||||
An accepted experiment is published as a new saved-session identity instead of
|
||||
changing the AI result selected for its source recording. A LAB instance binds:
|
||||
|
||||
- a stable `LAB E…` marker and opaque session id;
|
||||
- the immutable source observation session;
|
||||
- the exact result, source-result and configuration SHA-256 identities;
|
||||
- run and publication timestamps plus JSON provenance;
|
||||
- a content-addressed compute job, LiDAR pack and integrated visual result.
|
||||
|
||||
The source evidence remains the only raw sensor master. A LAB replay cache and
|
||||
unchanged camera inputs use hard links on the same filesystem; no second copy of
|
||||
the source RRD, video or native K1 capture is created. Derived arrays are stored
|
||||
only when the run did not already persist a viewer-ready form. Deleting a LAB
|
||||
catalog entry cannot delete the referenced source session, and a source session
|
||||
with published LAB instances fails closed on deletion.
|
||||
|
||||
The visual result is resolved by the LAB session id, so `LAB E19` and `LAB E21`
|
||||
can coexist over `RAVNOVES00` without “latest accepted result” replacing an
|
||||
earlier experiment. The operator can open either row in **Сохранённые сессии**
|
||||
and use the same **Объекты 2D / Сегментация / Кубы 3D** controls. First
|
||||
publication must also warm the result-specific Rerun overlay; later opens reuse
|
||||
that verified cache and do not rerun AI inference.
|
||||
|
||||
E21 is a bounded special case: its worker persisted 121 semantic mask hashes,
|
||||
not duplicate mask pixels. Its visual publication materializes a mask only
|
||||
after an exact SHA-256 match against the immutable accepted E19 semantic
|
||||
reference. The seven detector frames replaced by the bounded latest-wins queue
|
||||
remain explicit empty frames. This preserves the measured near-real-time
|
||||
behavior rather than presenting a fabricated gap-free run.
|
||||
|
||||
The first preparation of a long capture can take time because every decodable
|
||||
point/pose message and every valid K1 `ModelingReport` is projected into RRD.
|
||||
Later openings reuse a verified, digest-bound cache. Derived RRD cache v9 is
|
||||
|
||||
Reference in New Issue
Block a user