feat(observatory): add laboratory setup preflight

This commit is contained in:
DCCONSTRUCTIONS
2026-08-30 22:21:58 +03:00
parent be83283ee0
commit 8d5aeb0533
15 changed files with 2491 additions and 9 deletions
+31
View File
@@ -107,6 +107,32 @@ valid snapshot, and unavailable/error with retry. If a selected Session disappea
selection moves to the first valid source or to the empty state. No demo rows, fabricated progress,
placeholder actions or hidden polling are allowed.
## Session-to-setup configurator slice
The next bounded slice adds an explicit laboratory Setup selection beside the source Session. A
Setup is a versioned, immutable compatibility contract, not a mutable bag of UI parameters. The
catalog keeps two independently named historical facts:
- `M4.9T5 · TRAVEL TGS · полный source-paced shadow` is an archived RunDefinition bound exactly to
`20260720T065719Z_viewer_live`. Its configuration references are content-addressed, its primary
visual result remains in legacy LAB, and the integrated-graph result is retained as a compute
successor rather than presented as a second viewer.
- `LAB V1 · финальный записанный контур восприятия` is the current exact RAV004 result bound to
`20260828T130511Z_viewer_live`. It predates the product RunDefinition contract and therefore keeps
`run_definition = null`; the UI identifies it as an existing result and never fabricates a config
digest for it.
Changing Session fetches only the small setup catalog. Changing Setup performs no computation.
Compatibility requires the exact source Session identity, the preserved source label and all
required modalities. An explicit `Проверить совместимость` action sends the selected source, setup
and RunDefinition digest to a read-only preflight. Digest drift fails closed. The preflight may
report an exact existing result or a blocked executor, but it cannot enqueue work.
The calculation action remains absent until a durable dispatcher exists with an idempotent
submission key, immutable RunDefinition receipt, lifecycle ledger and exact result publication
receipt. The currently preserved bespoke Worker scenario is not silently treated as that adapter.
This boundary also keeps live equipment, historical replay and legacy LAB Rerun profiles separate.
## Design Guideline composition
The existing `ApplicationShell`, `AdminNavigationPanel` and `ApplicationPanel` composition remains
@@ -130,6 +156,11 @@ workspace.
- Linked evidence is never presented as a CV or safety pass.
- Existing LAB, Simulation, K1 and Data/Sessions operator behavior remains unchanged.
- Live, historical Session and legacy LAB viewer-profile contracts remain distinct.
- Session and Setup are independently explicit selections; neither selection submits Worker work.
- Both the archived M4.9T5 setup and the current final RAV004 result remain visible and immutable.
- A pre-RunDefinition result never receives a fabricated configuration hash.
- Preflight is read-only, digest-fenced and reports the missing executor adapter instead of
fabricating queued or running states.
## Canary acceptance