Resolve the release seam: one gate implementation - #27
Merged
Conversation
release.sh re-implemented the readiness gate (fresh tick -> verdict -> GREEN/YELLOW(--force)/RED -> pre_build) that build.sh --mode release already owns. Plain `pyauto-brain release` is now a door that delegates gate + execution to the Build Agent's release mode; the release conductor keeps its own machinery — release-validation orchestration (rehearse.sh/validate.sh). The "may later split into a dedicated Release Agent" transitional prose is replaced by the resolved boundary in AGENTS.md. Verified: `release` -> build.sh --mode release -> RED -> abort (exit 3); health.sh's `release validate` path untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR removes the duplicated release-readiness gate from the release conductor and makes Build Agent release mode (build.sh --mode release) the single readiness-gate + execution path, with the release conductor acting as a thin “door” for plain releases while keeping rehearse/validate orchestration unchanged.
Changes:
- Route
pyauto-brain releasethroughagents/conductors/build/build.sh --mode release(single gate implementation). - Update CLI/help text and agent docs to reflect the resolved Build-vs-Release boundary.
- Adjust Build Agent release-mode follow-up messaging to match the new responsibility split.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| skills/WORKFLOW.md | Updates workflow docs to describe release as a door into Build release mode. |
| bin/pyauto-brain | Updates dispatcher help text/agent descriptions for the new release behavior. |
| agents/conductors/release/release.sh | Removes duplicate gate logic; delegates gate+execution to Build release mode. |
| agents/conductors/release/AGENTS.md | Updates release conductor responsibilities and run instructions. |
| agents/conductors/build/build.sh | Updates release-mode follow-up messaging to reflect the single-gate boundary. |
| AGENTS.md | Updates architecture docs to reflect that plain release delegates through Build release mode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1,24 +1,19 @@ | |||
| #!/usr/bin/env bash | |||
| # agents/release/release.sh — the release agent (a PyAutoBrain reasoning agent). | |||
| # agents/release/release.sh — the release conductor. | |||
Comment on lines
+16
to
+20
| 1. **Release-validation orchestration** (this conductor's own machinery): | ||
| `release rehearse` (Stage-2 TestPyPI rehearsal) and `release validate` (the | ||
| full Stages 0–3 orchestrator) — see `rehearse.sh` / `validate.sh` below. | ||
| 2. **The release door**: plain `release [--force]` delegates the readiness gate | ||
| *and* execution to the Build Agent's release mode |
Comment on lines
+97
to
+101
| - **`agents/conductors/release/`** — the release door and release-validation | ||
| orchestrator: `release rehearse` / `release validate` drive the TestPyPI | ||
| rehearsal and the full Stages 0–3 validation; plain `release` delegates the | ||
| readiness gate and execution to the Build Agent's release mode (one gate | ||
| implementation, not two). |
Comment on lines
148
to
150
| if [[ "$mode" == "release" ]]; then | ||
| follow_up+=("Release reasoning lives in 'release mode'; it may later split into a dedicated PyAutoBrain Release Agent.") | ||
| follow_up+=("This release mode is the single gate+execution path; the release conductor delegates plain releases through it and owns rehearse/validate.") | ||
| fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap item 7.
release.shduplicated the readiness gate thatbuild.sh --mode releaseowns (tick → GREEN/YELLOW(--force)/RED →pre_build). Now:rehearse/validate, unchanged) + a thin door: plainreleasedelegates through the Build gate (args still forward topre_build).Tested end-to-end: with health currently RED,
pyauto-brain releasecorrectly aborts via the Build gate (exit 3, same as before);release validate/rehearseandhealth.sh's dispatch path are untouched.🤖 Generated with Claude Code