security: bind Playwright activation and recovery to exact issuer state
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a1346b-72a4-7d40-b8bd-8b8ca346cfa2
This commit is contained in:
tegwick 2026-10-13 23:39:58 +02:00
parent 5dd74dfbdf
commit eba6e1fdbb
4 changed files with 536 additions and 1 deletions

View file

@ -12,6 +12,7 @@ created: "2026-10-13"
updated: "2026-10-13"
depends_on: []
related: [CUST-WP-0080, RPF-WP-0056, RAPP-PLAYWRIGHT-WP-0004]
state_hub_workstream_id: "06ba98d5-609e-5aaa-9bf7-4c4f4460e377"
---
Accept NetKingdom's concrete implementation request
@ -29,6 +30,7 @@ admin identity, kubeconfig, SSH identity or existing OpenBao credential.
id: NK-WP-0050-T01
status: done
priority: high
state_hub_task_id: "64893d94-9717-5812-b8e3-7cabe095fcdc"
```
`docs/playwright-registration.md` owns the bounded registration contract.
@ -52,9 +54,10 @@ and local fixtures are not issuer-owner or real consumer acceptance.
```task
id: NK-WP-0050-T02
status: todo
status: progress
priority: high
depends_on: [NK-WP-0050-T01]
state_hub_task_id: "a9dadd07-f136-5dc7-9229-7a9dbb941f0d"
```
Resolve the exact real agent records and Platform custody/delivery source task;
@ -65,6 +68,19 @@ action before any needed privileged approval. Source work can proceed while
owner acceptance is collected; custody and live grants must not be invented.
Neither compiler output nor another client's acceptance authorizes live apply.
2026-10-13: private activation patch preparation implemented in
`playwright-activation.py`. Original/candidate registry and Deployment state bind
an exact proposal digest. Ordered stop/configure/resume avoids a registry/env
startup race in the single-Recreate issuer. Native verifier digest checks, fresh
object UID/resource-version/data/spec conditions, complete pod-quiescence checks,
readback and exact original-state rollback retain pre-existing registrations and
bindings. No mutation occurs from this module; the protected executor owns fresh
reads, admitted custody, actual approval and live acceptance. Source tests cover
partial recovery and independent RFC 6902 patch application; native KeyCape
check-config accepts both synthetic configurations. Real identity/custody owner
returns, executor/recovery-state integration, exact current image verification
and the supervised maintenance action remain open.
## Verify issuer and real consumer acceptance
```task
@ -73,6 +89,7 @@ status: wait
priority: high
depends_on: [NK-WP-0050-T02, RPF-WP-0056-T03]
blocking_reason: "Await owner-scoped registry/custody activation, native cluster authentication and individual transport, then real human and agent acceptance under CUST-WP-0080-T05."
state_hub_task_id: "5a3aaf57-de5c-5a03-bc99-9bcf2fc5d95e"
```
Retain real human/agent issuance and identity/tenant/audience/scope/expiry proof,