docs(next): retarget NEXT.md at the one thing blocking the review gate - #194
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesAuthentication Incident Handoff
Estimated code review effort: 1 (Trivial) | ~5 minutes Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…en design question Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
…sion #16(d) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
|
Collides with #189, which I should have found before opening this. #189 ( They are not equivalent, so this is not simply "close one":
Suggested resolution: take this |
…llides with #194 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
|
Status update on the collision noted above, so this PR is decision-ready. #189's substantive content is resolved and out of the way. Its That leaves this PR as the only live proposal for The design question in the body still stands and still needs a human, and it is the reason this is a NEXT.md and not a patch: the fix belongs in Practical consequence worth stating plainly: #196 cannot go green until this lands, and neither can anything else. It is the one blocker with fleet-wide reach. |
Correcting myself: this PR is not blocking the othersI said on this PR that "#196 cannot go green until this lands, and neither can anything else," and called it the one blocker with fleet-wide reach. The first half is true and the second is wrong, and the difference matters for whoever picks this up.
(I cannot read branch protection directly — What actually follows:
That also makes my own position honest to state: I have This PR is still worth landing — the swarm signal has no value while it exits 127. It is just not load-bearing for anyone else's merge. |
Retargeted at
|
| package | CLOUD_API_KEY in @agent-relay/cloud/dist/api-client.js |
|---|---|
agent-relay@11.10.3 |
present |
agent-relay@11.8.3 (#198's pin) |
0 occurrences |
WorkflowApiKeyClient.fromEnv reads env.CLOUD_API_KEY, and workflows.js:550 prefers it over the stored login — so with the variable set, cloud run never reaches the device flow that hung for ten minutes. That code is simply absent from the pinned build. AgentWorkforce/relay runs this exact shape in production against published 11.10.3.
The rewritten package carries the four concrete steps (bump the pin, set both variables, mint per the cloud runbook, fix the preflight), the evidence chain for each, and an explicit note that an operator mints while a repository administrator stores — the runbook does not authorize an agent to touch GitHub secrets.
It also now leads with the number that frames the whole gate-3 question:
TOTAL runs: 76 failure: 75 cancelled: 1 successes: 0
first 2026-08-30 · latest 2026-09-06
A week, seventy-six runs, no verdict ever produced. Nothing downstream of authentication has ever executed, which is worth holding next to any claim that the gate is architecturally complete.
Why I rewrote rather than opened a new PR: ops/NEXT.md is already contested by four PRs (#189, #194, #199, #200). Adding a fifth would have made the collision worse while claiming to fix it. This keeps the count where it is and makes the surviving version the one with verified content.
Still not merging it myself, and step 4 in particular remains something I cannot do: fixing Validate cloud authentication means editing the gate that judges my work.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
Rebased onto main after #198, #200, #202 and #203 landed. The previous package named the missing CLI install; #198 closed that and bumped the pin to 11.10.3, so what remains is a credential, not code. Records the four layers closed today and leaves one item: mint the workflow-invoke credential per cloud's runbook, have an administrator store it, set CLOUD_API_URL and CLOUD_API_KEY on the launch step, and fix the preflight that cannot currently fail. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR Session-Id: c228933d-4f94-4d83-9a9a-daf3c83b94f1
4037ba1 to
082c10d
Compare
Retargeted at
4037ba1. This PR originally namedagent-relay: command not found(exit 127) as the blocker. #198 closed that. The body below now matches the file; the earlier version is left in the comment history rather than edited away.The headline
The review swarm has never succeeded. Not once.
A week, seventy-six runs, no verdict ever produced. Any claim that gate 3 is "architecturally complete" has to survive that number: most of its nine requirements describe behaviour downstream of a launch that has never happened.
What is actually broken
Launch cloud swarmfails after exactly ten minutes (run 34007204726, 02:44:24Z → 02:54:27Z):The CLI tried to authenticate by browser device code and waited for an approval that cannot happen in CI.
The cause is the pinned version, not a missing secret.
agent-relayauthenticates from the environment through a dependency, and the pinned build does not contain that code:CLOUD_API_KEYin@agent-relay/cloud/dist/api-client.jsagent-relay@11.10.3agent-relay@11.8.3(#198's pin)WorkflowApiKeyClient.fromEnvreadsenv.CLOUD_API_KEY, andworkflows.js:550prefers it over the stored login, so with the variable set the device flow is never reached.identity.js:134states the intent outright: "CI can inject identity without a login."Precedent:
AgentWorkforce/relay'srelayflow-pr-proof.ymlruns this exact shape in production against published11.10.3. Nothing here is novel.What the package asks for
11.8.3→11.10.3. Keep pinning; only the version was wrong.CLOUD_API_URLandCLOUD_API_KEYon the launch step.AgentWorkforce/cloud→docs/runbooks/relay-ci-workflow-credential.md(CI_TOKEN_PROFILE=workflow-invoke). An operator mints; a repository administrator stores it — the runbook does not authorize an agent to create GitHub secrets.Validate cloud authenticationchecks one variable for non-emptiness, never attempts an authentication, and passed green on the run whose authentication failed.Why this is a package and not a patch
RFC-0001 decision #6 and the charter's second hard rail: the Lead cannot edit the gates that judge its work, and
review-swarm.ymlis that gate. It has been left broken rather than quietly patched.Note
ops/NEXT.mdis rewritten by four open PRs (#189, #194, #199, #200). Whichever lands last conflicts, and resolving by taking one side wholesale silently discards three. Consolidate before merging any of them.🤖 Generated with Claude Code
https://claude.ai/code/session_01FtQSAcGDta5VH9xiZFT4sR