docs(agents): release one candidate when the catalogs diverge #582

Merged
binjovi-bot merged 1 commit from docs/binjovictl-single-candidate-release into trunk 2026-09-10 15:35:00 +00:00
Owner

binjovictl release --build BUILD_ID was missing from the release train section, and it is the only way past 409 candidate_catalogs_diverged.

Why

--all-ready refuses with that error when one ready candidate was built before the current base revision. The candidates cannot go out together, so the stale one has to rebuild and yours goes alone by build id.

This came up twice in one session. Both times binjovictl release --all-ready stopped with an error that names the condition but not the way out, and the flag that fixes it was not written down anywhere.

Change

  • binjovictl release PROJECT --build BUILD_ID --wait added to the command list.
  • A short paragraph on what candidate_catalogs_diverged means and what to do: release your own candidate by the id binjovictl builds PROJECT prints, and rebuild the stale one.
  • One sentence for the rule the release train exists for: a green pull request is not the end of the work, and routine work does not wait for permission to release.

The section already covered --all-ready, the merge rule, retry-deploy and the ~/bin path. This only fills the two gaps.

https://claude.ai/code/session_01TdW5FSvRJW8CtGnpd29Xp8

`binjovictl release --build BUILD_ID` was missing from the release train section, and it is the only way past `409 candidate_catalogs_diverged`. ## Why `--all-ready` refuses with that error when one ready candidate was built before the current base revision. The candidates cannot go out together, so the stale one has to rebuild and yours goes alone by build id. This came up twice in one session. Both times `binjovictl release --all-ready` stopped with an error that names the condition but not the way out, and the flag that fixes it was not written down anywhere. ## Change - `binjovictl release PROJECT --build BUILD_ID --wait` added to the command list. - A short paragraph on what `candidate_catalogs_diverged` means and what to do: release your own candidate by the id `binjovictl builds PROJECT` prints, and rebuild the stale one. - One sentence for the rule the release train exists for: a green pull request is not the end of the work, and routine work does not wait for permission to release. The section already covered `--all-ready`, the merge rule, `retry-deploy` and the `~/bin` path. This only fills the two gaps. https://claude.ai/code/session_01TdW5FSvRJW8CtGnpd29Xp8
docs(agents): release one candidate when the catalogs diverge
Some checks failed
binjovi/ci Binjovi failed the frozen plan
cce5bb671d
`binjovictl release --build BUILD_ID` was not written down. It is the only way
out of `409 candidate_catalogs_diverged`, which `--all-ready` returns when one
ready candidate was built before the current base revision. The two candidates
cannot go out together, so your own candidate goes alone and the stale one
needs a rebuild.

This happened twice in one session. Both times the release train stopped with
an error that does not say what to do next.

Also states the rule that the release train exists for: a green pull request is
not the end of the work, and routine work does not wait for permission to
release.

Claude-Session: https://claude.ai/code/session_01TdW5FSvRJW8CtGnpd29Xp8
sean force-pushed docs/binjovictl-single-candidate-release from cce5bb671d
Some checks failed
binjovi/ci Binjovi failed the frozen plan
to b222d9c439
All checks were successful
binjovi/ci Binjovi completed the frozen plan
2026-09-10 15:34:17 +00:00
Compare
binjovi-bot deleted branch docs/binjovictl-single-candidate-release 2026-09-10 15:35:00 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/seanfarm!582
No description provided.