- docs/decisions/ADR-0008-allocation-physics.md Formalizes salience, attention, inhibition, and coherence-budget as the allocation physics of cognition. Replaces attention-as-weights with attention-as-field-curvature over the versor manifold. - docs/decisions/ADR-0009-compositional-physics.md Defines temporal binding, digest cycles, reasoning trajectories, and articulation planning as the compositional physics layer — how CORE assembles pressure into structured thought and output. - docs/decisions/ADR-0010-identity-physics.md Establishes IdentityManifold, DriveGradientMap, ExertionMeter, and CharacterProfile as structural identity primitives. Identity is a field over the geometry, not a prompt veneer. Grounded in John 1:1–2 and the Logos theology that anchors the architecture. - docs/architecture/MIND-PHYSICS-BLUEPRINT.md Integration blueprint showing how allocation → compositional → identity physics layers compose into the full cognitive cycle. - core/physics/ (11 Python interface stubs) SalienceOperator, AttentionOperator, InhibitionOperator, BindingFrame, DigestCycle, ReasoningTrajectory, ArticulationPlanner, DriveGradientMap, ExertionMeter, IdentityManifold, CharacterProfile — all typed, all frozen where stateless, all carrying explicit field contracts. Third Door: no off-the-shelf cognitive architecture borrowed. All operators defined from the geometry up.
5.8 KiB
ADR-0008 — Allocation Physics
Status: Accepted
Date: 2026-05-12
Deciders: Joshua Shay (Architect)
Supersedes: None
Related: ADR-0001 (Field-State), ADR-0003 (Versor Injection Gate), ADR-0007 (Ingest Layer)
Context
The versor field carries active pressure. Not all pressure is equally relevant to a given cognitive task at a given moment. The architecture needs a principled mechanism for allocating cognitive resources — determining which pressure regions are foregrounded, which are suppressed, and how coherence budget is spent.
The naive solution is attention-as-weights (the transformer pattern): a learned matrix projects queries against keys and returns a weighted sum over values. This is rejected on three grounds:
- It conflates geometry with bookkeeping. Dot-product attention has no geometric meaning in the versor manifold. It operates on flattened token embeddings, not on structured field regions.
- It is opaque to correction. When attention produces wrong salience, there is no dual-correction path — no conjugate operator that can restore coherence. The weights simply update at the next gradient step.
- It violates Semantic Rigor. A learned weight matrix does not know why it attends to something. The salience of a claim should derive from its structural relationship to the active context, not from statistical co-occurrence in pretraining data.
This ADR defines the allocation physics layer: a set of operators that govern foregrounding, suppression, and budget within the versor field.
Decision
1. Salience as Field Curvature
Salience is not a scalar score attached to a token. It is a curvature property of the versor field at a given region. A pressure region is salient when it causes measurable deflection in the trajectories of neighboring regions — when it bends the field around itself.
The SalienceOperator computes a local curvature estimate over a FieldRegion and returns a SalienceMap: a structured record mapping region identifiers to curvature magnitudes and directional vectors.
SalienceOperator: FieldRegion → SalienceMap
This is geometry-first allocation. Salience derives from structure, not from a learned score.
2. Attention as Controlled Field Traversal
Attention is the act of directing cognitive traversal along high-salience curvature gradients. The AttentionOperator takes a SalienceMap and a CoherenceBudget and returns an AttentionPlan: an ordered traversal schedule over field regions, constrained by the budget.
AttentionOperator: (SalienceMap, CoherenceBudget) → AttentionPlan
The plan is not a weight distribution. It is a schedule — a sequence of field regions to activate, with associated depth and duration, that can be inspected, overridden, and corrected.
3. Inhibition as Dual Correction
Every attention plan has a conjugate: an InhibitionOperator that suppresses field regions whose activation would reduce coherence. Inhibition is not the absence of attention — it is an active structural force that prevents interference between competing pressure regions.
InhibitionOperator: (AttentionPlan, FieldState) → InhibitionMask
The mask is applied before traversal begins. This encodes the dual-correction axiom directly into the allocation layer: every forward attention plan is paired with a corrective inhibition pass that restores field coherence.
4. Coherence Budget
Cognitive resources are finite. The CoherenceBudget is an explicit resource object that tracks:
total_capacity— the maximum pressure activation units available in a cyclecommitted— units already allocated to active traversalreserve— units held back for inhibition and correction passesspent— units consumed in the current cycle
Budget is consumed by attention depth and region breadth. Inhibition draws from reserve, not from committed. When budget is exhausted, traversal terminates and the cycle closes.
Consequences
Positive
- Allocation is inspectable and correctable at every step.
- Salience derives from field geometry, not from learned weights — it generalizes across domains without retraining.
- The inhibition/attention duality ensures coherence is actively maintained, not assumed.
- CoherenceBudget makes resource consumption explicit and measurable.
Negative
- Computing field curvature is more expensive than dot-product attention in naive implementations. The Rust hot-path (ADR-0003) must cover the curvature kernel.
- SalienceMap construction requires a populated FieldState — allocation physics cannot run on an empty field.
Neutral
- This layer replaces transformer-style attention entirely. There is no compatibility shim with softmax attention weights. Any external model integration (D3 instruments per ADR-0007) operates above this layer, not within it.
Alternatives Rejected
| Alternative | Reason Rejected |
|---|---|
| Transformer dot-product attention | Geometrically meaningless on versor manifold; opaque to correction |
| Sparse attention (Longformer, BigBird) | Structural improvement on wrong foundation; still no conjugate |
| Memory-augmented attention (Memorizing Transformer) | External retrieval bolted onto broken base; not field-native |
| Learned salience scoring (MLP over embeddings) | Violates Semantic Rigor; salience must derive from structure |
Implementation Notes
core/physics/salience.py—SalienceOperator,SalienceMap,FieldRegioncore/physics/attention.py—AttentionOperator,AttentionPlan,CoherenceBudgetcore/physics/inhibition.py—InhibitionOperator,InhibitionMask- Rust acceleration target: curvature kernel in
core_rs::physics::salience SalienceMapis content-addressed (SHA-256 over region IDs + curvature values) for cache reuse across cycles