# Substrate Physics — Implementation Map

Physics canon ↔ runtime code. Update this table when canon or implementation changes.

**Last aligned:** Sprint 67 (verification + demo closure)

---

## Equation ID → service / function

| Equation | Canon name (short) | Primary implementation | Persisted to |
|----------|-------------------|------------------------|--------------|
| EQ-001 | Phase drive λ | `PhaseDriveCalculator` · `EquationExecutionService.evaluateForSignal` | `substrate_equation_evaluations` |
| EQ-002 | Phase transition | `PhaseDriveCalculator` (λ vs λ_critical) · same | `substrate_equation_evaluations` · `substrate_phase_assessments` |
| EQ-003 | Coordination pressure P | `CoordinationPressureEngine` | `substrate_equation_evaluations` |
| EQ-004 | Unresolved load | inline in `EquationExecutionService` | `substrate_equation_evaluations` |
| EQ-005 | Coordination volume | inline in `EquationExecutionService` | `substrate_equation_evaluations` |
| EQ-006 | Substrate temperature θ | `SubstrateTemperatureCalculator` | `substrate_equation_evaluations` |
| EQ-012 | Coordination flux | `CoordinationFluxEngine` · `GovernanceFluxRuntime` | `substrate_coordination_flux_states` |
| EQ-013 | Unified stress | `BoundaryStressEstimator` · `GovernanceFluxRuntime` | `substrate_boundary_stress_states` |
| EQ-014 | Governance–flux coupling | `GovernanceFluxRegulator` | `substrate_governance_flux_regulations` |
| EQ-015 | Membrane permeability / damage | `MembraneDamageAccumulator` · `BoundaryFailureDetector` | `substrate_membrane_damage_events` |
| EQ-016 | Authority divergence | `AuthorityDivergenceCalculator` | `substrate_equation_evaluations` |
| EQ-017 | Authority-adjusted phase drive λ_A | `AuthorityAdjustedPhaseDriveCalculator` | `substrate_equation_evaluations` |
| EQ-021 | Geometric vulnerability | geometry branch in `EquationExecutionService` | `substrate_equation_evaluations` · `substrate_geometry_snapshots` |
| EQ-022 | Manipulation drive λ_m | `ManipulationDriveCalculator` | `substrate_equation_evaluations` · `substrate_threat_assessments` |
| EQ-026 | Threshold elevation | `ThresholdElevationCalculator` | `substrate_equation_evaluations` |

MVP evaluate path runs **EQ-001–006, 016–017, 021–022, 026** (`MVP_EQUATION_IDS` in `equation-execution.service.ts`).

---

## Phase → enum alias

| LaunchPhaseSet (canon) | TypeScript enum | Legacy snapshot phase (`substrate_phase`) | Alias helper |
|------------------------|-----------------|-------------------------------------------|--------------|
| `working` | `LaunchPhase` in `@substrate/physics` | `liquid` (hint) | `legacyPhaseHint()` · `inferLaunchPhaseFromSnapshot()` |
| `stable` | same | high coherence + low entropy | `classifyPhase()` |
| `overloaded` | same | `gas` (hint) | `classifyPhase()` |
| `fragmented` | same | `fragmented` | `classifyPhase()` |
| `contaminated` | same | poison / quarantine signals | `classifyPhase()` |
| `crystallizing` | same | `crystal` (partial) | `classifyPhase()` |
| `canonical` | same | `crystal` + quality gates | `classifyPhase()` |
| `collapsing` | same | failure basin proximity | `classifyPhase()` |
| `recovering` | same | `glass` (hint) | `classifyPhase()` |

**Policy enforcement:** `applyPhasePolicy()` in `packages/substrate-physics/src/phases/phase-policy-engine.ts`  
**Evaluate wiring:** `PhaseRegimeService` → `SubstrateEvaluationOrchestrator` (receipt binding `phase_regime_assessment`)  
**Observability:** `v_substrate_phase_regime` · `v_tracescript_phase_regime`

SmartPeers review object phases map to LaunchPhaseSet via `REVIEW_OBJECT_TO_LAUNCH_PHASE` in `@substrate/contracts` (doc 06 §4.5).

---

## Receipt binding type → table

Integrity receipts are stored in `substrate_integrity_receipts`. Bindings link receipts to evidence rows in `substrate_receipt_bindings`.

