refactor(platform): freeze laboratory and telemetry boundaries

This commit is contained in:
DCCONSTRUCTIONS
2026-08-05 12:29:06 +03:00
parent 6d0abbc569
commit 1b3e0b3406
22 changed files with 1657 additions and 148 deletions
@@ -108,18 +108,19 @@ The evidence/report layer is now generic and proof-bound, but historical LAB
execution remains heterogeneous. ADR 0039 limits the remaining stabilization
work instead of turning it into a bulk archive migration.
The gate is:
The gate is implemented for the current architecture freeze:
1. Preserve all existing historical LABs as immutable `legacy` evidence.
2. Admit genuinely novel stacks as bounded `experimental` adapters rather than
1. [x] Preserve all existing historical LABs as immutable `legacy` evidence.
2. [x] Admit genuinely novel stacks as bounded `experimental` adapters rather than
discarding them or importing them directly into core.
3. Prove one source/provider/graph/run path on E33, E35 and E46J.
4. Ensure a new ordinary `canonical` LAB does not add a new branch to the
3. [x] Prove one source/provider/graph/run path on E33, E35 and E46J.
4. [x] Ensure a new ordinary `canonical` LAB does not add a new branch to the
application shell, advanced dispatcher or generic workspace.
5. Close local telemetry operational debt: multi-contour credential enrollment,
5. [x] Close local architecture-level telemetry debt: multi-contour credential enrollment,
executable agent bundle, journal rotation, restart/reconnect/duplicate/stale/
identity-mismatch acceptance and run correlation.
6. Record production/fleet, second-source, Quick Connect, physical mount and
identity-mismatch contracts and run correlation. Second-agent physical acceptance
remains an intentional deployment debt, not a CV-development blocker.
6. [x] Record production/fleet, second-source, Quick Connect, physical mount and
live-authority gaps as intentional non-blocking debt with explicit triggers.
A9/E36 remains a later scientific transfer gate. It is not a precondition for
@@ -102,6 +102,30 @@ the failure counter after one day and applying recovery to non-crash failures. T
does not make an invalid endpoint valid; it keeps transient broker or network loss from
silently leaving the telemetry agent stopped after connectivity returns.
## 2026-08-05 generic enrollment and bounded outbox
Worker 006 is no longer encoded in the broker bootstrap contract. The private
`missioncore.telemetry-agent-credential-registry/v1` registry admits any globally
unique agent identity, binds it to one contour and rebuilds the broker password file
plus exact writer ACLs from the registry. The old Worker 006 environment variables
are accepted only by a one-time private migration and are not part of the current
example configuration.
The reviewed Windows host-agent package is generated as a deterministic,
content-addressed and secret-free ZIP. A selected agent's credential is exported in a
separate non-overwriting `0600` stdin payload. This closes repeatable agent
installation without pretending to automate GPU drivers, Docker/WSL, model stores or
the perception runtime.
The native run journal is a bounded outbox. It rotates active JSONL at 64 MiB into a
content-addressed segment and retains at most eight segments. Telegraf tails the
active path and segment glob using tracking metrics and a saved offset. Reaching the
bound raises an observable telemetry transport error rather than deleting potentially
unacknowledged evidence; inference remains fail-open. Segment deletion is not
automatic and requires a separate proof that normalized storage contains the rows.
QoS 1 duplicates remain safe because the normalizer upserts the complete normalized
sample identity.
## Why these components
- **Telegraf** is the universal host agent. It already supports Windows and Linux host
@@ -1,7 +1,7 @@
# ADR 0039: Bounded laboratory canonicalization and intentional debt
Date: 2026-08-05
Status: accepted; executable canary migration remains open
Status: accepted and implemented for the architecture freeze
## Context
@@ -44,6 +44,15 @@ The first executable canaries are deliberately limited to:
Passing those three canaries closes the laboratory canonicalization slice. It
does not authorize a bulk migration of historical runs.
The implementation is `missioncore.laboratory-execution-registry/v1` plus the
common `LaboratoryRunner`. The registry classifies every published evidence
definition exactly once, admits only declared input roles and routes E33, E35 and
E46J through bounded adapters. The runner emits native run/stage telemetry, verifies
the immutable evidence document and all artifact hashes, and publishes one
content-addressed `missioncore.laboratory-run-receipt/v1`. Existing canary evidence
was reverified without mutation: E33 has four verified artifacts, E35 four and E46J
seven. All other current evidence definitions are explicitly read-only `legacy`.
### Experimental
An experimental LAB may use a stack or execution shape which the current
@@ -91,18 +100,18 @@ its stack cannot yet satisfy the canonical graph.
## Worker and telemetry boundary
The compute-contour catalog, selector, generic MQTT topic namespace and telemetry
query path already support more than one contour. They do not constitute worker
provisioning. Credential enrollment, a digest-bound agent bundle and an accepted
second agent remain open. Installing GPU drivers, Docker/WSL, Triton, models and
query path support more than one contour. Generic scoped credential enrollment and a
digest-bound secret-free Windows agent bundle are implemented. A second physical
agent acceptance remains open. Installing GPU drivers, Docker/WSL, Triton, models and
the perception runtime is a separate deployment-profile problem and is not folded
into a universal one-click installer.
Local telemetry stabilization is part of the architecture freeze: multi-contour
credential issuance, executable agent installation, bounded journal rotation,
restart/reconnect/duplicate handling, stale and identity-mismatch behavior, and
run correlation must be accepted. Fleet TLS, Linux acceptance, HA and production
storage/deployment remain explicit intentional debt until their deployment trigger
exists.
Local telemetry stabilization now includes multi-contour credential issuance,
executable agent installation, bounded fail-closed journal rotation, the accepted
Windows recovery policy, QoS 1/idempotent duplicate handling, stale and
identity-mismatch behavior, and run correlation. Physical acceptance on a second
agent, fleet TLS, Linux acceptance, HA and production storage/deployment remain
explicit intentional debt until their deployment trigger exists.
## Consequences
@@ -113,4 +122,3 @@ exists.
- The product core grows only when repeated value justifies a reusable contract.
- Debt is not treated as a binary pass/fail list: every deferred item names the
claim it blocks and the event which returns it to the critical path.