design-deploy-credential
carlos/platform#229: a deploy service credential limited to rungs, so CI ships, promotes and rolls back through the console (audited, serial-bumped, adopted in seconds) with no more authority than a scoped release key. CI reads it from CARLOS_SERVICE_TOKEN with CARLOS_CONSOLE, and can run carlos deploy (R6).
What landed on the branch:
svcrole.Deployand arungscolumn (canary, edge, beta; never stable), minted from the CLI (carlos services create --role deploy --app X --rungs canary,edge) or the console form. Unreadable scopes fail closed.- 13 doors (spec §6). A scope check in the handlers and, authoritatively, inside the release primitives between the pointer read and the conditional write (G1, G2; the in-flight gap accepted as R5).
- Each deploy promote is signed by a request-local scoped grant, so boxes still verify the rung limit. No root-signer fallback.
- A randomized interleaving test with two mutants that each fail it; an older console refuses the credential at every door.
- README and CLI docs: CI uses the console; direct-bucket mode is the operator's path.
Status: all 12 plan tasks done and reviewed; Astra's whole-branch review findings fixed and re-reviewed. Full gate green locally. Not merged or rolled: waiting for Paul.
Commits
28
Discussions
0
0 open
Tasks
0/0
done
Discussions
- No discussions on this branch yet.
Tasks
- No tasks yet.
Activity
- claude agent, operated by paul@keymail.dev pushed 91026571b Merge remote-tracking branch 'origin/main' into design-deploy-credential
- claude agent, operated by paul@keymail.dev pushed 5f0e7a3d9 test: isolate the root package from an exported CARLOS_SERVICE_TOKEN (#229)
- claude agent, operated by paul@keymail.dev pushed 93d75f870 deploy credential: final review fixes (#229)
- claude agent, operated by paul@keymail.dev pushed e84365be7 docs: CI promotes through the console with a deploy credential (#229)
- claude agent, operated by paul@keymail.dev pushed 8ecd088d7 console: the mixed-version test proves its preconditions (#229)
- claude agent, operated by paul@keymail.dev pushed 062cf37a2 console: pin fail-closed handling of an unknown stored role (#229)
- claude agent, operated by paul@keymail.dev pushed 56fd78464 cli: CARLOS_SERVICE_TOKEN selects the console for CI (#229)
- claude agent, operated by paul@keymail.dev pushed 99dac9bd1 release: randomized G1/G2 check for the Authorize hook (#229)
- claude agent, operated by paul@keymail.dev pushed 69952eb48 console: sign deploy writes with a request-local scoped grant (#229)
- claude agent, operated by paul@keymail.dev pushed 1f6c0c490 release: an Authorize hook between pointer read and write (#229)
- claude agent, operated by paul@keymail.dev pushed 248148d35 console: deploy scope check at promote and rollback (#229)
- claude agent, operated by paul@keymail.dev pushed 2f64b0952 console: keep the app-binding 404 byte-identical (#229)
- claude agent, operated by paul@keymail.dev pushed ddefc40d9 console: the doors a deploy credential reaches (#229)
- claude agent, operated by paul@keymail.dev pushed a54f7cac1 cli: services create --rungs and a RUNGS column (#229)
- claude agent, operated by paul@keymail.dev pushed 5525f1952 console: mint and list deploy credentials (#229)
- claude agent, operated by paul@keymail.dev pushed 753290915 plan: deploy credential copy approved (Task 0)
- claude agent, operated by paul@keymail.dev pushed 994c431b7 console: deploy role and rung-scoped service credentials (#229)
- claude agent, operated by paul@keymail.dev pushed 52aac91e7 spec rev 5.2 and plan: CI can run carlos deploy (R6)
- claude agent, operated by paul@keymail.dev pushed 2248be9dd plan: deploy credential implementation plan (#229)
- claude agent, operated by paul@keymail.dev pushed 210194bc4 spec: deploy credential rev 5.1, ruling R5
- claude agent, operated by paul@keymail.dev pushed bd74c94e0 spec: record Astra round 5, accept
- claude agent, operated by paul@keymail.dev pushed e764b20cb spec: deploy credential rev 5, answering Astra round 4
- claude agent, operated by paul@keymail.dev pushed 2af4eba4a spec: deploy credential rev 4, answering Astra round 3
- claude agent, operated by paul@keymail.dev pushed 2d9d528ee spec: deploy credential rev 3, answering Astra round 2
- claude agent, operated by paul@keymail.dev pushed 38dfb2405 spec: deploy credential rev 2, answering Astra round 1
- claude agent, operated by paul@keymail.dev pushed d30a74c25 spec: Astra review brief for the deploy credential
- claude agent, operated by paul@keymail.dev pushed 34eb70096 spec: scope the deploy-credential claim to adoption, not serving
- claude agent, operated by paul@keymail.dev pushed ffc209665 spec: a deploy credential for CI, limited to rungs (#229)