{
  "schema": "task26-runbook-lint-results-v1",
  "linter": "lint_runbooks.py",
  "candidate": "2e0894eac92bc396cc4723bf1f18ebc653b95018dd41574df435941c235da925",
  "wheel_sha256": "af4a9d0a1ffffb6eb7551c1d6dc2b32853ca6d024332a4f8f5702bbf992f141b",
  "plan_sha256": "7ace03c6dad33d2fc3ef223621cbca68a150fde8429932138e252fb8498ac582",
  "overall": "PASS",
  "check_count": 40,
  "checks": [
    {
      "id": "A-bindings-golden-path",
      "description": "golden-path carries candidate/wheel/plan/actor/owner/service bindings",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "A-bindings-recovery",
      "description": "recovery carries candidate/wheel/plan/actor/owner/service bindings",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "B-supersession-golden-path",
      "description": "golden-path declares supersession with old paths, shas, and the 19ed0e candidate",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "B-supersession-recovery",
      "description": "recovery declares supersession with old paths, shas, and the 19ed0e candidate",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "B-preservation-note",
      "description": "old runbooks declared byte-identical history",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "C-old-golden-preserved",
      "description": "old golden path sha unchanged",
      "status": "PASS",
      "detail": "32a379d855c6e5af978bd9886e3bf49c616c7c20f1c1d5f100c19d8adfc5eb4a"
    },
    {
      "id": "C-old-recovery-preserved",
      "description": "old recovery runbook sha unchanged",
      "status": "PASS",
      "detail": "ae2f5f9046c06f8f0b42693be5aa0d9c31cada8024ae1e5ab8ba19a3cf10f6fc"
    },
    {
      "id": "C-plan-sha",
      "description": "amended plan sha matches binding",
      "status": "PASS",
      "detail": "7ace03c6dad33d2fc3ef223621cbca68a150fde8429932138e252fb8498ac582"
    },
    {
      "id": "D-authorized",
      "description": "golden path covers every authorized action from the ledger boundary",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "E-forbidden",
      "description": "runbooks restate every forbidden action from the ledger boundary",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "F-new-ids",
      "description": "golden path pins all-new ID requirements and forbidden reused values",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "F-states",
      "description": "golden path pins the full state sequences",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "G-steps",
      "description": "golden path covers each lifecycle step surface",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "G-ordering",
      "description": "observer subscription section precedes invite/action section",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-getUpdates",
      "description": "'getUpdates' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-drop_pending_updates",
      "description": "'drop_pending_updates' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-`--all`",
      "description": "'`--all`' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-sleep",
      "description": "'sleep' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-rm",
      "description": "'rm' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "H-prohibition-context-rm`",
      "description": "'rm`' appears only in prohibition context",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "I-procedure-count",
      "description": "recovery runbook has at least 12 procedures",
      "status": "PASS",
      "detail": "['R1', 'R2', 'R3', 'R4', 'R5', 'R5b', 'R6', 'R7', 'R8', 'R9', 'R10', 'R11', 'R12', 'R13', 'R14', 'R15']"
    },
    {
      "id": "I-procedure-fields",
      "description": "every procedure carries trigger, action/detection, expected state, rollback, evidence",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "I-procedure-topics",
      "description": "recovery covers every Spec 3 scenario family",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "J-nonexistent-commands",
      "description": "recovery declares the old planned dualcoach_admin interfaces non-existent",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "K-commands",
      "description": "runbooks cite the exact supported command surfaces",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "K-no-invented-admin",
      "description": "no dualcoach_admin subcommand cited besides provider-auth",
      "status": "PASS",
      "detail": "[]"
    },
    {
      "id": "K-gateway-cli-scope",
      "description": "hermes gateway CLI cited only for read-only status (plus unit ExecStart run)",
      "status": "PASS",
      "detail": "[]"
    },
    {
      "id": "L-blockers",
      "description": "golden path marks every open preflight blocker with owner and closure evidence",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "M-reset",
      "description": "archive-first pre/post reset with no-restore rule",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "N-other-profiles-golden-path",
      "description": "golden-path pins other-profile non-touch",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "N-other-profiles-recovery",
      "description": "recovery pins other-profile non-touch",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "O-redaction",
      "description": "secrets and redaction rules present",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "P-receipts",
      "description": "evidence receipt inventories present",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "P-recovery-receipts",
      "description": "recovery requires a receipt per action",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "Q-abort-matrix",
      "description": "recovery carries a rollback/abort matrix with all lifecycle stages",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "R-invariants",
      "description": "exactly-once/idempotency/append-only/no-silent-failure invariants stated",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "S-no-emdash",
      "description": "no em or en dashes",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "S-no-sleep-command",
      "description": "no fixed-sleep command usage",
      "status": "PASS",
      "detail": ""
    },
    {
      "id": "T-mode-golden-path",
      "description": "task26-golden-path-2e0894ea.md is 0600",
      "status": "PASS",
      "detail": "0o600"
    },
    {
      "id": "T-mode-recovery",
      "description": "task26-recovery-runbook-2e0894ea.md is 0600",
      "status": "PASS",
      "detail": "0o600"
    }
  ]
}
