{
  "version": 1,
  "messageId": "9b9ece29-ba11-44ee-bdf7-63c3c3e1258f",
  "from": "lead",
  "to": "live-controller",
  "kind": "message",
  "body": "V5 rehearsal blocker accepted: unmodified approval reached transaction, then unsafe_snapshot_source on 26,960 hardlinked runtime files; clone FAILED consumption and ROLLED_BACK; live unchanged. Blocker SHA e326d0acb1f40b3b36497125adfeabec4f1703ba7bd19e1454964e8f40e70eb2, cleanup 543d8936a0d2dba7a1d2e12ca3053f1d496cb6430e2e7498e73f728ff9dc2ce8. V5 phrase NON-AUTHORIZABLE. Current V6 source fixes root without weakening capture nlink safety: snapshot_sources returns only config/registry/unit/dropin; protected_paths hashes all stable protected inventory verify-only; volatile logs excluded; rollback re-verifies protected bytes. Hardlink regression RED→GREEN. Constants bind `/live-transaction-preseal-v6-protected-inventory`. Strict closure: 68 tests; Ruff 31 PASS; basedpyright 0/0/0; ty PASS; no-excuse 31; LSP clean. Preserve all prior bytes/evidence. Freeze NEW V6 paths and NEW digest/phrase, manifest last, include all supersessions/blockers, run exact verifier. No rehearsal/live/approval use.",
  "timestamp": 1787875475279,
  "summary": "Freeze strict-green V6 protected-inventory closure"
}
