diff --git a/docs/adr/ADR-0241-wave-field-driven-hyperbolic-atlas-and-resonant-cognition.md b/docs/adr/ADR-0241-wave-field-driven-hyperbolic-atlas-and-resonant-cognition.md new file mode 100644 index 00000000..3cc88e46 --- /dev/null +++ b/docs/adr/ADR-0241-wave-field-driven-hyperbolic-atlas-and-resonant-cognition.md @@ -0,0 +1,104 @@ +# ADR-0241: Wave-Field Driven Hyperbolic Atlas and Resonant Algebraic Cognition + +**Status**: Proposed (acceptance path: tests green + Joshua review) +**Date**: 2026-07-13 +**Deciders**: Joshua Shay + multi-model R&D +**Traceability**: Issue #14, parent #10 +**Related**: ADR-0003, ADR-0006, ADR-0238, ADR-0239, ADR-0240, `core/physics/dynamic_manifold.py`, `core/physics/surprise.py`, `core/physics/goldtether.py`, `docs/analysis/core_ha_unification_and_deprecation_plan.md` +**Canonical path**: `docs/adr/` + +--- + +## Context + +CORE models meaning as a relational field over Cl(4,1) CGA (ADR-0003), not as flat embeddings. Third-Door operators (ADR-0238–0240) now have faithful Cartan–Iwasawa peel, Kabsch-conformal Procrustes, metric surprise, and partial GoldTether residual+α — still as **pointwise multivector / point-cloud** operators. + +Legacy Hyperbolic Atlas / `core_ha` designs (and any pointwise \(H^n\) memory) suffer from: + +1. **Thaw coordinate loss** — recall as approximate centroids drifts under noise. +2. **Node eviction rigidity** — discrete frozen nodes do not scale or decompress without reconstruction drift. +3. **Granularity discrepancy** — continuous sensorimotor streams vs discrete symbols force projection overhead in a shared point frame. + +This ADR introduces the **Conformal Wave Field** \(\psi\) as the continuous representation layer under Third-Door operators: full subsumption of the hyperbolic atlas into a holographic resonant substrate, not a parallel path. + +## Decision + +### 1. Conformal wave field \(\psi\) + +- \(\psi(X, t) \in Cl(4,1)\) is a multivector-valued field (runtime coefficients: 32-vector). +- In odd dimension \(n=5\), the unit pseudoscalar \(I = e_1 e_2 e_3 e_4 e_5\) is central and satisfies \(I^2 = -1\), so it acts as the native algebraic imaginary (no external \(\mathbb{C}\)). +- Algebraic Schrödinger step: \(\partial_t \psi = \mathcal{H}(\psi)\, I\), realized by a conformal rotor \(R(t) = \exp(B\,\Delta t) \in Spin(4,1)\). + +### 2. Transport convention (pinned) + +| Kind | Law | Rationale | +|------|-----|-----------| +| **Multivector field** (default for field-state operators) | Sandwich \(\psi' = R\,\psi\,\widetilde{R}\) | Matches `versor_apply` / existing Third-Door multivector ops | +| **Spinor / odd-capable wave packet** (chiral charge path) | Left multiply \(\psi' = R\,\psi\) | Spinor transport; needed for non-vacuous \(\mathcal{Q}\) | + +Slice-1 code and tests document which API path uses which law. No silent mix. + +### 3. Holographic standing-wave memory + +\[ +\Psi(X) = \sum_k c_k\,\psi_k(X) +\] + +Recall is resonant phase lock-in (overlap + constructive interference), not coordinate thaw. Reconstruction-over-storage. + +### 4. Third-Door operator reformulation + +| Operator | Pointwise (landed) | Wave-field (this ADR) | +|----------|--------------------|------------------------| +| Conformal Procrustes | Kabsch / field conjugacy | Cross-spectral correlation \(\mathcal{C}_{AB}\) → Clifford polar decomposition for analogy rotor | +| Surprise | Metric-orthogonal residual | Non-resonant **spectral leakage** onto resonant eigenmodes | +| GoldTether | Harmonized drift + dist-to-\(\mathcal{I}_{gold}\) + \(\alpha=\Phi(R)\) | **Unitary amplitude** residual \(\sup\|\psi\widetilde{\psi}-1\|\) + optional chiral anomaly | +| Grade-5 / integrity | RETIRED on even versors (#19) | **Chiral spinor charge** \(\mathcal{Q}=\langle\psi I\widetilde{\psi}\rangle_0\) on general spinor \(\psi\) (non-vacuous) | +| Biography holonomy | `holonomy_encode` trajectory | Resonant standing-wave lock-in of unitary propagators | + +### 5. Subsumption of `core_ha` + +A separate pointwise `core_ha` database is **deprecated**. Absorption map: `docs/analysis/core_ha_unification_and_deprecation_plan.md`. In `core-labs/core` there is no live `core_ha/` tree; work is documentation + hygiene + wave substrate. + +### 6. Module ownership + +- **New**: `core/physics/wave_manifold.py` — continuous wave propagation, spectral leakage, polar analogy, unitary / chiral measures. +- **Upgrade in place** (later slices): `dynamic_manifold.py`, `surprise.py`, `goldtether.py`, `biography.py` **delegate into** wave primitives (no permanent dual path). +- **Containment**: wave substrate stays off the serve / wrong=0 path until gates pass. Discovery remains proposal-only (physics never imports teaching). + +### 7. Implementation constraints (non-negotiable) + +- Use live `algebra/*` (`geometric_product`, `reverse`, `versor_apply`, `rotor_power` / bivector exp). **No scipy matrix-proxy as algebraic truth** (ADR prototype sketch is illustrative only). +- `versor_condition` / unitary amplitude: dual-checked; fail-closed. +- Normalization only at owned construction boundaries — no hot-path unitize in wave propagate. +- Deterministic; no stochastic fallback; no ANN / cosine recall. + +## Consequences + +### Benefits + +- Zero thaw loss via resonant lock-in. +- Multimodal superposition \(\psi_{\mathrm{total}}=\sum_{\mathrm{mod}}\psi_{\mathrm{mod}}\) with phase alignment. +- Non-vacuous topological integrity via spinor chiral charge (rehabilitates intent of Super §3.3 without reviving the vacuous even-versor gate). +- GoldTether grounded in unitary wave energy conservation. + +### Trade-offs + +- Spectral / exp-map cost → later Rust / MLX acceleration (ADR-0235), not Slice 1. +- Must carefully separate even field-state paths from odd-capable spinor paths so #19 retirement is not re-broken. + +## Validation + +Behavioral (not closure-only) tests in `tests/test_adr_0241_wave_manifold.py`: + +1. Unitary / sandwich step conserves amplitude residual below \(10^{-6}\). +2. Spectral leakage zero on resonant span; positive off-span; metric-exact projection. +3. Wave polar recovers a known sandwich rotor (or left-spinor rotor on spinor path). +4. Chiral charge conserved under unitary \(R\) for odd-capable \(\psi\); even-only states remain honest about vacuous \(\mathcal{Q}\). +5. Fidelity ledger scorecard rows for wave substrate flip only when behavioral pins pass. + +## Implementation notes + +- Prototype sketch in earlier R&D dump is **not** shippable as written (scipy `expm`, ad-hoc \(I\) matrix). Re-express on Cl(4,1) 32-vectors. +- Ledger: `docs/research/third-door-blueprint-fidelity.md` § Wave-field substrate. +- GoldTether #18 bootstrap/prune remains **deferred** while wave unitary residual lands. diff --git a/docs/analysis/core_ha_unification_and_deprecation_plan.md b/docs/analysis/core_ha_unification_and_deprecation_plan.md new file mode 100644 index 00000000..0aa00406 --- /dev/null +++ b/docs/analysis/core_ha_unification_and_deprecation_plan.md @@ -0,0 +1,76 @@ +# Technical Memorandum: core_ha Integration, Substrate Unification, and Deprecation Plan + +**Status**: Proposed (acceptance path: tests green + Joshua review) +**Date**: 2026-07-13 +**Authors**: Multi-model R&D + Joshua Shay +**Traceability**: Notion R&D (Reference Vault Interconnection: `core_HA` Patterns) +**Related**: ADR-0003, ADR-0238, ADR-0239, ADR-0240, ADR-0241, `core-rs/src/vault.rs` +**Canonical path**: `docs/analysis/core_ha_unification_and_deprecation_plan.md` + +--- + +## 1. Executive summary + +**A separate, standalone `core_ha` coordinate database is mathematically redundant, architecturally incompatible with ADR-0003 coordinate dissolution, and should be fully deprecated.** + +Unification target: single-substrate Cl(4,1) conformal wave-field \(\psi\) (ADR-0241) plus CRDT-gated delta sync at the storage boundary. + +- Meaning = continuous wave-field \(\psi(X,t)\in Cl(4,1)\), not discrete points on \(H^n\). +- Relations = geometric phase interference / algebraic inner products, not coordinate distance. +- Sync = commutative, associative, idempotent sharded Delta-CRDT registers (exact-recall determinism). + +Keeping `core_ha` as a pointwise store would reintroduce thaw decay and non-commutative BCH drift the wave-field frame eliminates. + +## 2. Legacy gaps resolved by wave subsumption + +| Legacy gap | Wave-field resolution | +|------------|------------------------| +| Thaw coordinate loss | Holographic standing-wave lock-in reconstructs at resonance spikes | +| Node eviction rigidity | Memory as continuous eigenmode spectrum of \(\mathcal{H}\); algebraic scale/compress | +| Granularity discrepancy | \(\psi_{\mathrm{total}}=\psi_{\mathrm{text}}+\psi_{\mathrm{audio}}+\psi_{\mathrm{vision}}+\psi_{\mathrm{motor}}\) phase alignment | + +## 3. File-by-file deprecation and absorption map + +| Legacy `core_ha` file | Status in `core-labs/core` | Absorption path | +|-----------------------|----------------------------|-----------------| +| `hyperbolic_primitives.py` | **Obsolete** (not present) | Proximity via `algebra/cga.py`, `algebra/cl41.py` | +| `atlas_id.py` | **Obsolete** (not present) | Resonant lock-in; no explicit coordinate node IDs | +| `operator_plane.py` | **Absorbed concept** | Rotors/translators/dilators in `dynamic_manifold.py` + `core-rs` versor path | +| `runtime_memory.py` | **Subsumed concept** | Field energy operator (`core/physics/energy.py`) E2–E3 active / E0–E1 deep | +| `consolidation.py` | **Subsumed concept** | Thermodynamic cooling → CRDT vaulting | +| `steward.py` | **Subsumed concept** | GoldTether monitor (`goldtether.py`) + unitary residual (ADR-0241) | +| `tombstone.py` | **Subsumed concept** | Delta-CRDT semilattice (`core/sync/`, `core-rs` vault) | + +**Inventory fact (2026-07-13):** this repository has **no** `core_ha/` package tree. Deprecation work is documentation, import hygiene, and wave-substrate implementation — not a bulk delete of live modules. + +## 4. Integration roadmap + +### Step 1 — Hygiene + +1. Confirm no `core_ha` / `hyperbolic_primitives` imports in CLI or eval loops (grep-clean). +2. Remove any Poincaré-coordinate fixtures if reintroduced. +3. Keep this memo as the absorption authority. + +### Step 2 — Wave substrate (ADR-0241) + +1. Land `core/physics/wave_manifold.py` with algebra-native unitary step, spectral leakage, polar analogy, chiral charge. +2. Later: optional Rust/MLX hot-path for bivector exp and cross-spectral correlation. + +### Step 3 — Operator wiring + +1. Surprise → spectral leakage (same discovery eligibility contract). +2. GoldTether → unitary amplitude residual (bootstrap/prune of \(\mathcal{I}_{gold}\) still deferred under #18). +3. Biography → holonomy of unitary propagators / resonant lock-in. + +## 5. Mathematical invariant safeguards + +1. **Unitary / sandwich residual:** \(\|\psi\widetilde{\psi}-1\|_F < 10^{-6}\) (dual-checked); fail-closed on breach. +2. **Chiral charge sign** (spinor path): \(\mathrm{sgn}(\langle\psi I\widetilde{\psi}\rangle_0)\) conserved under unitary \(R\). +3. **Hamiltonian / exertion energy boundary** (later motor work): action energy bounded by sensory energy — out of Slice 1 scope. +4. **Serving containment:** wave operators do not enter the wrong=0 serve path until explicit gates pass. + +## 6. Validation + +- ADR-0241 behavioral suite: `tests/test_adr_0241_wave_manifold.py` +- Fidelity ledger wave section: `docs/research/third-door-blueprint-fidelity.md` +- Regression: existing Third-Door ADR-0238/0239/0240 tests remain green under subsumption diff --git a/docs/research/third-door-blueprint-fidelity.md b/docs/research/third-door-blueprint-fidelity.md index fb44fc38..92070a6a 100644 --- a/docs/research/third-door-blueprint-fidelity.md +++ b/docs/research/third-door-blueprint-fidelity.md @@ -14,8 +14,11 @@ |---|---| | `CORE ASI Super-Blueprint_ Third-Door Horizon.docx` (mirror: `docs/research/CORE-ASI-Super-Blueprint-Third-Door-Horizon.md`) | Specifies signature-aware PCA (§2.1), Cartan–Iwasawa (§2.2), GoldTether scale harmonization (§2.3), Conformal Procrustes (§3.1), Surprise (§3.2), grade-5 pseudoscalar invariant (§3.3). **"Super §x"** below. | | `CORE Advanced AGI_ASI R&D Blueprint (Revised).docx` | Specifies blade induction (§2.1), trajectory invariants + zero-fabrication (§2.2), GoldTether-modulated transition surface + α control law (§2.3), ADR-DAG embedding (§2.4), bootstrapping (§5). **"R&D §x"** below. | -| `core/physics/{goldtether,dynamic_manifold,surprise,biography,temporal_gate,self_authorship}.py` | The landed code. | -| `tests/test_adr_023{8,9}_*.py`, `test_adr_0240_*.py` | The landed tests (34, all green — see §7 for why green ≠ faithful). | +| `docs/adr/ADR-0241-wave-field-driven-hyperbolic-atlas-and-resonant-cognition.md` | Wave-field substrate \(\psi\): unitary propagation, spectral leakage, polar analogy, chiral charge. **"ADR-0241"** below. | +| `docs/analysis/core_ha_unification_and_deprecation_plan.md` | Deprecate standalone `core_ha` pointwise atlas; absorb into wave + energy + GoldTether + CRDT vault. | +| `core/physics/{goldtether,dynamic_manifold,surprise,biography,temporal_gate,self_authorship}.py` | The landed Third-Door code (pointwise). Wave module: `wave_manifold.py` (Proposed). | +| `tests/test_adr_023{8,9}_*.py`, `test_adr_0240_*.py` | Landed Third-Door tests (see §7 for why green ≠ faithful historically). | +| `tests/test_adr_0241_wave_manifold.py` | Wave-field behavioral contract (RED until Slice 1 GREEN). | | `tests/test_third_door_blueprint_fidelity.py` | The living gap ledger (this document, executable). | **Containment fact (why this is safe to land):** nothing in serving / runtime / cognition imports `core.physics.*` — only the package `__init__`, the eval harness, and tests. `chat/runtime.py` is untouched on this branch. The autonomy `decide()` is fail-closed and never `AUTONOMOUS` in `SERVE`. The self-authorship miner is proposal-only and never writes the vault. None of the defects below can reach the `wrong=0` serving path. @@ -29,12 +32,18 @@ | 1 | Signature-aware PCA | Super §2.1 / R&D §2.1 | 🟢 faithful (one untested add-on) | — | | 2 | Cartan–Iwasawa decomposition | Super §2.2 | 🟢 faithful (null-point peel + Spin remainder) | #16 | | 3 | Conformal Procrustes | Super §3.1 | 🟢 faithful (Kabsch + field conjugacy) | #17 | -| 4 | GoldTether residual + α law | Super §2.3, R&D §2.3/§5 | 🟡 partial (#24 residual+α; bootstrap/prune deferred) | #18 | +| 4 | GoldTether residual + α law | Super §2.3, R&D §2.3/§5 | 🟡 partial (#24 residual+α landed; bootstrap/prune deferred) | #18 | | 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 | 🟢 math + DiscoveryCandidate wiring landed (#26 + #31) | #20 | | 7 | Trajectory invariants + zero-fabrication | R&D §2.2 | ⚫ absent | #21 | | 8 | ADR-DAG conformal embedding | R&D §2.4 | ⚫ absent | #21 | -| — | Biography holonomy | (ADR-0240; not in blueprints) | 🟢 sound | — | +| W1 | WaveManifold unitary / sandwich step | ADR-0241 §2 | 🟡 Proposed (RED tests) | ADR-0241 | +| W2 | Spectral leakage surprise | ADR-0241 §2.4B | 🟡 Proposed (RED tests) | ADR-0241 | +| W3 | Wave polar analogy (Procrustes upgrade) | ADR-0241 §2.4A | 🟡 Proposed (RED tests) | ADR-0241 | +| W4 | Unitary GoldTether + chiral spinor charge | ADR-0241 §2.4C–D | 🟡 Proposed (RED tests) | ADR-0241 / #18 | +| W5 | Biography resonant lock-in | ADR-0241 + ADR-0240 | ⚫ not started | ADR-0241 | +| W6 | `core_ha` deprecation / absorption | deprecation plan | 🟡 docs-only (no live tree) | ADR-0241 | +| — | Biography holonomy | (ADR-0240; not in blueprints) | 🟢 sound (pointwise) | — | | — | Temporal admissibility gate | (ADR-0240; not in blueprints) | 🟢 sound | — | | — | Self-authorship miner | (ADR-0240; not in blueprints) | 🟢 sound (proposal-only) | — | @@ -81,7 +90,7 @@ Two fields `F_A`, `F_B` are structurally analogous iff a single versor `V` maps --- -## 4. GoldTether residual + α control law — 🔴 half-missing (#18) +## 4. GoldTether residual + α control law — 🟡 partial (#18) ### Blueprint spec (Super §2.3, R&D §2.3/§5) - **Residual (scale-harmonized — Super §2.3, the blueprint's stated mission #1):** @@ -89,16 +98,21 @@ Two fields `F_A`, `F_B` are structurally analogous iff a single versor `V` maps - **α control law (R&D §2.3):** `α(t) = Φ(R; R_floor, R_critical)` — a smooth-step of the **instantaneous** residual. `α=0` (autonomous) when `R < R_floor`; linear ramp in between; `α=1` (full human override / fail-closed) when `R > R_critical`. α is the *constraint weight*; the supervised transition is the Cartan–Iwasawa factor-wise slerp of §2.3. - **Bootstrapping (R&D §5):** `𝓘_gold` primed with `n_o, n∞, 1`; audit-passed replay-deterministic state versors promoted into it by signed review vote (ADR-0092); decay/pruning to principal axes. -### What landed (`goldtether.py`) -- `coherence_residual(F) = max(versor_unit_residual(F), versor_unit_residual(reverse(F)))` — **drift term only**. No `gold_invariants` field exists; the geometric distance term and scale harmonization are absent. (`measure()` has an optional reference-distance term but the `residual()`/`update()` path the monitor uses does not.) -- Autonomy is a **monotonic per-step accumulator** (`autonomy += 0.01`, capped by a `floor` that rises `+0.02` only on `epistemic_elevation`) — **not** `Φ(R)`. `supervised_blend(source, target, alpha)` takes an **external** α, not one derived from the residual. -- No bootstrapping / `𝓘_gold` / promotion / decay. +### What landed (`goldtether.py`) — residual+α path (#24) +- `coherence_residual(F)` remains the fail-closed **closure** gate (dual-checked unit residual). +- `gold_invariants` seeded with identity + `n_o` + `n∞` (`_primal_gold_invariants`). +- `goldtether_residual(F)` = scale-harmonized two-term residual (drift/ε + dist-to-gold / ‖F‖). +- `alpha_constraint(F, mode=…)` = `Φ(R_gt; r_floor, r_critical)` composed with earned-autonomy floor; **SERVE always α=1**. +- `supervised_transition` / `supervised_blend` on the Spin geodesic (`word_transition_rotor` + `rotor_power`). +- `promote_gold_invariant(..., authorized=True)` is **caller-gated** (no self-authorize); `prune_gold_invariants` is a size bound retaining the three primals — **not** full principal-axis decay. -### The gap -The entire §2.3 harmonization fix and the §2.3/§5 gold-set machinery — the parts that give GoldTether its meaning — are not in the code path the monitor runs. The landed "earned autonomy" model is arguably a *safer* HITL story (autonomy must be earned slowly; serve never autonomous) but it is a different mechanism wearing the blueprint's names. +### Remaining gap (#18 follow-up — deferred while wave GoldTether lands) +- Full ADR-0092 / replay-verified promotion pipeline into `𝓘_gold`. +- Principal-axis decay/pruning of the gold set (R&D §5). +- ADR-0241 upgrade: unitary amplitude residual on \(\psi\) + optional chiral spinor charge (does not replace SERVE-never-autonomous). -### Done right -Add `𝓘_gold` (seeded `n_o, n∞, 1`), the two-term harmonized residual, and `α = Φ(R; R_floor, R_critical)` driving the Cartan–Iwasawa slerp. Preserve fail-closed + serve-never-autonomous. Document how the earned-autonomy ramp relates to (or is replaced by) `Φ(R)`. Depends on #16. +### Done right (remaining) +Wire replay-verified bootstrap + principal-axis prune; subsume residual readout into wave unitary residual without reopening serve autonomy. Preserve fail-closed + serve-never-autonomous. --- @@ -237,7 +251,36 @@ PY --- -## 12. Tracked follow-ups +## 12. Wave-field substrate (ADR-0241) — 🟡 Proposed + +> **Status (2026-07-13):** ADR + deprecation plan + RED behavioral suite landed on +> `feat/third-door-wave-field-substrate`. Implementation of `core/physics/wave_manifold.py` +> is **not** on main yet. This section is the living contract for full subsumption of +> Third-Door operators under continuous \(\psi\). + +### Spec (ADR-0241) +- Continuous multivector wave-field \(\psi \in Cl(4,1)\) (32-coeff) as the representation layer under Cartan/Procrustes, Surprise, GoldTether, Biography. +- **Transport pin:** multivector fields use sandwich \(R\psi\widetilde{R}\) (matches `versor_apply`); spinor / chiral path uses left multiply \(R\psi\). Documented per API; no silent mix. +- Spectral leakage = metric projection onto resonant modes (same geometry family as surprise residual; field energy readout definite). +- GoldTether unitary residual \(\|\psi\widetilde{\psi}-1\|_F\); chiral charge \(\langle\psi I\widetilde{\psi}\rangle_0\) only non-vacuous on odd-capable spinors (#19 remains closed for even field-state versors). +- `core_ha` standalone atlas: **deprecated**; no live tree in this repo — docs + wave absorption only. + +### Acceptance (behavioral — RED until GREEN) +- Unitary / sandwich step: amplitude residual \(< 10^{-6}\) after step (dual-checked). +- Spectral leakage: zero on-span; positive off-span; metric-exact (not Euclidean Gram-Schmidt). +- Wave polar: recovers known analogy rotor within residual pin. +- Chiral charge: conserved under unitary \(R\) for odd-capable \(\psi\). +- Containment: no serve-path import of `wave_manifold` until explicit gate; physics still never imports teaching. +- #18 bootstrap/prune of \(\mathcal{I}_{gold}\) **stays deferred** while wave unitary residual lands. + +### What is not done +- `core/physics/wave_manifold.py` implementation (Slice 1 GREEN). +- Subsumption of `surprise` / `dynamic_manifold` / `goldtether` / `biography` into wave primitives (Slice 2). +- Rust/MLX acceleration of exp-map / cross-spectral (optional later). + +--- + +## 13. Tracked follow-ups | Gap | Issue | |---|---| @@ -247,5 +290,7 @@ PY | Grade-5 pseudoscalar preservation gate — ⚪ RETIRED (vacuous; see §5) | #19 (closed) | | Surprise: metric projection + productivity polarity + DiscoveryCandidate wiring — 🟢 done | #20 (math #26; wiring #31) | | Absent proposals: sensorimotor + ADR-DAG | #21 | +| Wave-field substrate (unitary, leakage, polar, chiral) — 🟡 Proposed / RED | ADR-0241 | +| `core_ha` deprecation — 🟡 docs-only (no live tree) | ADR-0241 / deprecation plan | -Closing a gap = flip its `xfail` in `tests/test_third_door_blueprint_fidelity.py` to a passing behavioral test and delete the matching characterization lock. That is the definition of "done right" here. +Closing a gap = flip its `xfail` in `tests/test_third_door_blueprint_fidelity.py` (or the ADR-0241 suite) to a passing behavioral test and delete the matching characterization lock. That is the definition of "done right" here.