fix(ci): real CP-admin auto-promote + fail-loud pin gate (keystone) #86
Reference in New Issue
Block a user
Delete Branch "fix/codex85-cp-admin-promote"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ports the proven claude-code / hermes RFC internal#529 Layer A pattern to codex.
Problem:
runtime_image_pins[codex]stayed STALE while new images built+pushed to:latestfine. The old commit-status POST wascontinue-on-error: trueand 403’d silently on Gitea 1.22.x (Actions token lacks status-write). No downstream watcher consumed the status, so promotion was a no-op even on 201.Fix:
outputs.digestpromote-pinjob: direct CP-admin POST, fail-loud, dual prod/staging matrixverify-pinjob: read-back GET + assert digest match; RED on mismatch.gitea/scripts/verify-runtime-pin.sh(template-agnostic, shared across all templates)statuses: writepermissionRequires secrets:
CP_ADMIN_API_TOKEN(prod),CP_ADMIN_API_TOKEN_STAGING(staging)Fixes #85. Fixes #16.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
APPROVED on current head
5c4192b097.Security-weighted review:
CI/secrets caveat: PR required CI can appear green without CP_ADMIN_API_TOKEN / CP_ADMIN_API_TOKEN_STAGING because publish-image.yml does not run on pull_request. The post-merge main publish path is expected to fail loud until both secrets are provisioned.
APPROVED on current head
5c4192b097.Five-axis review: