From a3851f6a1877001719418c9ea0e7b5e33283f1b4 Mon Sep 17 00:00:00 2001 From: codex Date: Tue, 3 Nov 2026 22:30:21 +0100 Subject: [PATCH] Add backlog RPF-WP-0072: check the audit-core receiver against audit-core's own compatibility declaration. Co-Authored-By: Claude Opus 5.5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 236506@bnt-lap001 Assistant-Session: 09087018-91e1-48c5-ab2f-acfbb62c92e4 --- WORK-RECORDS.md | 2 + ...-0072-audit-core-recovery-compatibility.md | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 workplans/RPF-WP-0072-audit-core-recovery-compatibility.md diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index c2153e5..c9a6b83 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -52,6 +52,7 @@ | workplan | RPF-WP-0069 | active | — | workplans/RPF-WP-0069-bounded-executor-lanes.md | | workplan | RPF-WP-0070 | finished | — | workplans/RPF-WP-0070-mas-evidence-recovery.md | | workplan | RPF-WP-0071 | backlog | — | workplans/RPF-WP-0071-attended-credential-rotation-lane.md | +| workplan | RPF-WP-0072 | backlog | — | workplans/RPF-WP-0072-audit-core-recovery-compatibility.md | | task | RPF-WP-ADHOC-2026-10-10-T01 | done | — | workplans/ADHOC-2026-10-10.md | | task | RPF-WP-ADHOC-2026-10-11-T01 | done | — | workplans/ADHOC-2026-10-11.md | | task | RPF-WP-ADHOC-2026-10-11-T02 | done | — | workplans/ADHOC-2026-10-11.md | @@ -249,6 +250,7 @@ | task | RPF-WP-0070-T05 | done | — | workplans/RPF-WP-0070-mas-evidence-recovery.md | | task | RPF-WP-0071-T01 | todo | — | workplans/RPF-WP-0071-attended-credential-rotation-lane.md | | task | RPF-WP-0071-T02 | todo | — | workplans/RPF-WP-0071-attended-credential-rotation-lane.md | +| task | RPF-WP-0072-T01 | todo | — | workplans/RPF-WP-0072-audit-core-recovery-compatibility.md | | intake | RPF-IN-0001 | closed | — | intakes/intakes.md | | intake | RPF-IN-0002 | open | — | intakes/intakes.md | | intake | RPF-IN-0003 | open | — | intakes/intakes.md | diff --git a/workplans/RPF-WP-0072-audit-core-recovery-compatibility.md b/workplans/RPF-WP-0072-audit-core-recovery-compatibility.md new file mode 100644 index 0000000..9cbe941 --- /dev/null +++ b/workplans/RPF-WP-0072-audit-core-recovery-compatibility.md @@ -0,0 +1,47 @@ +--- +id: RPF-WP-0072 +type: workplan +title: "Check the audit-core receiver against audit-core's own recovery-compatibility declaration" +domain: financials +repo: railiance-platform +status: backlog +flavor: implementation +owner: claude-code +topic_slug: railiance-platform +created: "2026-11-03" +updated: "2026-11-03" +related: + - RPF-WP-0015 + - RAILIANCE-WP-0024 +--- + +On 2026-11-03 three audit-core receiver releases (`b479801b`, `304cfb83`, +`5f3d01c8`) each broke the exact `EXPECTED_IMAGE` pin in +`scripts/audit-core-recovery-preflight.py`, a RAILIANCE-WP-0024 artifact pinned +by five owners. That cost three owner rounds (12–14) in one day. In each round +the only substantive check was audit-core's diff of its own source. Knowing +which receiver release the recovery procedures support is audit-core's +release knowledge, so audit-core should declare it. + +Proposal sent to audit-core on 2026-11-03 (State Hub message `7714eb58`): +audit-core maintains a recovery-compatibility declaration in its repo as part +of its release checklist. Platform changes the preflight once, to require that +the running digest appears in that declaration. + +## Switch the preflight to audit-core's declaration + +```task +id: RPF-WP-0072-T01 +status: todo +priority: medium +``` + +Start only after audit-core accepts the proposal and publishes the +declaration; until then this plan stays in the backlog. Replace +`EXPECTED_IMAGE` with a check that both the deployment image and the running +pod digest appear in audit-core's declaration, read from a reviewed path and +revision. The check fails closed when the digest is missing, the file is +unreadable or the format is unexpected. Add tests for listed, unlisted, +malformed and missing cases. Then run one final RAILIANCE-WP-0024 owner round +for the new rule, after which audit-core releases need no Platform change. +Until then, re-pin per release as in rounds 12–14.