Status: PASS / CUSTODY_CODE_READY / APP_INSTALLATION_PENDING / PRODUCTION_NO_GO
Implementation: R2_GITHUB_APP_CUSTODY_BROKER_V1_1_EXACT_SCOPE.
The broker implements the GitHub App Manifest flow, AES-256-GCM private-key custody, app-JWT authentication, role-specific JIT installation tokens, exact one-repository scope verification, and a durable audit hash chain.
Hardening added in V1.1:
GET /app;contents:read, pull_requests:write, administration:read (plus implicit metadata:read only);repository_selection=selected;GET /installation/repositories and must expose exactly one private repository: fscfede-beep/rumbo-control-queue, repository id 1314199389, owner id 293577326;Selftest evaluation: 01a04be4-8d9f-75ed-925d-5c285c05a08f — PASS.
Selftest covers AES-GCM roundtrip, GitHub App RS256 JWT construction, exact manifest permission set, rejection of extra/upgraded permissions, private app manifest, inactive webhook, endpoint authentication and audit-chain integrity.
Independent static source audit after hardening: PASS across exact app/install/repository scope, revocation behavior, encrypted custody, absence of raw secret literals, no token persistence, implementation-bound token responses and production_go=false.
The broker is intentionally not ready until GitHub completes the authenticated App creation and exact repository installation. No billing or product-production action is performed by this release.