refactor(third-door): retire vacuous §3.3 grade-5 pseudoscalar gate (#19)
The Super-Blueprint §3.3 "grade-5 pseudoscalar alignment anchor" is mathematically vacuous in odd-dimensional Cl(4,1) and cannot be built as specified (3-agent R&D convergence — Opus/Grok/Terra — ratified): - I₅ is central in odd dim → V·I₅·Ṽ = ±I₅ for every versor; orientation is invariant by construction (nothing to block). - Field-state versors are even → F[31] ≡ 0; the gated ⟨F·F̃⟩₅ = 0 for the source and target of every transition. The gate compares 0 == 0. - The "even-versor parity gate" repair is equally vacuous (even subalgebra is closed under the sandwich; odd-grade mass ≡ 0 on the sanctioned path). Removes the namesake rather than leaving it masking an absence: - Delete _PSEUDOSCALAR_IDX + all F[31] reads (dead `ps` history element and CoherenceResidual.pseudoscalar — both structural zeros). - Rename telemetry channel pseudoscalar_floor → autonomy_floor (it was always self.floor, the earned-autonomy ceiling). - Bump telemetry schema goldtether_coherence_v1 → v2 (shape changed). The integrity-anchor role is subsumed by versor closure + GoldTether harmonized residual (#24) + biography/identity holonomy. Ledger §5 rewritten with the vacuity proof, subsumption, and the reusable "would this gate ever fire on the sanctioned construction path?" meta-criterion. No serving/runtime path touched (core.physics.* is off-serving). Tests: 33 pass / 1 xfail (Cartan #2) across goldtether + fidelity + miner + transfer suites; ruff clean.
This commit is contained in:
parent
2118726dfe
commit
b652a627ba
3 changed files with 55 additions and 26 deletions
|
|
@ -1,9 +1,18 @@
|
|||
"""
|
||||
core/physics/goldtether.py
|
||||
|
||||
GoldTether — Coherence Residual Monitor + Dynamic Pseudoscalar Floor
|
||||
GoldTether — Coherence Residual Monitor + Dynamic Autonomy Floor
|
||||
ADR-0238
|
||||
|
||||
Note (fidelity #19, RETIRED): an earlier draft borrowed grade-5 "pseudoscalar"
|
||||
vocabulary from Super-Blueprint §3.3 for the autonomy floor and read ``F[31]``
|
||||
into telemetry. That anchor is vacuous in odd-dim Cl(4,1) — field-state versors
|
||||
are even (``F[31] ≡ 0``) and ``I₅`` is central (``V·I₅·Ṽ = I₅`` for every
|
||||
versor), so no non-vacuous grade-5 transition invariant exists. The namesake is
|
||||
removed; the integrity-anchor role is carried by versor closure + the harmonized
|
||||
GoldTether residual + biography/identity holonomy. See
|
||||
``docs/research/third-door-blueprint-fidelity.md`` §5.
|
||||
|
||||
Absolute mastery implementation on the live Cl(4,1) algebra kernel.
|
||||
All operators are pure where possible, dual-corrected, and enforce algebraic
|
||||
closure on versor-valued outputs.
|
||||
|
|
@ -25,8 +34,7 @@ from algebra.versor import versor_condition, versor_unit_residual
|
|||
|
||||
_CLOSURE_TOL = 1e-6
|
||||
_NEAR_ZERO = 1e-12
|
||||
_PSEUDOSCALAR_IDX = 31
|
||||
_TELEMETRY_SCHEMA = "goldtether_coherence_v1"
|
||||
_TELEMETRY_SCHEMA = "goldtether_coherence_v2" # v2: dropped vacuous grade-5 channel (#19)
|
||||
_E4_IDX = 4
|
||||
_E5_IDX = 5
|
||||
|
||||
|
|
@ -67,7 +75,6 @@ class CoherenceResidual:
|
|||
dual: float
|
||||
combined: float
|
||||
kappa: float
|
||||
pseudoscalar: float
|
||||
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
|
|
@ -106,7 +113,7 @@ class GoldTetherMonitor:
|
|||
Primary residual:
|
||||
R(t) = || F(t) * reverse(F(t)) - 1 ||_F
|
||||
|
||||
Dynamic pseudoscalar floor rises only on proven epistemic elevation.
|
||||
Dynamic autonomy floor rises only on proven epistemic elevation.
|
||||
supervised_autonomy_level ∈ [0, 1] is the single gate for HITL relaxation
|
||||
(exposed as ``autonomy``).
|
||||
"""
|
||||
|
|
@ -158,8 +165,7 @@ class GoldTetherMonitor:
|
|||
# Autonomy may never exceed the floor
|
||||
self.autonomy = min(self.autonomy + self.autonomy_step, self.floor)
|
||||
|
||||
ps = float(_as_mv(F)[_PSEUDOSCALAR_IDX])
|
||||
self.history.append((float(r), float(self.floor), float(self.autonomy), ps))
|
||||
self.history.append((float(r), float(self.floor), float(self.autonomy)))
|
||||
if len(self.history) > self.max_history:
|
||||
self.history.pop(0)
|
||||
|
||||
|
|
@ -169,7 +175,7 @@ class GoldTetherMonitor:
|
|||
"""Hard gate: only true when residual is safe AND floor is high enough."""
|
||||
if not self.history:
|
||||
return False
|
||||
last_r, last_floor, last_auto, _ps = self.history[-1]
|
||||
last_r, last_floor, last_auto = self.history[-1]
|
||||
return (
|
||||
last_r < self.epsilon_drift
|
||||
and last_floor >= self.hitl_floor_threshold
|
||||
|
|
@ -296,7 +302,6 @@ class GoldTetherMonitor:
|
|||
dual=dual,
|
||||
combined=float(combined),
|
||||
kappa=kappa,
|
||||
pseudoscalar=float(F_arr[_PSEUDOSCALAR_IDX]),
|
||||
)
|
||||
|
||||
def decide(
|
||||
|
|
@ -371,18 +376,18 @@ class GoldTetherMonitor:
|
|||
return out
|
||||
|
||||
def telemetry(self) -> dict[str, Any]:
|
||||
"""Workbench-safe projection (pseudoscalar floor channel)."""
|
||||
last = self.history[-1] if self.history else (0.0, self.floor, self.autonomy, 0.0)
|
||||
"""Workbench-safe projection (autonomy floor channel)."""
|
||||
last = self.history[-1] if self.history else (0.0, self.floor, self.autonomy)
|
||||
return {
|
||||
"schema_version": _TELEMETRY_SCHEMA,
|
||||
"residual": float(last[0]),
|
||||
"pseudoscalar_floor": float(self.floor),
|
||||
"autonomy_floor": float(self.floor),
|
||||
"supervised_autonomy_level": float(self.autonomy),
|
||||
"may_relax_hitl": bool(self.may_relax_hitl()),
|
||||
"epsilon_drift": float(self.epsilon_drift),
|
||||
"n_history": len(self.history),
|
||||
"history_tail": [
|
||||
{"r": h[0], "floor": h[1], "autonomy": h[2], "ps": h[3]}
|
||||
{"r": h[0], "floor": h[1], "autonomy": h[2]}
|
||||
for h in self.history[-16:]
|
||||
],
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
| 2 | Cartan–Iwasawa decomposition | Super §2.2 | 🔴 replaced — raises ~45% | #16 |
|
||||
| 3 | Conformal Procrustes | Super §3.1 | 🔴 replaced — degenerate | #17 |
|
||||
| 4 | GoldTether residual + α law | Super §2.3, R&D §2.3/§5 | 🔴 half-missing | #18 |
|
||||
| 5 | Grade-5 pseudoscalar invariant | Super §3.3 | 🔴 missing (namesake) | #19 |
|
||||
| 5 | Grade-5 pseudoscalar invariant | Super §3.3 | ⚪ RETIRED — vacuous in odd-dim Cl(4,1) | #19 (closed) |
|
||||
| 6 | Surprise residual operator | Super §3.2 | 🟡 partial / rewired | #20 |
|
||||
| 7 | Trajectory invariants + zero-fabrication | R&D §2.2 | ⚫ absent | #21 |
|
||||
| 8 | ADR-DAG conformal embedding | R&D §2.4 | ⚫ absent | #21 |
|
||||
|
|
@ -106,16 +106,42 @@ Add `𝓘_gold` (seeded `n_o, n∞, 1`), the two-term harmonized residual, and `
|
|||
|
||||
---
|
||||
|
||||
## 5. Grade-5 pseudoscalar invariant — 🔴 missing / namesake (#19)
|
||||
## 5. Grade-5 pseudoscalar invariant — ⚪ RETIRED as vacuous (#19)
|
||||
|
||||
> **Resolution (2026-07-12):** three-agent R&D convergence (Opus 4.8 / Grok-4.5-HEAVY / GPT-5.6-Terra), ratified. The §3.3 gate is not "missing" — it is **mathematically vacuous in odd-dimensional Cl(4,1)** and cannot be built as specified. Issue #19 is closed. The namesake was removed from `goldtether.py` in the same change (see "What changed" below).
|
||||
|
||||
### Blueprint spec (Super §3.3)
|
||||
The pseudoscalar `I = e1∧e2∧e3∧e4∧e5` is the orientation of CORE's integrity. Every transition `F' = V·F·Ṽ` must preserve pseudoscalar sign **and** magnitude: `⟨F'·F̃'⟩₅ = ⟨F·F̃⟩₅`. Any optimization / contemplation promotion / autonomous self-authorship that would flip `sgn(I)` is **blocked at the boundary**. Called "the ultimate mathematical anchor for alignment."
|
||||
The pseudoscalar `I₅ = e1∧e2∧e3∧e4∧e5` is the orientation of CORE's integrity. Every transition `F' = V·F·Ṽ` must preserve pseudoscalar sign **and** magnitude: `⟨F'·F̃'⟩₅ = ⟨F·F̃⟩₅`. Any optimization / contemplation promotion / autonomous self-authorship that would flip `sgn(I₅)` is **blocked at the boundary**. Called "the ultimate mathematical anchor for alignment."
|
||||
|
||||
### What landed
|
||||
`goldtether.py` uses `_PSEUDOSCALAR_IDX = 31` to read `F[31]` into telemetry/history, and calls the autonomy threshold a "pseudoscalar_floor." There is **no gate** enforcing `⟨F'·F̃'⟩₅` preservation. The namesake actively masks the absence.
|
||||
### Why it is vacuous (the proof that retired it)
|
||||
The spec presumes a spacetime-like even-dimensional intuition. CORE's algebra is Cl(4,1) — **odd** total dimension (5) — where the grade-5 pseudoscalar behaves degenerately for exactly the quantities the gate inspects:
|
||||
|
||||
### Done right
|
||||
A pure predicate `pseudoscalar_preserved(F, F') -> bool` (sign + magnitude of the grade-5 part within tolerance), wired as a fail-closed gate on transition / promotion / self-authorship, with a typed disclosure. Rename `pseudoscalar_floor → autonomy_floor`. Acceptance: sign-flipping transition refused; valid transition admitted.
|
||||
1. **`I₅` is central.** In odd dimension the pseudoscalar commutes with every element, so for *any* versor `V` (including odd reflections, where `V·Ṽ = ±1`), the sandwich collapses: `V·I₅·Ṽ = I₅·(V·Ṽ) = ±I₅`. Orientation is invariant by construction — there is no map in the versor group that flips it, so there is nothing to "block."
|
||||
2. **Field-state versors are even ⇒ `F[31] ≡ 0`.** Every state the monitor sees is built by the sanctioned constructors (`make_rotor_from_angle`, `word_transition_rotor`, geometric products thereof) which live in the **even subalgebra**. The grade-5 (odd) coefficient of an even multivector is identically zero. Reading `F[31]` returns a structural `0.0`, always.
|
||||
3. **The gated quantity is identically zero.** For an even unit versor, `F·F̃ = 1` (a scalar), so `⟨F·F̃⟩₅ = 0` for the source **and** the target of every transition. The gate `⟨F'·F̃'⟩₅ = ⟨F·F̃⟩₅` compares `0 == 0`. It can never fire.
|
||||
4. **The "even-versor parity gate" fix is also vacuous.** The natural repair — "reject any transition that injects odd-grade mass" — was *invalidated in the same review*: the even subalgebra is closed under the sandwich, so odd-grade mass `≡ 0` on every value the sanctioned path can produce. Parity guards nothing a versor could reach. (Empirically confirmed: on a composed 5-plane field versor, `‖⟨F·F̃⟩₅‖ = 0`, and total odd-grade mass `= 0`.)
|
||||
|
||||
The single **real** residual gap in this neighborhood is unrelated to grade-5: `algebra/versor.py::versor_condition` *accepts* an odd reflection such as `e1` (returns `0.0`), i.e. it gates "is a unit versor," not "is an even/orientation-preserving versor." That is a boundary-hardening concern about **admitting odd generators at all**, not about a grade-5 transition invariant, and it is out of scope for #19.
|
||||
|
||||
### What changed (this PR)
|
||||
The namesake was removed, not left masking an absence:
|
||||
- Deleted `_PSEUDOSCALAR_IDX` and every `F[31]` read (the dead `ps` history element and `CoherenceResidual.pseudoscalar`, both structural zeros).
|
||||
- Renamed the telemetry channel `pseudoscalar_floor → autonomy_floor` (it was always `self.floor`, the earned-autonomy ceiling — never a pseudoscalar).
|
||||
- Bumped the telemetry schema `goldtether_coherence_v1 → v2` (the shape changed: key renamed, dead `ps` dropped).
|
||||
- Updated the module/class docstrings to state the retirement inline.
|
||||
|
||||
### Where the integrity-anchor role actually lives (subsumption)
|
||||
The alignment intent behind §3.3 is real and is **already carried, non-vacuously**, by three built mechanisms:
|
||||
1. **Versor closure** — `versor_condition(F') < 1e-6` is enforced on every transition (`supervised_blend` raises on breach). This is the genuine "the state stayed on the group" gate, checked at ~1e-13 over a 100k-step walk (see `project-l10-closure-by-construction`).
|
||||
2. **GoldTether harmonized residual + α control (#24)** — drift term + distance-to-`𝓘_gold` + `α = Φ(R)`, the actual alignment-pressure signal, replacing the vacuous orientation check with a metric one that *can* move.
|
||||
3. **Biography / identity holonomy (ADR-0240 + `engine_identity`)** — order-sensitive trajectory encoding + content-derived identity lineage: the "same continuous life, no confabulated self" anchor. This is where a *real* topological integrity invariant lives.
|
||||
|
||||
Grade-5 objects remain non-vacuous **only in the incidence layer** (5-blades as conformal geometric objects under meet/join in `algebra/cga.py`), never as a transition/promotion gate.
|
||||
|
||||
### Reusable meta-criterion (the session's key output)
|
||||
> **"Would this gate ever fire on a value produced by the sanctioned construction path? If no → it is a namesake gate, not an anchor."**
|
||||
|
||||
This diagnostic is what killed §3.3, and it should be applied to every remaining `§-N` claim before any implementation effort is spent. Acceptance for #19 is therefore **negative**: no gate is built; the namesake is gone; the intent is shown to be subsumed.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -207,7 +233,7 @@ PY
|
|||
| Real Cartan–Iwasawa via `n_o`/`n∞` | #16 |
|
||||
| Kabsch-conformal Procrustes on point sets | #17 |
|
||||
| GoldTether gold-set + harmonized residual + α=Φ(R) | #18 |
|
||||
| Grade-5 pseudoscalar preservation gate | #19 |
|
||||
| Grade-5 pseudoscalar preservation gate — ⚪ RETIRED (vacuous; see §5) | #19 (closed) |
|
||||
| Surprise: blade contraction + wiring + fix conjunct | #20 |
|
||||
| Absent proposals: sensorimotor + ADR-DAG | #21 |
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
from hypothesis import given, settings
|
||||
from hypothesis import strategies as st
|
||||
|
||||
|
|
@ -97,13 +96,12 @@ def test_serve_never_autonomous_band():
|
|||
def test_lifelong_curve_telemetry_replay():
|
||||
m1 = GoldTetherMonitor()
|
||||
m2 = GoldTetherMonitor()
|
||||
for i in range(5):
|
||||
F = make_rotor_from_angle(0.01 * i) if i else _id()
|
||||
# identity always closed; elevation path
|
||||
for _ in range(5):
|
||||
# identity always closed; deterministic elevation path
|
||||
m1.update(_id(), epistemic_elevation=True)
|
||||
m2.update(_id(), epistemic_elevation=True)
|
||||
assert m1.telemetry()["history_tail"] == m2.telemetry()["history_tail"]
|
||||
assert m1.telemetry()["schema_version"] == "goldtether_coherence_v1"
|
||||
assert m1.telemetry()["schema_version"] == "goldtether_coherence_v2"
|
||||
|
||||
|
||||
def test_supervised_blend_closure_and_endpoints():
|
||||
|
|
|
|||
Loading…
Reference in a new issue