Close AUDIT-WP-0007 after live chain attestation.
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Migration 0006 applied on railiance01. Verify-against the dated
chain-head evidence is intact for 30 events.
This commit is contained in:
tegwick 2026-08-16 01:23:54 +02:00
parent 5fd04e2095
commit 61214bc24a
7 changed files with 46 additions and 15 deletions

View file

@ -4,7 +4,7 @@ type: workplan
title: "Integrity verification for operational custody"
domain: infotech
repo: audit-core
status: active
status: finished
owner: grok
topic_slug: railiance
created: "2026-08-16"
@ -89,11 +89,14 @@ Write a short contract in `docs/audit-backend-contract.md` (or a sibling
Done when the contract is written and the tests to be added are named.
Done 2026-08-16: `docs/integrity.md` names the chain, genesis, proof bound,
and the six tests.
## T02 — Persist the chain on accept
```task
id: AUDIT-WP-0007-T02
status: todo
status: done
priority: high
state_hub_task_id: "5830bb1a-27b7-4eed-b09f-75ba8cc9f7f1"
```
@ -112,11 +115,14 @@ suite. Mock file backend stays `tamper_evidence=False`.
Done when conformance tests show: first accept sets genesis; second
links; duplicate does not fork; verify is clean on a fresh store.
Done 2026-08-16: migration 0006 plus backfill; SQLite and Postgres accept
write the next link under a lock. Conformance + `tests/test_integrity.py`.
## T03 — Verify surface
```task
id: AUDIT-WP-0007-T03
status: todo
status: done
priority: high
state_hub_task_id: "fee1f93c-dcac-4fc3-9e41-17bb4436e8d6"
```
@ -133,11 +139,14 @@ alone never gave us.
Done when CLI and HTTP agree, and the broken-row test is red-then-green
as a detector, not as a repair.
Done 2026-08-16: `verify-chain` CLI, `GET /v1/integrity`, SQLite rewrite
test and Postgres superuser rewrite test both fail verify.
## T04 — Attest the chain head outside platform-pg
```task
id: AUDIT-WP-0007-T04
status: todo
status: done
priority: medium
state_hub_task_id: "b6d03d6a-0605-4982-a9a3-e18c89319ba9"
```
@ -158,11 +167,17 @@ and report mismatch as a break.
Done when one production walk produces an attestation file in
`docs/evidence/` and verify-against-attestation is tested.
Done 2026-08-16: live walk 30 events, intact, head
`03fd1773…`. Evidence
`docs/evidence/chain-head-20260816.json`. Verify-against matched.
Do not copy this file into the Barman prefix; a second copy may follow
RESOURCE-WP-0002-T06 logical-offsite.
## T05 — Declare tamper_evidence only as far as the proof
```task
id: AUDIT-WP-0007-T05
status: todo
status: done
priority: medium
state_hub_task_id: "9fd70d3c-5a64-4b26-967f-4ef45394d81c"
```
@ -182,6 +197,10 @@ After T03 and T04:
Done when capability-review still `ok` and the hook is no longer
`unknown`.
Done 2026-08-16: Postgres `tamper_evidence=True`; live `/readyz` reports
it; capability-review `ok`; `integrity_verification` is `measured`.
Maturity stays D4. `data.archive` stays unmet.
## Acceptance
- A rewritten stored payload makes `verify` fail.