Acceptance Gate -> Conductor wiring (d058) — auto-gate /baton:go's finished work#65
Merged
Conversation
Final-review Important: the constraint named both fail-open cases (throw AND no-verdict); only throw was guarded. Adds T77-T79 for a gater returning a result with no .verdict -> completed + 'produced no verdict' warn + no acceptance.json. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds an opt-in, advisory “Acceptance/Polish Gate” phase to /baton:go runs, executed after a successful DAG walk. When a gate target is provided, the Conductor runs the acceptance gate, records a verdict (accept/polish/reject), and surfaces the result via terminal status, report output, and a new optional artifact.
Changes:
scripts/conductor-lib.ps1: addsResolve-GateArtifact+Format-AcceptanceSection, extendsInvoke-Conductorwith-GateArtifact/-GateDiff/-Gater, and appends an## Acceptancesection +acceptance.jsonwhen gating produces a verdict.scripts/fleet-go.ps1: wires new gate parameters through the CLI and adds a test seam (BATON_GO_TEST_GATE) for deterministic verdicts.scripts/test-conductor-lib.ps1/commands/go.md/.claude-plugin/plugin.json: expands coverage for gate behavior, documents the new flags/status, and bumps plugin version.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/test-conductor-lib.ps1 | Adds end-to-end and seamed unit tests for the acceptance phase (including fail-open branches). |
| scripts/fleet-go.ps1 | Exposes -GateArtifact/-GateDiff and a BATON_GO_TEST_GATE seam to avoid real reviewers in tests. |
| scripts/conductor-lib.ps1 | Implements gate artifact resolution, report section rendering, acceptance.json emission, and post-walk gating logic. |
| commands/go.md | Documents new gate flags, rejected status, and acceptance reporting. |
| .claude-plugin/plugin.json | Version bump to 1.4.0-rc.2. |
Comment on lines
+203
to
+210
| if (-not [string]::IsNullOrWhiteSpace($Artifact)) { return $Artifact } | ||
| if (-not [string]::IsNullOrWhiteSpace($Diff)) { | ||
| try { | ||
| $out = & git diff $Diff 2>$null | ||
| if ($LASTEXITCODE -ne 0) { return '' } | ||
| return (@($out) -join "`n") | ||
| } catch { return '' } | ||
| } |
| --- | ||
| description: Natural-language front door — describe an outcome and the Conductor plans it into a task DAG, then runs it full-auto under two guards (budget cap + destructive action), narrating as it goes. Interrupts only to cross a budget ceiling or before an irreversible action; guesses through everything else and logs every choice. Run artifacts (plan.json / events.jsonl / decisions.jsonl / report.md) land under BATON_HOME/runs/<run-id>/. | ||
| argument-hint: "<what you want done>" [--budget <n>] [--max-tier local|free|paid] | ||
| description: Natural-language front door — describe an outcome and the Conductor plans it into a task DAG, then runs it full-auto under two guards (budget cap + destructive action), narrating as it goes. Interrupts only to cross a budget ceiling or before an irreversible action; guesses through everything else and logs every choice. Run artifacts (plan.json / events.jsonl / decisions.jsonl / report.md / acceptance.json) land under BATON_HOME/runs/<run-id>/. |
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.
Wires the Sprint-7 Acceptance/Polish Gate into the Conductor (
/baton:go) as an opt-in, advisory, fail-open acceptance phase that runs after a successful DAG walk and stamps the run accept/polish/reject. Second v1.4 slice.What
After the walk completes, if a gate target is supplied (
-GateArtifact <text>/-GateDiff <range>), the Conductor runsInvoke-AcceptanceGateover the finished artifact and maps the verdict to the terminal status:accept/polish→completed(polish adds the brief + agateevent),reject→ newrejectedstatus. No target → phase skipped → behavior byte-for-byte identical to today. Adds a 5th run artifactacceptance.json+ an## Acceptancereport section.How
conductor-lib.ps1: dot-sourcegate-lib.ps1; pureResolve-GateArtifact(literal /git diff/ fail-open) +Format-AcceptanceSection;Invoke-Conductorgains-GateArtifact/-GateDiff/-Gater+ the post-walk phase;Complete-Run -Gate(untyped — ordered dict or hashtable).fleet-go.ps1:-GateArtifact/-GateDiff+BATON_GO_TEST_GATEtest seam.commands/go.md: flags +rejectedstatus + 5th artifact. Plugin1.4.0-rc.1 → 1.4.0-rc.2.Decisions (d058)
d-cg-1 run-level opt-in phase (no task-output bus yet → run-level over sequenceable) · d-cg-2 advisory, no new mid-walk interrupt (budget+destructive stay the only two) · d-cg-3 verdict→status · d-cg-4 fail-open · d-cg-5 seamed
-Gater+ 5th artifact.Tests
test-conductor-lib.ps1: T1–T79 + T60c ALL CHECKS PASS — pure helpers (T60–T65), seamed accept/polish/reject/throw/no-verdict (T66–T79), CLI gate seam (T60c). Bootstrap exit 0.-Gatersignature). 1 Important (the no-verdict fail-open branch lacked a check) fixed in013974c(T77–T79). Minors tracked, not blocking.Spec:
docs/superpowers/specs/2026-06-21-acceptance-gate-conductor-wiring-design.mdPlan:
docs/superpowers/plans/2026-06-21-acceptance-gate-conductor-wiring.md🤖 Generated with Claude Code