| Binding type | Primary evidence table | Service that binds |
|--------------|------------------------|-------------------|
| `governed_signal` | `substrate_signals` | `SubstrateEvaluationOrchestrator` · kernel replay |
| `governance_decision` | `substrate_governance_decisions` | orchestrator |
| `kernel_result` | `substrate_kernel_results` | `KernelReplayService` |
| `phase_regime_assessment` | `substrate_phase_regime_assessments` | `SubstrateEvaluationOrchestrator` |
| `action_basis_snapshot` | `substrate_action_basis_snapshots` | `ActionBasisGateService` |
| `action_basis_authorization` | `substrate_action_basis_authorizations` | `ActionBasisGateService` |
| `retrieval_filter` | `substrate_retrieval_filter_receipts` | `InfluenceControlService` / retrieval filter |
| `coherence_scan` | `substrate_coherence_scans` | enforcement path |
| `authority_evaluation` | `substrate_authority_evaluations` | `AuthorityResolver` |
| `policy_path_evaluation` | `substrate_policy_path_evaluations` | `PolicyPathValidator` |
| `memory_pressure` | `substrate_memory_pressure_events` | memory pressure runtime |
| `governance_membrane` | membrane flux tables | `GovernanceFluxRuntime` |
| `recovery_plan` | `substrate_recovery_plans` | `RecoveryPlanner` |
| `promotion_freeze` | `substrate_promotion_freezes` | `PromotionFreezeService` |
| `contradiction_record` | `substrate_contradiction_records` | contradiction substrate |
| `coordination_state` | `substrate_coordination_states` | `CoordinationStateMonitor` |
| `trace_transition` | `substrate_trace_transitions` | trace lifecycle |
| `canonicalization_gate` | `substrate_canonicalization_gates` | canonicalization |
| `geometry_assessment` | geometry runtime tables | geometric runtime |
| `topology_assessment` | topology tables | topology service |

Specialized product receipts (not always bound via generic integrity evaluate):

| Artifact | Table | View |
|----------|-------|------|
| Retrieval envelope | `substrate_retrieval_filter_receipts.integrity_envelope` | `v_tracescript_retrieval_integrity` |
| Action basis integrity | `substrate_action_basis_snapshots` | `v_tracescript_action_basis_integrity` |
| SmartPeers review graph | `smartpeers_review_*` | `v_smartpeers_review_substrate` |
| Calibration run | `substrate_calibration_runs` | `v_substrate_calibration_drift` |
| Decision outcome | `substrate_decision_outcomes` | `v_substrate_prediction_error_summary` |

---

## Physics capabilities → code path

| Capability | Canon doc | Package / service | Proof |
|------------|-----------|-------------------|-------|
| Phase classification | 01 | `@substrate/physics` `classifyPhase` | `phase-regime.test.ts` · ISF evaluate path |
| Phase policy enforcement | 01 | `applyPhasePolicy` · `PhaseRegimeService` | orchestrator unit tests · receipt binding |
| Room state vector x(t) | 06 | `SmartPeersReviewSubstrateService.computeRoomStateVector` | SP-001..003 fixtures |
| Action basis assembly | 08 | `ActionBasisAssemblerService` | ISF-014..016 |
| Basis integrity scoring | 08 | `scoreBasisIntegrity` (`BasisIntegrityScorer`) | ISF fixtures · `v_tracescript_action_basis_integrity` |
| Retrieval envelope | 09 | `RetrievalIntegrityEnvelopeService` · `InfluenceControlService` | retrieval unit tests · migration 069 |
| Learning registry v0.2 (§6.19 deferred) | 05 | `v_tracescript_learning_registry` · `LearningRegistryService` · LR-001..003 | Sprint 66 loop · Sprint 67 CI proof + demo |

---

## Observability views (operator dashboard allowlist)

Physics-relevant views in `PgObservabilityRepository`:

- `v_substrate_phase_regime` · `v_tracescript_phase_regime`
- `v_tracescript_action_basis_integrity`
- `v_tracescript_retrieval_integrity`
- `v_smartpeers_review_substrate`
- `v_substrate_prediction_error_summary` · `v_substrate_calibration_drift`

Query via `GET /substrate/observability/:viewName` (tenant-scoped).
