Skip to content

Bound Autopilot's verify rounds and state the program size before fan-out - #226

Merged
michael-denyer merged 1 commit into
mainfrom
bound-autopilot-verify-rounds
Oct 6, 2026
Merged

michael-denyer merged 1 commit into
mainfrom
bound-autopilot-verify-rounds

Conversation

@michael-denyer

Copy link
Copy Markdown
Owner

What changed

  • Only findings the diff causes go back to the owner. Step 4 of playbooks/autopilot-full.md sent every proven finding to the owner. A reviewer can always find one more defect in the files a PR touches, so a PR reached a clean verdict only when a reviewer found nothing. The root now files a defect that trunk already has as an issue, or lists it as a declared gap, and does not hold the merge for it.
  • Rounds have a ceiling. The first round runs the full swarm. A later round re-runs the gates and the probe behind each blocking finding, with one review lane scoped to the fix-forward diff. After two fix-forwards the root reports the PR blocked and the operator chooses what happens next.
  • Review lanes report what the diff breaks. The brief asks for no mutation or fuzz campaign unless the operator asked for one.
  • The root states the program's size before the first owner starts. It names the owners, the first-round lanes and the two-round ceiling, and waits for the operator's go above three owners.
  • The rule is pinned. tests/skill-rules.test.mjs pins the three sentences, and the tools/forks.json entry describes the wider fork.

Why

One seven-PR program ran under the old step 4. Each PR went through up to two audits and two fix rounds. The session transcripts record 67 subagents and about 815M cache-read tokens. After the first round, most findings were defects that main already had.

Verification

  • bun test tests/skill-rules.test.mjs gives 20 pass, 3 fail against main's playbook and 23 pass, 0 fail with the edit.
  • bun tools/generate.mjs --check passes.
  • The dry run of tools/sync.mjs for pstack at the pinned SHA lists the file as a policy fork and reports no failure.
  • bun test tests/ gives 953 pass, 35 skip, 24 fail on macOS. All 24 are in tests/worktree-audit.test.mjs, which fails the same 24 on main on this machine. The other test files together give 701 pass, 22 skip, 0 fail.

Open risks

  • The rule is prose. Nothing stops a root from running a third round.
  • I did not check playbooks/orchestrate.md, autopilot-stack.md or shipping.md for the same loop.
  • No Autopilot program has run under the new wording.

Proposed CHANGES entry

Autopilot-full sends an owner only the findings its diff causes, runs the full swarm in the first round only, stops a PR at two fix-forwards, and states the program's size before the first owner starts.

Step 4 sent every proven finding back to the owner and gave each new head a fresh swarm, so a PR only reached a clean verdict when a reviewer found nothing. Send back only findings the diff causes, run the full swarm in the first round only, stop at two fix-forwards, and have the root state the program's size before the first owner starts.
@michael-denyer
michael-denyer merged commit faa451c into main Oct 6, 2026
13 checks passed
@michael-denyer
michael-denyer deleted the bound-autopilot-verify-rounds branch October 6, 2026 06:07
@michael-denyer michael-denyer mentioned this pull request Oct 6, 2026
michael-denyer added a commit that referenced this pull request Oct 6, 2026
Bump VERSION, add the CHANGES entry for #219 to #226, and stamp the manifests with bun tools/generate.mjs.
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.

1 participant