Authority-ratified per the ADR-0207 convention (Accepted (ratified DATE)): - ADR-0181 (audio), ADR-0197 (vision), ADR-0208 (environmental loop), ADR-0209 (sensorimotor afferent) -> Accepted (ratified 2026-06-03). All four are implemented + test-backed (0208/0209 falsifiability deeply verified in the lookback; 0181/0197 backed by CRDT-merge/compiler/mount/ eval-gate suites, all green in the 182-test sweep). - ADR-0198 deliberately NOT ratified: partially-implemented spike (Gap A + fail-closed efferent gate landed; \xc2\xa73 verdict-lowering + motor decoder deferred behind a dedicated motor governance ADR). CLAUDE.md Work Sequencing now records the sensorium/modalities arc as a sanctioned parallel track that does not displace the near-term sequence and is disjoint from the GSM8K serving path. Markdown only; no test asserts ADR status or the work-sequencing text.
2.6 KiB
ADR-0208: Environmental Sensorium Loop
Status: Accepted (ratified 2026-06-03) — implementation landed (afferent scope)
Date: 2026-06-04
Implementation: sensorium/environment/frame.py (PR #540) + sensorium/environment/harness.py (PR #541). Proof obligations are covered by falsifiable tests in tests/test_observation_frame_contract.py (order-invariant frame trace hash, merge_key dedup, TypeError on raw-payload units, ValueError on efferent units) and tests/test_observation_frame_harness.py. Disjoint from the GSM8K serving path (no import of generate.derivation / core.reliability_gate).
Domains: sensorium/environment/, sensorium/compiler/, sensorium/*, future sensorimotor compilers
Depends on: ADR-0013, ADR-0180, ADR-0181, ADR-0197, ADR-0198
Decision
CORE will represent a moment of environmental evidence as an ObservationFrame:
a deterministic bundle of already-compiled afferent CompilationUnitLike
deltas. The frame is not a fusion layer, not a shared embedding space, and not a
mutable world model.
environment
-> modality compilers
-> compiled afferent units
-> ObservationFrame
-> Delta-CRDT merge
-> field / recall / cognition
-> governed efferent decode
-> action result / proprioception re-enters as afferent evidence
Contract
ObservationFrame contains:
frame_id
monotonic_tick
source_clock
units: tuple[CompilationUnitLike, ...]
causal_parent_ids
environment_sha256
trace_hash
Rules:
- Units are canonicalized by
merge_keyand exact duplicates deduplicate. - Trace records contain hashes and provenance only, never raw pixels, PCM, or actuator payloads.
- Audio chunks, vision tiles, text turns, and future proprioceptive feedback remain native compilation units.
- Motor commands and action traces are efferent; they are not observation units.
- Action outcomes re-enter through afferent sensorimotor/proprioceptive compilers.
Consequences
This closes the architectural gap between independent modality compilers and an embodied environment loop without inventing late fusion. Cross-modal coherence is recovered after merge through exact manifold recall and field resonance. The hot path stays local and deterministic; fleet/offline aggregation remains a proposal/review path, not runtime truth.
Proof Obligations
- Same afferent units in any arrival order produce the same frame trace hash.
- Unsafe raw payloads fail before entering frame traces.
- Efferent action records fail if passed as observation units.
- Sensorimotor feedback can enter as afferent evidence without enabling motor emission.