Repository navigation
fix: /autoplan gate makes each phase publish in order after its report (GST-1814) - #4135
Merged
Merged
Conversation
…GST-1814) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
…s report; per-step Stop budget that never exhausts before the first report (GST-1814) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
😎 This pull request was merged. |
Before scope is known, CEO publishes first; an exhausted or released run no longer refuses publishes. Review-Finding: p1/red-team#1 reader=red-team Review-Finding: p1/red-team#3 reader=red-team Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
…cides Review-Finding: p1v/outside-voice#1 reader=outside-voice Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
…nger refuses publishes Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
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.
What changed
The E2 replay tests at main (10 of 14 fail) and on this branch (14 of 14 pass): each phase now publishes in order, after its own report.
Before/after as text: The E2 replay tests at main (10 of 14 fail) and on this branch (14 of 14 pass): each phase now publishes in order, after its own report
The opt-in /autoplan gate (
--autoplan-gate, GST-1666) now checks each phase's publish no-op before it runs, not only the final stop.true autoplan-published <phase>is refused unless that phase is the next applicable one and itsPhase N completereport was sent since the previous publish, in or before the publish message. The refusal's first body line isNext due: the Phase N (<name>) report.Before scope is known, CEO must publish first. A released or exhausted run no longer refuses publishes.Why
GEVA-2's E2 eval (3 told Opus 5.5 sessions, 1 exposed) failed only in the report step: one session spent all 3 Stop blocks on
missing=ceobefore doing any work, one published Eng's report first and back-filled CEO and DX, and one published everything with no reports. With the gate on, each phase now has to publish in order, right after its own report, and blocks before any work no longer use up the run's budget.Blast radius
Off by default and unchanged with the switch off; with it on, setup registers one more hook (PreToolUse, matcher Bash) whose shim starts bun only for the publish command. The publish check fails open when there is no /autoplan load, in runner mode, for a subagent's call, or when the call never shows in the transcript within 2 s, and the Stop check still applies then (walked in test/autoplan-stop-gate.test.ts; the real-CLI smoke passed 24/24 at b0fa3f6).
Approvals
Approved: yes (record r-d2a4916e8f04). The full approval record stays private: this repository is public or its visibility is unknown.
Plan: exempt: bug fix
Plan check: exempt bug fix
Summary
/autoplan sessions under the gate kept publishing phases with no report or out of order, and spent their Stop budget before doing any work. The gate now refuses those publishes before they run, counts only in-order publishes at Stop, and budgets Stop blocks per step. Review fixes on top: CEO must come first before scope is known, an exhausted run stops refusing publishes, and the publish check reads the transcript only up to the call it decides.
Test Coverage
All new code paths have test coverage (each of the 8 changed runtime files has a changed test naming it).
Tests ran: targeted 98
Pre-Landing Review
Pre-Landing Review: 9 issues — 3 auto-fixed, 0 asked, 0 deferred, 6 noted.
REVIEW_LOOP: passes=1 blocking_found=1 deferred=0 noted=3 fixed=3 scope=frozen ledgers_read=5 fix_checks=2 dispatches=4
Gate edits: none detected (9 listed, 6 read; patterns: RH-1,RH-3,RH-4,RH-12,RH-13,RH-14,RH-15,RH-16; unlisted idioms: none)
Outside review: completed (openai/gpt-6.1-sol host subagent), 1 finding, fixed in 923dfb3. Native adversarial: completed, no blocking findings.
Review notes
Below the blocking floor; shipped as notes, not fixed:
gstack-skill-gates reportshows neither it nordenied.tool_use_idandagent_idfields; verified by the real-CLI smoke at b0fa3f6, not re-run at this head.Exploratory QA
Not run: no exploratory QA probes were required for this change. Proof is the hook-level E2 replays above.
Design Review
No frontend files changed — design review skipped.
Eval Results
No prompt-related files changed — evals skipped. The selector fell back to its full profile because
setupchanged and listed the behaviors as scheduled/release coverage, not PR passes.Review bot comments
No review bot comments.
Plan Completion
Plan completion audit: not run (no plan is bound to this branch and no docs/designs/ file matches). Fix: add "Plan: " to the PR body, or run /autoplan.
Issues
Refs p1/red-team#1
Refs p1/red-team#3
Refs p1v/outside-voice#1
TODOS
No TODO items completed in this PR.
Documentation
Status: current. The branch already updated its documentation and I found no factual drift.
Scope: base e58be61..15c30dc, 13 committed files (the /autoplan gate's publish-order check, GST-1814); no staged, unstaged or new files. I discovered docs that mention the autoplan gate and its publish no-op, including authored templates.
Documentation health:
Coverage debt: the autoplan publish check has reference and explanation coverage in docs/skill-gates.md but no how-to or tutorial (a common gap). Diagram drift: none.
Test plan
🤖 Generated with Claude Code