Skip to content

Resolve the release seam: one gate implementation - #27

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/release-into-build
Jul 8, 2026
Merged

Resolve the release seam: one gate implementation#27
Jammy2211 merged 1 commit into
mainfrom
feature/release-into-build

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Roadmap item 7. release.sh duplicated the readiness gate that build.sh --mode release owns (tick → GREEN/YELLOW(--force)/RED → pre_build). Now:

  • Build Agent release mode = the single gate + execution path.
  • Release conductor = release-validation orchestration (rehearse/validate, unchanged) + a thin door: plain release delegates through the Build gate (args still forward to pre_build).
  • The documented "one agent now, clean seam for two later" ambiguity is replaced by the resolved boundary.

Tested end-to-end: with health currently RED, pyauto-brain release correctly aborts via the Build gate (exit 3, same as before); release validate/rehearse and health.sh's dispatch path are untouched.

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings July 8, 2026 10:38
@Jammy2211
Jammy2211 merged commit 5f8762d into main Jul 8, 2026
@Jammy2211
Jammy2211 deleted the feature/release-into-build branch July 8, 2026 10:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 release through agents/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 thread AGENTS.md
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants