Close T05: live matrix 12 pass / 0 fail / 3 skip
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

In-pod remote run. S08 needed UPDATE on secret_findings; granted and
recorded as migration 0005. Disruption scenarios remain operator-owned.
This commit is contained in:
tegwick 2026-08-13 12:40:05 +02:00
parent 1e56b31450
commit 024993f18a
2 changed files with 23 additions and 8 deletions

View file

@ -119,6 +119,21 @@ MIGRATIONS: list[tuple[str, str]] = [
);
""",
),
(
"0005-runtime-grants",
"""
DO $grant$
BEGIN
IF EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'audit_core_app') THEN
EXECUTE 'GRANT SELECT, INSERT ON {schema}.events TO audit_core_app';
EXECUTE 'GRANT SELECT, INSERT ON {schema}.dead_letters TO audit_core_app';
EXECUTE 'GRANT SELECT, INSERT, UPDATE ON {schema}.secret_findings TO audit_core_app';
EXECUTE 'GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA {schema} TO audit_core_app';
END IF;
END
$grant$;
""",
),
]
# Rejection reasons whose payload must never be persisted — storing the body of

View file

@ -401,7 +401,7 @@ empty-source case that is today's actual situation.
```task
id: AUDIT-WP-0005-T05
status: progress
status: done
priority: high
state_hub_task_id: "1da30fec-b9f1-4be0-b42c-15797a8c4392"
```
@ -457,13 +457,13 @@ against an unreachable receiver (it does not pass silently), and the emitted
evidence JSON contains no tokens, credentials, or event payloads, so a run
against the deployed receiver can go to NK-WP-0024 as-is.
Remote run 2026-08-13 (`evidence/failure-matrix-20260813T103540Z.json`,
`MODE=remote DISRUPT=0`): **7 passed, 5 failed, 3 skipped**. S01S07 passed
on the live receiver (accept, duplicate, conflict, cross-tenant 400, dead
letter, 401, redaction). S08S12 failed with `status=0` (port-forward
dropped mid-run), not a contract mismatch. S13S15 skipped (`DISRUPT=0`,
replay needs DB). Re-run through a stable operator path before handing
NK-WP-0024; do not treat this JSON as closeout.
Closeout 2026-08-13: re-ran inside the receiver pod
(`evidence/failure-matrix-20260813T103908Z.json`). **12 passed, 0 failed,
3 skipped.** S01S12 green on the live OpenBao-leased store. S13 skipped
(remote has no direct DB). S14S15 skipped (`DISRUPT=0` — not this
script's call to restart production Postgres). S08 first failed because
`secret_findings` upsert needs UPDATE; granted to `audit_core_app` and
locked in migration 0005. That JSON is the NK-WP-0024 hand-back.
## T06 - Operational handover