Ship WARDEN-WP-0030: delegation register for every catalog lane
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Every execution position is now explicit. Catalog entries carry
delegation.mode (permanent / native / interim) with intended owner and
blocker. warden route gaps lists the interim set. Promotion requires
the ownership question. Doctrine lives in AccessRouting.md; the
register was published to the named owner repos.
This commit is contained in:
tegwick 2026-08-15 20:54:58 +02:00
parent 8d3706fa06
commit c93e3c9b43
11 changed files with 619 additions and 29 deletions

View file

@ -24,10 +24,21 @@ Before changing `status: draft` → `status: active`:
| 7 | **Review date** | Update `reviewed:` in catalog entry |
| 8 | **Verification** | Positive + negative proof via **`bao token capabilities`** — never `bao kv get` (see below) |
| 9 | **Rotation guidance** | Secret-vending lanes carry a `rotation:` block; `warden rotate-guide <id>` returns steps. Enforced by the `catalog_rotation_coverage` scorecard check (WP-0026 T06) |
| 10 | **Delegation** | Entry carries a `delegation:` block (WP-0030). `mode: permanent` only for ops-warden's own front door. `mode: native` when the owner already fronts it. `mode: interim` requires `intended_owner` and `blocked_on`; the promotion note must name both and the retirement condition |
Promotion PR touches: `registry/routing/catalog.yaml`, playbook, optional
`tests/test_routing.py`, and a one-line note in `wiki/CredentialRouting.md` draft table.
If `delegation.mode` is `interim`, the promotion note (PR body or State Hub
progress) must state:
1. who the intended owner is
2. what is missing (`blocked_on`)
3. what would let ops-warden step back (`exec_owner` + proven owner front door)
A proxy that works is not enough to promote without answering the ownership
question. `warden route gaps` must list the lane after merge if it is interim.
---
## Capabilities-safe lane verification (WARDEN-WP-0026 T01)
@ -113,4 +124,6 @@ playbook prose alone.
## See also
- `wiki/CredentialRouting.md` — draft table index
- `wiki/playbooks/ops-warden-warden-sign-token.md` — promotion reference
- `wiki/playbooks/ops-warden-warden-sign-token.md` — promotion reference
- `wiki/AccessRouting.md#interim-custodianship` — delegation register doctrine
- `warden route gaps` — queryable interim register