RPF-WP-0061-T04: request-decision opens the founder hub decision; CCR-2026-0051 decision e633607e
Some checks failed
CI Smoke / host-smoke (push) Waiting to run
CI Smoke / container-smoke (push) Waiting to run
CCR intake gate / gate (push) Has been cancelled

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 306568@bnt-lap001
Assistant-Session: 8bdf8150-ea56-41e7-9132-13f04f6b0b91
This commit is contained in:
codex 2026-10-18 12:40:36 +02:00
parent 3d971178d8
commit 8545bf8e4c
4 changed files with 110 additions and 1 deletions

View file

@ -143,11 +143,26 @@ fact.
```task
id: RPF-WP-0061-T04
status: todo
status: progress
priority: medium
state_hub_task_id: "15ac9eae-9890-5140-b1ca-cd0ad3ca77ac"
```
2026-10-18: `credential-change.py request-decision <ccr>` opens the founder
decision for a `proposed` CCR whose latest review is a platform-owner
approval, refuses a second decision or a decision returned already resolved,
and writes `state_hub.decision_id` into the CCR. The existing `sync-decision`
moves the file. First use: CCR-2026-0051, decision e633607e. The CI gate
passed on main at 3d97117 after adding the jsonschema pin.
Open, needs a founder choice: the hub does not authenticate decisions.
`decided_by` on resolve is free text, and `POST /decisions/` accepts an
already-resolved decision. With self-service, the requester could resolve its
own CCR decision and run `sync-decision`. This gap existed before (the
platform worker never verified the resolver) but self-service makes it
cheaper to exploit. Until it is closed, `sync-decision` on a self-service CCR
stays a platform/founder step.
## T05 — Client documentation and first self-service CCR
```task