RPF-WP-0064-T07: in-memory /openbao/audit for the restored file audit device; native reseal regression
All checks were successful
CCR intake gate / gate (push) Successful in 2m10s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 4384@bnt-lap001
Assistant-Session: 80d1f3da-7a91-4519-9737-9ba128b4da64
This commit is contained in:
codex 2026-10-24 11:22:00 +02:00
parent 624843e122
commit 7084b57d57
4 changed files with 39 additions and 1 deletions

View file

@ -390,6 +390,18 @@ The adapter now aligns the node id with production, waits up to 180 s, aborts as
records bounded typed `sys/leader`/`sys/seal-status` fields and a redacted first error line in
`restored.leader_wait`. Offline 19 and native 12 pass. A new `-02` admission is needed for the new adapter commit.
2026-10-24 attempt `-02` (admission `33c8aab2…75ab`, adapter `624843e`): two runs refused at the first prompt
(`custody_identity_refused`, clipboard content; the key file and a shape-only paste check were correct), then a
third run reached `aborted`, `leader_not_elected` after 236 s. Its `leader_wait` diagnostics showed the cause:
after the original shares unsealed the node, seal-status read `sealed: true` and `sys/leader` returned API errors
for 180 s. Production declares a file audit device at `/openbao/audit/openbao-audit.log` (rapp-openbao values);
the restored audit table re-enables it on unseal, the target had no writable `/openbao/audit`, and OpenBao sealed
itself again. Both `-02` aborted receipts (`cfb2c2af…`, `4c5cd362…`, `904a9d95…` incl. the refusals) verified
independently from a clean clone at `624843e`. Fix: an in-memory `/openbao/audit` on the target. The rehearsal
source now carries production's file audit device, and a native regression case without that mount reproduces the
reseal (`leader_not_elected`, `sealed: true`), while the full restore passes with it. Offline 19 and native 13 pass.
A `-03` admission is needed for the new adapter commit.
Run the admitted adapter once. The outcome is a T03 receipt verified
independently. The receipt is kept outside Git and referenced by its hash. A
missing object or failed check is a valid `refused` outcome; it is not repaired