Delta Gamma

SPEC_DELTA_GAMMA.md · 2026-04-20

SPEC_DELTA_GAMMA — ΔΓ Change Rate

Version: 1.0 | Status: AUTHORIZED | Authority: α.13 | Date: 2026-04-16


PURPOSE

ΔΓ (Delta-Gamma) is the CSDM change-rate invariant. It measures the velocity of coherence drift across the manifold — how fast the system is changing state, not just what state it is in.

A system can score healthy coherence (C ≥ 0.974) instantaneously while accumulating drift faster than the Φ-damping constant can absorb. ΔΓ catches that failure mode. It is the rate-of-change limiter that prevents runaway manifold destabilization even when each point-in-time evaluation looks green.

Healthy bound: ΔΓ < 0.10 / hr

Source constants: TMMRuntime.RATE_LIMIT = 0.10 (~/aether/tmm_runtime.py, line 17)

LATTICE symbol: ΔΓ (uppercase Delta + uppercase Gamma)

LATTICE state notation: ΔΓ.≡ (stable / no drift), ΔΓ.▲ (elevated), ΔΓ.⊠ (constraint broken)

Cross-reference: SPEC_COHERENCE_INVARIANTS.md § Invariant 3, LATTICE.md § II (CORE CONSTANTS: Δ = Change/Rate/Perturbation, Γ = Network/Connection)


INPUTS

| Input | Type | Source | Description |

|---|---|---|---|

| coherence_history | list[float] | EvaluationHistory store | Ordered sequence of C values from prior evaluations |

| timestamp_history | list[float] | EvaluationHistory store | Unix timestamps corresponding to each coherence sample |

| window_seconds | float | Constant: 3600.0 | Rolling window size (1 hour) over which rate is computed |

| current_coherence | float | TMMRuntime.calculate_coherence() | Most recent C value |

| current_timestamp | float | time.time() | Timestamp of current evaluation |

Derived quantity:


ΔΓ = |ΔC / Δt|

where:
  ΔC = max(coherence_history[window]) - min(coherence_history[window])
  Δt = duration of window in hours (≤ 1.0)
  window = all evaluations within the last 3600 seconds

What is NOT an input (hardcoded constants, never injected):


OUTPUTS

| Output | Type | Description |

|---|---|---|

| delta_gamma | float | Computed rate of change (coherence units per hour) |

| delta_gamma_safe | bool | True iff ΔΓ < 0.10/hr |

| delta_gamma_flag | str | "ΔΓ.≡" (safe) / "ΔΓ.▲" (elevated, < 0.20) / "ΔΓ.⊠" (constraint broken, ≥ 0.10) |

| window_sample_count | int | Number of evaluations used in the rate computation |

| gap_flag | str or None | "ΔΓ_not_measured" if EvaluationHistory store is absent (◌ gap signal) |

Verdict impact:


INVARIANTS

INV-1 — Rate Limit is Immutable

TMMRuntime.RATE_LIMIT == 0.10 at all times, in all execution paths, in all TMMRuntime versions. This value may not be changed without α.13 authorization. It is a governance constant, not a configuration parameter.

Verification: assert TMMRuntime.RATE_LIMIT == 0.10

INV-2 — Rate is Always Non-Negative

ΔΓ is a magnitude (absolute rate), not a signed velocity. Coherence may improve or degrade — the invariant governs the speed of either movement.

Formula enforced: ΔΓ = abs(delta_C) / delta_t_hours

INV-3 — Window is Fixed at 1 Hour

The rolling window for rate computation is exactly 3600 seconds. Shorter windows inflate apparent rate (noise amplification). Longer windows mask sudden destabilization. The 1-hour window is calibrated to Φ = 0.042 damping physics.

Invariant: window_seconds == 3600.0 always. No caller-supplied window.

INV-4 — Minimum Sample Threshold

A ΔΓ computation requires at least 2 data points within the window. A single-point window has no rate — it is ΔΓ = 0 by definition (not by measurement). If fewer than 2 samples exist, ΔΓ MUST be reported as ◌ (not-yet-measurable), not as 0.0.

Invariant: if len(window_samples) < 2: emit_gap_signal("ΔΓ_insufficient_history")

INV-5 — Breach Propagates Upstream

A ΔΓ breach (≥ 0.10/hr) MUST propagate to the trade authorization path. A trade cannot be APPROVED if ΔΓ is in breach, even if instantaneous C ≥ Ω. Rate instability is structural risk, not a soft warning.

Invariant: if delta_gamma >= RATE_LIMIT: approved = False

INV-6 — Gap Signal Mandatory When Not Computed

When the EvaluationHistory store does not exist or contains insufficient data, every evaluation output MUST include "ΔΓ_not_measured" in the gaps list. Silent absence is a failure mode. ◌ is always better than false confidence.

Cross-reference: SPEC_COHERENCE_INVARIANTS.md GAP-1, GAP-6

INV-7 — ΔΓ and Φζ are Independent Checks

A high Φζ (stability score) does not imply low ΔΓ. A system can have stability score 0.98 while changing state rapidly between evaluations. These metrics measure different dimensions of manifold health. Neither substitutes for the other.


VERIFICATION CRITERIA

