Retag SECRETS-WP-0007 T03-T06 to match shipped work
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

T03, T05, and T06 are done: lifecycle split, session self-revoke, and
verification/evidence acceptance are in the CLI. T04 waits on the durable
ActionAuthorization serving path rather than looking like local progress.
Known-accessor operator command is residual H4a, not unfinished T03.

Assistant: grok
Assistant-Session: 01a04cea-cb33-7c63-bad7-c1b0f9f0076b
This commit is contained in:
tegwick 2026-08-29 14:36:38 +02:00
parent ff7b6162dd
commit 6f8b7bade5
2 changed files with 44 additions and 7 deletions

View file

@ -61,6 +61,13 @@ contents in this repo.
state and coordinated provider/workload rotation remain outstanding. Live state and coordinated provider/workload rotation remain outstanding. Live
destroy remains disabled until exact-action authorization is available. destroy remains disabled until exact-action authorization is available.
## H4a — Known-accessor operator command
- Delivery sessions already self-revoke in `finally` (`SECRETS-WP-0007-T05`).
- Residual from T03: no general CLI to revoke an already-issued token or
lease by a non-secret accessor the operator already holds.
- Do not print accessors. Prefer fingerprint-only evidence.
## H5 — Audit report command ## H5 — Audit report command
- Implemented: `secrets-engine audit <catalog-id>` summarizes allowlisted local - Implemented: `secrets-engine audit <catalog-id>` summarizes allowlisted local

View file

@ -8,7 +8,7 @@ status: active
owner: codex owner: codex
topic_slug: custodian topic_slug: custodian
created: "2026-08-23" created: "2026-08-23"
updated: "2026-08-23" updated: "2026-08-29"
state_hub_workstream_id: "68a39be1-bd9c-5133-ad64-e7bca892aaf3" state_hub_workstream_id: "68a39be1-bd9c-5133-ad64-e7bca892aaf3"
--- ---
@ -156,11 +156,21 @@ Acceptance:
```task ```task
id: SECRETS-WP-0007-T03 id: SECRETS-WP-0007-T03
status: progress status: done
priority: high priority: high
state_hub_task_id: "bb6073e1-c952-5357-b707-5574cef50f2f" state_hub_task_id: "bb6073e1-c952-5357-b707-5574cef50f2f"
``` ```
Completed 2026-08-29. Suspend, deactivate, and destroy share one plan object
for dry-run and live execution. Ordinary `revoke` aliases native deactivation
and preserves KV custody plus externally managed workload delivery. Live
destroy stays fail-closed until T04's exact-action contract; that is the
designed containment, not unfinished T03 work. Issued delivery sessions
self-revoke in T05.
Residual, not this task: a general known-accessor operator command. Tracked in
`docs/hardening-backlog.md` H4a.
Progress 2026-08-23. Added one lifecycle plan model shared by dry-run and live Progress 2026-08-23. Added one lifecycle plan model shared by dry-run and live
execution. Ordinary `revoke` safely aliases native deactivation; suspend and execution. Ordinary `revoke` safely aliases native deactivation; suspend and
deactivate preserve KV custody and externally managed workload delivery. deactivate preserve KV custody and externally managed workload delivery.
@ -202,11 +212,17 @@ Acceptance:
```task ```task
id: SECRETS-WP-0007-T04 id: SECRETS-WP-0007-T04
status: progress status: wait
priority: high priority: high
state_hub_task_id: "4b58edec-c705-55e5-9ece-362e1ff13079" state_hub_task_id: "4b58edec-c705-55e5-9ece-362e1ff13079"
``` ```
Wait 2026-08-29. The consumer validator and production fail-closed gate are
shipped. What remains is not local engine work: State Hub / `access-engine`
must serve the durable ActionAuthorization object. Paired with
`SECRETS-WP-0008-T02`. Do not reopen live production on hub status or local
fixtures.
Progress 2026-08-23. flex-auth revision `c473f19` now supplies execute-time Progress 2026-08-23. flex-auth revision `c473f19` now supplies execute-time
structured binding and the proposed durable `ActionAuthorization` schema. The structured binding and the proposed durable `ActionAuthorization` schema. The
engine builds and fail-closed validates the exact secrets-engine profile, engine builds and fail-closed validates the exact secrets-engine profile,
@ -254,11 +270,17 @@ Acceptance:
```task ```task
id: SECRETS-WP-0007-T05 id: SECRETS-WP-0007-T05
status: progress status: done
priority: high priority: high
state_hub_task_id: "36bcd64d-8b27-542d-b8da-ede1a4d3c22f" state_hub_task_id: "36bcd64d-8b27-542d-b8da-ede1a4d3c22f"
``` ```
Completed 2026-08-29. Delivery AppRole sessions self-revoke in `finally` on
exec and both verification kinds. Bootstrap is a named provider with no
implicit fallback from the KeyCape scaffold. Wiring that scaffold as OpenBao
JWT login is `SECRETS-WP-0008-T06` / hardening H1, blocked on the
platform-owned role — not remaining T05 engine work.
Progress 2026-08-23. AppRole login material now travels through strict temporary Progress 2026-08-23. AppRole login material now travels through strict temporary
JSON input rather than argv. Exec and both verification kinds use a scoped JSON input rather than argv. Exec and both verification kinds use a scoped
session that self-revokes in `finally`, drops the in-memory token even when session that self-revokes in `finally`, drops the in-memory token even when
@ -303,11 +325,18 @@ Acceptance:
```task ```task
id: SECRETS-WP-0007-T06 id: SECRETS-WP-0007-T06
status: progress status: done
priority: high priority: high
state_hub_task_id: "431bc91b-439e-595a-8a8a-7d4c82e68322" state_hub_task_id: "431bc91b-439e-595a-8a8a-7d4c82e68322"
``` ```
Completed 2026-08-29. Acceptance is met: multi-field readiness, real unrelated
identity for KV denial, privileged attempt/terminal evidence, and `audit`.
Residuals belong elsewhere: exact-action authorization is T04 /
`SECRETS-WP-0008-T02`; OpenBao audit request-id correlation is hardening H5;
unrelated-identity *selection* for production remains an owner/ops concern,
not an engine mint.
Progress 2026-08-23. KV verification now checks every declared field by default, Progress 2026-08-23. KV verification now checks every declared field by default,
with one path-level negative probe, and route readiness reads once and requires with one path-level negative probe, and route readiness reads once and requires
all declared fields. Missing readiness evidence contains field names only. Tests all declared fields. Missing readiness evidence contains field names only. Tests
@ -366,8 +395,9 @@ priority: high
state_hub_task_id: "a0a1dd92-d703-5a95-b488-d895f34d5cf7" state_hub_task_id: "a0a1dd92-d703-5a95-b488-d895f34d5cf7"
``` ```
Dependency: T01-T06 complete, then explicit per-lane approvals and scoped Dependency: T01T03, T05, T06 are done. T04 still waits on the durable
production authority from railiance-platform. ActionAuthorization serving path. Also requires explicit per-lane approvals
and scoped production authority from railiance-platform.
Resume `SECRETS-WP-0006-T05` lane by lane. Apply only the exact native policy and Resume `SECRETS-WP-0006-T05` lane by lane. Apply only the exact native policy and
bounded AppRole, verify every field plus unrelated-consumer denial, confirm the bounded AppRole, verify every field plus unrelated-consumer denial, confirm the