Canonical ADRs under docs/adr/; thin redirects under docs/decisions/ for
Issue #10 path compatibility. Documents dual GoldTether ontology, residual
namespaces, HITL curve, and Spin left-composition blend geodesic.
Base: forgejo/main @ dbd44a2a
140 lines
5.7 KiB
Markdown
140 lines
5.7 KiB
Markdown
# ADR-0238: GoldTether-Modulated Supervised Autonomy + Dynamic Pseudoscalar Floor
|
||
|
||
**Status:** Proposed
|
||
**Date:** 2026-07-11
|
||
**Branch:** `r&d/generalized-agent`
|
||
**Parent tracking:** [#10](https://core-gitquarters.acbcontent.org/core-labs/core/issues/10) · Issue [#11](https://core-gitquarters.acbcontent.org/core-labs/core/issues/11)
|
||
**Owners:** CORE Labs / R&D
|
||
**Canonical path:** `docs/adr/` (not historical `docs/decisions/`)
|
||
|
||
**Related:**
|
||
|
||
- ADR-0010 Identity Physics
|
||
- ADR-0006 Field Energy (distinct residual namespace)
|
||
- ADR-0055 / ADR-0056 / ADR-0080 Contemplation + reviewed promotion
|
||
- ADR-0175 Calibrated Attempt-and-Eliminate
|
||
- ADR-0199 Cross-Domain Learning Arena (`GoldTether` *protocol* — different contract)
|
||
- ADR-0239 Conformal Procrustes + Surprise Dual
|
||
- ADR-0240 Analogical Transfer + Biography Holonomy
|
||
|
||
**Depends on:** Cl(4,1) closure (`algebra/versor.py`), manifold slerp (`algebra/rotor.py`)
|
||
|
||
**Acceptance path:** green `tests/test_adr_0238_goldtether.py` + smoke/algebra lanes + Josh review.
|
||
|
||
---
|
||
|
||
## 1. Context
|
||
|
||
CORE needs a **coherence tether** that modulates autonomy without violating HITL defaults, one-mutation-path review, or algebraic closure. Issue #10/#11 name this the GoldTether-modulated supervised autonomy envelope with a dynamic grade-5 pseudoscalar floor.
|
||
|
||
### Dual ontology (mastery refinement)
|
||
|
||
| Name | ADR | Contract |
|
||
|---|---|---|
|
||
| **Arena GoldTether** | ADR-0199 | `is_correct` / `gold_answer` — independent truth for practice scoring |
|
||
| **Coherence GoldTether** | **this ADR** | residual + dynamic floor + practice/serve autonomy bands |
|
||
|
||
Shared metaphor (gold as anchor). **Different types, different modules.** Implementation lives in `core/physics/goldtether.py` as `GoldTetherMonitor` / `CoherenceResidual` — never shadows `core.learning_arena.protocols.GoldTether`.
|
||
|
||
### Problem
|
||
|
||
Without a geometric autonomy envelope, either:
|
||
|
||
1. autonomy is premature (unsafe serve-path self-action), or
|
||
2. supervision is unstructured (no residual, no floor, no dual-correction blend).
|
||
|
||
---
|
||
|
||
## 2. Decision
|
||
|
||
### 2.1 Harmonized residual
|
||
|
||
```text
|
||
drift = |ps(current) − ps(reference)| (grade-5 / magnitude)
|
||
geometric_distance = || reverse(ref) * current − 1 ||_F
|
||
combined = w_drift * drift + (1 − w_drift) * normalize(geo)
|
||
kappa = 1 / (1 + combined / floor) # monotone; scales blend only
|
||
```
|
||
|
||
Named config only: `decay_N`, `w_drift`, `floor_init`, `critical_ratio`, `practice_autonomy_enabled`, `serve_supervised_blend_authorized`.
|
||
|
||
**Residual namespaces (non-negotiable):**
|
||
|
||
- ADR-0006 `EnergyProfile.coherence_residual` — thermodynamic class input
|
||
- ADR-0238 `CoherenceResidual.combined` — autonomy tether
|
||
- ADR-0239 `procrustes_residual` / surprise residual — structural transfer
|
||
|
||
Do not conflate.
|
||
|
||
### 2.2 Dynamic pseudoscalar floor
|
||
|
||
- Initialized at `floor_init` (primal retained forever under decay).
|
||
- Updated **only** on practice successes with residual < current floor.
|
||
- Decay window `decay_N` keeps recent residuals; floor never drops below half primal.
|
||
- Serve mode never promotes the floor.
|
||
- Telemetry schema: `goldtether_coherence_v1` (value, sign, n_samples, recent_residuals, config).
|
||
|
||
### 2.3 Autonomy envelope
|
||
|
||
| Band | Condition | Practice | Serve |
|
||
|---|---|---|---|
|
||
| `AUTONOMOUS` | R < floor | only if `practice_autonomy_enabled` | **never** |
|
||
| `SUPERVISED_BLEND` | R ≤ critical | default below/mid band | only if `serve_supervised_blend_authorized` |
|
||
| `FAIL_CLOSED` | R > critical or serve default | yes | **default** |
|
||
|
||
HITL phase-out is a **measured curve**, not a flag flip. Self-review gates are documented; they are not auto-proven by this ADR.
|
||
|
||
### 2.4 Supervised blend (dual-correction)
|
||
|
||
```text
|
||
R = word_transition_rotor(source, target) # = target * reverse(source)
|
||
R^α = rotor_power(R, α)
|
||
out = R^α * source # Spin left-composition
|
||
assert versor_condition(out) < 1e-6
|
||
# α=0 → source; α=1 → target (unit versors)
|
||
```
|
||
|
||
**Mastery correction:** sandwich conjugation `R^α * source * reverse(R^α)` is the wrong geodesic for *state* interpolation (it maps the identity to itself). Left composition on the rotor group is the dual-correction surface that lands exactly on the endpoints.
|
||
|
||
No Euclidean lerp on multivector coefficients. No hot-path unitize repair.
|
||
|
||
### 2.5 Implementation surface
|
||
|
||
- Module: `core/physics/goldtether.py`
|
||
- Types: `GoldTetherConfig`, `CoherenceResidual`, `AutonomyBand`, `AutonomyDecision`, `PseudoscalarFloorState`, `GoldTetherMonitor`, `OperatingMode`
|
||
- Proof tests: `tests/test_adr_0238_goldtether.py`
|
||
|
||
---
|
||
|
||
## 3. Consequences
|
||
|
||
### Positive
|
||
|
||
- Geometry-first autonomy modulation without stochastic fallback.
|
||
- Serve remains fail-closed by default (HITL preserved).
|
||
- Pseudoscalar floor is a first-class telemetry channel for lifelong coherence curves.
|
||
- Explicit dual ontology prevents Arena vs Coherence confusion under review.
|
||
|
||
### Risks / mitigations
|
||
|
||
| Risk | Mitigation |
|
||
|---|---|
|
||
| Residual conflation with energy residual | Distinct type names + ADR text + tests |
|
||
| Premature autonomy | `practice_autonomy_enabled=False` default; serve never autonomous |
|
||
| Drift repair disguised as blend | Blend only via `rotor_power` / transition rotors |
|
||
|
||
### Non-goals
|
||
|
||
- Auto-promotion of SPECULATIVE → COHERENT
|
||
- Replacing ADR-0199 arena GoldTether
|
||
- Approximate recall or sampling
|
||
|
||
---
|
||
|
||
## 4. Proof obligations
|
||
|
||
- **G-1** Replay: identical (current, reference, config, sequence) → identical residual/floor/decision telemetry.
|
||
- **G-2** Closure: every `supervised_blend` output has `versor_condition < 1e-6`.
|
||
- **G-3** Serve never returns `AUTONOMOUS`.
|
||
- **G-4** Floor updates only on practice success below floor.
|
||
- **G-5** Arena GoldTether protocol tests remain green unchanged.
|