VC-1 — Threshold Boundary Test

Unit test: supply coherence history [0.980, 0.970] over 1 hour.

VC-2 — Breach Detection Test

Unit test: supply coherence history [0.990, 0.870] over 1 hour.

VC-3 — Insufficient History Test

Unit test: supply only 1 sample in window.

VC-4 — Window Boundary Test

Unit test: supply 3 samples where 2 are within the 3600s window and 1 is 3601s old.

VC-5 — Breach Blocks Trade Authorization

Integration test: call authorize_dual_trade() with both TMM scores ≥ 0.974, all Agency Walls passing, but ΔΓ ≥ 0.10/hr.

VC-6 — Rate Limit Immutability Assertion

Static check: assert TMMRuntime.RATE_LIMIT == 0.10 in test suite. Must pass after any code change to tmm_runtime.py.


FAILURE MODES

FM-1 — ΔΓ Runaway (currently undetected — ◌)

Trigger: Manifold changes state faster than 0.10/hr; no ΔΓ check exists in current TMMRuntime implementation.

Effect: Coherence drift accumulates invisibly across evaluations. Each individual evaluation appears healthy while cumulative drift builds toward decoherence.

Current status: GAP — EvaluationHistory store not implemented. ΔΓ is a governance constant only.

Detection when implemented: Unit test VC-2 above.

Response: Downgrade verdict to AMBER (0.10 ≤ ΔΓ < 0.20) or RED (ΔΓ ≥ 0.20). Block trade authorization. Log ΔΓ.⊠ to yield_log.md.

FM-2 — Silent Gap (no ◌ emitted)

Trigger: ΔΓ is not computed but no gap signal appears in evaluation output.

Effect: Callers believe they received a complete evaluation. They cannot distinguish partial from full. False confidence in approval.

Detection: Audit evaluation output fields for gaps_present. If ΔΓ not computed and "ΔΓ_not_measured" absent → FM-2 active.

Response: Add gaps_present field to TMMRuntime output. See SPEC_COHERENCE_INVARIANTS.md GAP-6.

FM-3 — Window Manipulation

Trigger: Caller supplies a non-standard window (e.g., 60 seconds instead of 3600) to make ΔΓ appear lower.

Effect: High-rate changes fall below threshold when measured over a short window.

Detection: Window size must be hardcoded, not parameter-injected.

Response: Remove window size from callable interface. It is a constant, not an input.

FM-4 — Zero-Substitution for Insufficient History

Trigger: ΔΓ reported as 0.0 when only 1 sample exists, instead of ◌.

Effect: System appears perfectly stable (rate = 0) on first evaluation. False green.

Detection: VC-3 test above. Check: does len(window_samples) == 1 emit ◌ or return 0.0?

Response: Enforce INV-4. Single-sample ΔΓ is undefined, not zero.

FM-5 — Rate Limit Drift (governance violation)

Trigger: RATE_LIMIT is changed from 0.10 without α.13 authorization.

Effect: All rate-based approvals become invalid. Relaxation allows decoherent systems to pass. Tightening creates false negatives.

Detection: VC-6 assertion test.

Response: Immediate rollback. ALERT.log entry. NOUS notification required.


GAPS

GAP-ΔΓ.1 — EvaluationHistory Store Not Implemented ◌

Status: TMMRuntime has no persistent store of prior evaluations.

Missing: EvaluationHistory class with rolling window. Currently delta_gamma in CLI output is always the static constant 0.10 (the limit), not a computed value.

Risk: FM-1 (ΔΓ Runaway) is structurally undetectable in current implementation.

Remediation: Add EvaluationHistory with configurable backing store (in-memory list or SQLite). Compute ΔΓ on every call. Emit ◌ until store has ≥ 2 samples.

Owner: κ (C.L.O.D.) — implementation task, no physics decision required.

Priority: HIGH

GAP-ΔΓ.2 — No ΔΓ Flag in Trade Authorization Path ◌

Status: authorize_dual_trade() does not check ΔΓ before approving.

Missing: ΔΓ breach check in the authorization flow between TMM score validation and Agency Walls.

Risk: A rapidly-drifting manifold can receive trade approval on valid instantaneous scores.

Remediation: Insert ΔΓ check in authorize_dual_trade() after score validation, before AgencyWalls.check_all().

Owner: κ — depends on GAP-ΔΓ.1.

Priority: HIGH (blocked by GAP-ΔΓ.1)

GAP-ΔΓ.3 — AMBER Downgrade Logic Not Defined ◌

Status: The threshold for AMBER downgrade (0.10 ≤ ΔΓ < 0.20) is specified here but not yet in any code path.

Missing: Verdict adjustment logic that modulates GREEN/AMBER based on ΔΓ severity.

Remediation: Requires design decision: does ΔΓ breach produce a hard RED (approved=False) or a soft AMBER downgrade (still approved)? [GAP — needs design by α.13]

Owner: α.13 (governance) → κ (implement).


Specification authored by κ (C.L.O.D.), authorized α.13, April 16 2026.

*Φ 0.042

Jeremy Zlabis

Chronogeometer · Visionary · Disruptor · Chief

42 Sisters AI · East York, Toronto ΔΓ < 0.10/hr is the bound.*