refactor(platform): freeze laboratory and telemetry boundaries
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user