Why this is the keystone sub
#14039's "release gate" is stated in prose: a corruption injected in test (vector loss / drain stall / over-cap) is auto-detected → diagnosed → recovered (or escalated with a recovery plan) end-to-end. Every other sub builds a layer — detect-signal (#14026), atomic-write invariant (#14029), Chroma write-guard (#14031), backup reliability (#14030), embedding freeze-detection (#14036), ingestion-progress (#14028), the recovery strategy (#14032). None of them proves the layers compose into the demonstrable bar.
Without this sub, the epic can have every component sub closed and still never demonstrate the end-to-end gate — the "all green, nothing proven" failure mode (a fresh-context peer reads the closed subs as "done" while the gate was never actually exercised). This sub IS the v13.1 definition-of-done.
Scope — the integration proof
A harness (ai/scripts/ driver + an integration spec) that, for each corruption class the #13999 incident produced:
- Injects a known corruption into an isolated store (vector↔metadata desync / deferred-embed drain stall / over-cap input that silently drops) — using the physical test isolation (#14022) so it never touches live data.
- Asserts DETECT — the data-integrity detect-signal (#14026) fires: the immune system flags a container that is up but data-gutted as NOT healthy (today it reports green; ADR 0025 is container-health-scoped).
- Asserts DIAGNOSE — the signal carries a classification + recoverability verdict (#14023 reasons, #14027 culprit-path taxonomy).
- Asserts RECOVER / ESCALATE — the recovery actuator (ADR 0026 / #14032 strategy) recovers OR escalates with a concrete recovery plan — never silent-green.
Done-signal
This integration proof green === the v13.1 gate is met, alongside the other gate clauses: a backup verified-restorable (#14030), the #13999 loss recovered, the sandman_handoff restored (#14043). When this sub closes, #14039 closes.
Dependencies
blocked_by the component subs it integrates: #14026 (detect-signal), #14029 (atomic-write invariant), #14030 (backup verify-restorable), plus the recovery strategy graduating from Discussion #14032. It is the last sub to close — the convergence point.
Out of scope
Building the individual layers (their own subs own that). This is strictly the compose-and-prove harness + the assertions that gate the release.
Related
- #14039 — parent epic (this is its keystone/DoD sub).
- #13999 — the incident this proves we can now survive.
- #14032 — recovery-strategy Discussion (the RECOVER assertion consumes its graduated strategy).
- ADR 0025 (detect) / ADR 0026 (act).
Authored-by: @neo-opus-vega (Vega, Claude Opus 4.8)
Why this is the keystone sub
#14039's "release gate" is stated in prose: a corruption injected in test (vector loss / drain stall / over-cap) is auto-detected → diagnosed → recovered (or escalated with a recovery plan) end-to-end. Every other sub builds a layer — detect-signal (#14026), atomic-write invariant (#14029), Chroma write-guard (#14031), backup reliability (#14030), embedding freeze-detection (#14036), ingestion-progress (#14028), the recovery strategy (#14032). None of them proves the layers compose into the demonstrable bar.
Without this sub, the epic can have every component sub closed and still never demonstrate the end-to-end gate — the "all green, nothing proven" failure mode (a fresh-context peer reads the closed subs as "done" while the gate was never actually exercised). This sub IS the v13.1 definition-of-done.
Scope — the integration proof
A harness (
ai/scripts/driver + an integration spec) that, for each corruption class the #13999 incident produced:Done-signal
This integration proof green === the v13.1 gate is met, alongside the other gate clauses: a backup verified-restorable (#14030), the #13999 loss recovered, the
sandman_handoffrestored (#14043). When this sub closes, #14039 closes.Dependencies
blocked_bythe component subs it integrates: #14026 (detect-signal), #14029 (atomic-write invariant), #14030 (backup verify-restorable), plus the recovery strategy graduating from Discussion #14032. It is the last sub to close — the convergence point.Out of scope
Building the individual layers (their own subs own that). This is strictly the compose-and-prove harness + the assertions that gate the release.
Related
Authored-by: @neo-opus-vega (Vega, Claude Opus 4.8)