mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
218 lines
8.4 KiB
Markdown
218 lines
8.4 KiB
Markdown
# Bind Migration Guide: Reengineering the Cells
|
||
|
||
**Date:** 2026-04-14
|
||
**Status:** ACTIVE MIGRATION
|
||
**Truth Seal:** `[ SSS-ENE-TRUTH-2026-04-14 ]`
|
||
|
||
---
|
||
|
||
## 1. The New Anatomy
|
||
|
||
Instead of 140+ isolated equations across 12 layers, the stack now has:
|
||
|
||
1. **One primitive:** `bind(left, right, metric_kind, history)`
|
||
2. **One formal spec:** `Semantics/Bind.lean`
|
||
3. **One runtime engine:** `infra/access_control/bind_engine.py`
|
||
4. **One invariant boundary:** `Semantics/Physics/*.lean`
|
||
|
||
Every existing module is being reengineered as a **cell type** — a differentiated instance of the same primitive.
|
||
|
||
---
|
||
|
||
## 2. What Exists Now
|
||
|
||
### 2.1 Formal Layer (Lean 4)
|
||
|
||
| File | Role | Status |
|
||
|---|---|---|
|
||
| `0-Core-Formalism/lean/Semantics/Semantics/Bind.lean` | Root primitive `Bind A B` | ✅ Compiles |
|
||
| `0-Core-Formalism/lean/Semantics/Semantics/Physics/BindPhysics.lean` | Proof-of-pattern: physical interactions as `bind` instances | ✅ Compiles |
|
||
| `0-Core-Formalism/lean/Semantics/Semantics.lean` | Updated to `version := "2.0.0-Cambrian-Bind"` | ✅ Compiles |
|
||
|
||
**Build verification:**
|
||
```bash
|
||
cd 0-Core-Formalism/lean/Semantics && lake build
|
||
# Build completed successfully (24 jobs)
|
||
```
|
||
|
||
### 2.2 Runtime Layer (Python)
|
||
|
||
| File | Role | Status |
|
||
|---|---|---|
|
||
| `infra/access_control/bind_engine.py` | Universal `BindEngine` with n-local metric computation | ✅ Runs |
|
||
|
||
**Runtime verification:**
|
||
```bash
|
||
python3 infra/access_control/bind_engine.py
|
||
# Physical bind: lawful=True, cost=0.000000
|
||
# Last geometric bind: metric.tensor=geometric, torsion=0.047790, history_len=4
|
||
```
|
||
|
||
### 2.3 Registry (TSV)
|
||
|
||
| File | Change | Status |
|
||
|---|---|---|
|
||
| `docs/MATH_MODEL_MAP.tsv` | Added `Bind_Class` column; every row classified | ✅ Updated |
|
||
|
||
---
|
||
|
||
## 3. Migration Map: Old File → New Cell
|
||
|
||
### 3.1 Production Pipeline (Priority 1)
|
||
|
||
| Old File | Old Role | New Cell | Action |
|
||
|---|---|---|---|
|
||
| `infra/access_control/geometry/geometry_plugin_v2.py` | Euclidean geometric preprocessor | `geometric_bind` via `BindEngine` | **Replace** with `bind_engine.geometric_bind()` |
|
||
| `tools/cache_sieve.py` | Raw manifold thresholding | `control_bind` via `BindEngine` | **Refactor** to consume `BindResult.cost` and `BindResult.metric.torsion` |
|
||
| `infra/access_control/pipeline/unified_pipeline.py` | Orchestrator with `TemporalBuffer` | `BindEngine` user | **Wire** `TemporalBuffer.history` into `BindEngine.bind(..., use_history=True)` |
|
||
| `tools/cache_sieve_exploration.py` | Relation sieve exploration | `control_bind` | **Port** 5-symbol sieve to use `bind()` with custom cost function |
|
||
|
||
### 3.2 Lean Formalisms (Priority 2)
|
||
|
||
| Old File | Old Role | New Cell | Action |
|
||
|---|---|---|---|
|
||
| `core/lean/geoweird/GWLKernel.lean` | Riemannian metric + geodesic integration | `geometric_bind` formal spec | **Port** `Metric2D`, `Christoffel2D`, `geodesicStep` into `Semantics/Bind.lean` metric instances |
|
||
| `core/lean/geoweird/WaveprobeKernel.lean` | Risk / heat / hysteresis control | `control_bind` formal spec | **Port** risk function and LUT policy into `Semantics/Bind.lean` control instances |
|
||
| `core/lean/geoweird/EmergenceSystem.lean` | Phase transition detection | `control_bind` | **Port** diminishing-ratio trigger into `Bind` cost function |
|
||
| `core/lean/geoweird/ConstraintGeometry.lean` | Constraint-to-curvature translator | `geometric_bind` | **Port** as metric initialization helper |
|
||
|
||
### 3.3 Thermodynamic & Stress Models (Priority 3)
|
||
|
||
| Old File | Old Role | New Cell | Action |
|
||
|---|---|---|---|
|
||
| `core/gwl-vm/src/thermo/entropy_engine.rs` | Shannon / Kolmogorov entropy | `informational_bind` | **Wrap** with `bind_engine.informational_bind()` or Rust equivalent |
|
||
| `core/gwl-vm/src/thermo/informatic_stress.rs` | Hardware stress / RUL / SEU | `thermodynamic_bind` | **Wrap** with `bind_engine.thermodynamic_bind()` |
|
||
| `core/gwl-vm/src/thermo/qcl_energy_model.rs` | QCL photon physics | `physical_bind` | **Wrap** with `bind_engine.physical_bind()` |
|
||
| `core/gwl-vm/src/thermo/bea_thermo_bridge.rs` | BEA consensus bridge | `thermodynamic_bind` | **Wrap** |
|
||
|
||
### 3.4 Compression & Signal (Priority 4)
|
||
|
||
| Old File | Old Role | New Cell | Action |
|
||
|---|---|---|---|
|
||
| `tools/geometry_bind.py` | PCA/HarfBuzz bind score | `informational_bind` | **Replace** with `bind_engine.informational_bind()` using KL cost on feature distributions |
|
||
| `core/intrinsic/formalisms/ene_mi_signal.py` | MI prediction / surprise | `informational_bind` | **Replace** |
|
||
| `scripts/soliton_factory.py` | PHI proximity, foam score | `geometric_bind` | **Replace** `phi_prox` with `bind_engine.bind(..., metric_kind="geometric")` |
|
||
| `tools/geometry_noneuclidean.py` | Log-PHI / logit / writhe | `geometric_bind` | **Absorb** into `bind_engine.py` as subroutines |
|
||
|
||
### 3.5 Verilog / Hardware (No Change Needed)
|
||
|
||
| Old File | Old Role | New Cell | Action |
|
||
|---|---|---|---|
|
||
| `core/src/tsm_perpetual_manifold.v` | Hardware substrate | Consumer of `bind` output | **None** — it receives field states, doesn't compute geometry |
|
||
|
||
---
|
||
|
||
## 4. Step-by-Step Migration Sequence
|
||
|
||
### Phase 1: Kill the Euclidean Assumption (This Week)
|
||
|
||
**Goal:** Replace `geometry_plugin_v2.py` with `bind_engine.py` in the live pipeline.
|
||
|
||
1. **In `infra/access_control/pipeline/unified_pipeline.py`:**
|
||
```python
|
||
from bind_engine import BindEngine, geometric_bind
|
||
|
||
self.bind_engine = BindEngine()
|
||
```
|
||
|
||
2. **Replace `GeometricBridgePlugin.transform()` calls:**
|
||
```python
|
||
# OLD
|
||
geom = self._geometry_plugin.transform(manifold)
|
||
|
||
# NEW
|
||
result = geometric_bind(
|
||
state_a={"state_vector": prev_state},
|
||
state_b={"state_vector": current_state},
|
||
engine=self.bind_engine,
|
||
)
|
||
cost = result.cost
|
||
torsion = result.metric.torsion
|
||
```
|
||
|
||
3. **Verify:** Run `test_compliance_fixes.py` and confirm no regression.
|
||
|
||
### Phase 2: Reorganize `cache_sieve.py` (Next Week)
|
||
|
||
**Goal:** Stop using raw manifold proxies; use bind-derived geometric features.
|
||
|
||
1. **Replace input mapping:**
|
||
```python
|
||
# OLD
|
||
inputs = [
|
||
int(phi_corr * 255) & 0xFF,
|
||
int(sum(tau_samples[:32]) * 10) & 0xFF,
|
||
...
|
||
]
|
||
|
||
# NEW
|
||
bind_result = self.bind_engine.bind(
|
||
left=manifold_prev,
|
||
right=manifold_curr,
|
||
metric_kind="geometric",
|
||
use_history=True,
|
||
)
|
||
inputs = encode_bind_features(bind_result)
|
||
```
|
||
|
||
2. **Add custom cost function for sieve:**
|
||
```python
|
||
def sieve_cost(left, right, metric):
|
||
return _geodesic_cost(left, right, metric) + metric.torsion * 10.0
|
||
```
|
||
|
||
### Phase 3: Port Lean Geometric Formalisms (Ongoing)
|
||
|
||
**Goal:** Make `GWLKernel.lean` a formal instance of `Bind`.
|
||
|
||
1. **In `Semantics/Bind.lean`, add metric constructors:**
|
||
```lean
|
||
def Metric.riemannian (g_tt g_tp g_pp : Float) : Metric := { ... }
|
||
def Metric.fromChristoffel (Γ : Christoffel2D) : Metric := { ... }
|
||
```
|
||
|
||
2. **In `Semantics/Geometry/BindGeodesic.lean`:**
|
||
```lean
|
||
def geodesicBind (x v : Rat × Rat) (Γ : Christoffel2D) : Bind (Rat×Rat) (Rat×Rat) :=
|
||
bind (x, v) (geodesicStep (x, v) Γ dt) metric geodesicCost invariant invariant
|
||
```
|
||
|
||
### Phase 4: Collapse Rust Thermodynamics (After Python Stabilizes)
|
||
|
||
**Goal:** Wrap Rust thermo modules with a thin `bind` interface.
|
||
|
||
1. Add `bind_thermodynamic(state, equilibrium)` to `core/gwl-vm/src/thermo/mod.rs`
|
||
2. Ensure it calls the same entropy / stress / QCL functions, but framed as `bind`.
|
||
|
||
---
|
||
|
||
## 5. What to Delete
|
||
|
||
The following concepts are **deprecated** by the collapse:
|
||
|
||
| Deprecated Concept | Reason |
|
||
|---|---|
|
||
| `LAYER_A` through `LAYER_L` | Replaced by 5 `Bind_Class` instances |
|
||
| `phi_prox = max(0, 1 - abs(r - PHI)/PHI)` | Replaced by `geometric_bind` with log-PHI metric |
|
||
| `GeometricBridgePlugin` (Euclidean version) | Replaced by `BindEngine` with n-local metric |
|
||
| `CacheSieve` raw input scaling | Replaced by `bind`-derived encoded features |
|
||
| `CHATGPT_EXTRACTION_GAP_ANALYSIS` action items for isolated patches | Superseded by unified `bind` engine plan |
|
||
|
||
---
|
||
|
||
## 6. Verification Checklist
|
||
|
||
- [x] Lean `Bind.lean` compiles
|
||
- [x] Python `bind_engine.py` runs
|
||
- [x] `MATH_MODEL_MAP.tsv` updated with `Bind_Class`
|
||
- [ ] `geometry_plugin_v2.py` replaced by `bind_engine` in pipeline
|
||
- [ ] `cache_sieve.py` refactored to use `BindResult`
|
||
- [ ] `test_compliance_fixes.py` passes after migration
|
||
- [ ] `GWLKernel.lean` formulas ported to `Bind` metric instances
|
||
- [ ] Rust thermo modules wrapped with `bind` interface
|
||
|
||
---
|
||
|
||
## 7. One-Liner Summary
|
||
|
||
> **There is no stack. There is `bind`. We are reengineering every cell to express itself through that one primitive.**
|