Name the secrets-engine-openbao consumer custody coordinates.
Adds the consumer custody packet for KEY-WP-0037-T02 / RPF-WP-0035-T02, strict value-free client-secret file checks with a check-secret-file CLI, synthetic tests, and SECRETS-WP-0012 tracking founder decisions and the attended delivery as needs_human wait tasks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 132360@bnt-lap001 Assistant-Session: 769b1afd-4330-4c86-96b2-e510e26db42b
This commit is contained in:
parent
be8fab0332
commit
a3897c2317
6 changed files with 475 additions and 6 deletions
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
id: SECRETS-WP-0012
|
||||
type: workplan
|
||||
title: "KeyCape secrets-engine-openbao consumer custody acceptance"
|
||||
domain: infotech
|
||||
repo: secrets-engine
|
||||
status: blocked
|
||||
flavor: implementation
|
||||
owner: claude-code
|
||||
topic_slug: custodian
|
||||
created: "2026-10-06"
|
||||
updated: "2026-10-06"
|
||||
related_workplans:
|
||||
- SECRETS-WP-0008
|
||||
---
|
||||
|
||||
# SECRETS-WP-0012 - KeyCape secrets-engine-openbao consumer custody acceptance
|
||||
|
||||
Demand: KEY-WP-0037-T02 and RPF-WP-0035-T02 (proposed CCR-2026-0033) need
|
||||
secrets-engine's source acceptance of the consumer copy of the
|
||||
`secrets-engine-openbao` client secret: host, owner, path, mode, delivery,
|
||||
rotation/revocation ownership and a bounded validation interface. The founder
|
||||
approved the two-copy custody boundary (decision
|
||||
`632a8893-0d6a-4591-a50b-40bbdb798f32`), not generation, fetch, delivery,
|
||||
registration or deployment. Live service-JWT adoption stays SECRETS-WP-0008-T06.
|
||||
|
||||
Packet: [docs/keycape-openbao-consumer-custody.md](../docs/keycape-openbao-consumer-custody.md).
|
||||
|
||||
## Consumer packet and strict file acceptance
|
||||
|
||||
```task
|
||||
id: SECRETS-WP-0012-T01
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
Done 2026-10-06. The packet names the coordinates and marks D1-D4 as founder
|
||||
decisions with recommendations. `service_auth.read_client_secret_file`
|
||||
now refuses symlinked, foreign-owned, non-regular, shared-parent and
|
||||
multi-token files in addition to the earlier mode, worktree and empty checks.
|
||||
`secrets-engine service-auth check-secret-file` is the value-free validation
|
||||
interface. Synthetic tests are in `tests/test_consumer_secret_file.py`. Full
|
||||
suite: 510 passed, 1 skipped (root-only owner test).
|
||||
|
||||
## Founder decisions D1-D4
|
||||
|
||||
```task
|
||||
id: SECRETS-WP-0012-T02
|
||||
status: wait
|
||||
needs_human: true
|
||||
priority: high
|
||||
blocked_on: founder
|
||||
blocking_reason: "Host (workstation), OS user (worsch), persistent storage and rotation cadence are recommendations awaiting founder acceptance; the custody child cannot be finalized without them."
|
||||
```
|
||||
|
||||
## Attended consumer-copy delivery
|
||||
|
||||
```task
|
||||
id: SECRETS-WP-0012-T03
|
||||
status: wait
|
||||
needs_human: true
|
||||
depends_on: [SECRETS-WP-0012-T02]
|
||||
priority: high
|
||||
blocked_on: message-from:railiance-platform
|
||||
blocking_reason: "Requires the founder-approved CCR-2026-0033 custody child, executed attended on the named host. Platform generates and writes both copies in one process. secrets-engine records only the check-secret-file result. No client-side OpenBao read."
|
||||
```
|
||||
|
||||
Acceptance: receipt carries `check-secret-file --json` with `ok: true` and
|
||||
no value, length or hash. A failed write leaves no consumer file and is
|
||||
recovered by rotation, not by a KV read. First live exchange evidence belongs
|
||||
to KEY-WP-0037-T04, and OpenBao login proof belongs to SECRETS-WP-0008-T06.
|
||||
Loading…
Add table
Add a link
Reference in a new issue