fix: pre-landing review fixes (plain bug fixes are exempt, proof is a repro or failing test)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
garrytanandcapy-ai[bot] committed 2026-11-03 02:26:15 +00:00
1 parent 4ddc0e418b
commit caa17fccc0
6 files changed
+10 -10

No files matched your search

+2 -2
View File
@@ -374,8 +374,8 @@ lane builds only after the owner's word is answered into the run and it reports
New scope taken on part-way gets its own plan. Read-only lanes, the flaky pass's repairs,
slot stamps, CHANGELOG resolves, cap re-pins under a grant, S1 emergencies (broken install
or upgrade, red main, a security bug) and fixes from an already-diagnosed, audited problem
list are exempt. Other bug fixes skip plan review (`--kind fix`, R65) but carry their
proof; features get the lean run (`--kind feature`). The brief a
list are exempt. Other bug fixes skip plan review (`--kind fix`, R65) but carry a repro
or failing test; features get the lean run (`--kind feature`). The brief a
controller hands a lane, with its `Plan: required | approved | exempt` line, is
`captain/templates/brief.md`; the rule is `docs/captain.md` (Plan before build).
+2 -2
View File
@@ -302,8 +302,8 @@ lane builds only after the owner's word is answered into the run and it reports
New scope taken on part-way gets its own plan. Read-only lanes, the flaky pass's repairs,
slot stamps, CHANGELOG resolves, cap re-pins under a grant, S1 emergencies (broken install
or upgrade, red main, a security bug) and fixes from an already-diagnosed, audited problem
list are exempt. Other bug fixes skip plan review (`--kind fix`, R65) but carry their
proof; features get the lean run (`--kind feature`). The brief a
list are exempt. Other bug fixes skip plan review (`--kind fix`, R65) but carry a repro
or failing test; features get the lean run (`--kind feature`). The brief a
controller hands a lane, with its `Plan: required | approved | exempt` line, is
`captain/templates/brief.md`; the rule is `docs/captain.md` (Plan before build).
+2 -2
View File
@@ -136,8 +136,8 @@ Homes are paths in the gstack checkout the lane checked at session start.
lanes, the daily flaky pass's repairs, slot stamps, CHANGELOG-only resolves, cap
re-pins under a written grant, S1 emergencies (broken install or upgrade, red main,
a security bug) and fixes from an already-diagnosed, audited problem list. Any other
bug fix gets no plan review (`gstack-autoplan next --kind fix`, R65) and carries its
proof in the PR; a feature gets the lean run (`--kind feature`). Home: `docs/captain.md` (Plan before build),
bug fix is exempt too (`gstack-autoplan next --kind fix`, R65) and carries a repro or
failing test in the PR; a feature gets the lean run (`--kind feature`). Home: `docs/captain.md` (Plan before build),
`captain/templates/brief.md`.
## Crew-specific rules
+1 -1
View File
@@ -18,7 +18,7 @@ Spend cap: <focused paid runs per PR, from SPEND>
## Why it matters, ## What caused this work, ## Big decisions and ## Implementation plan
sections, then run gstack-autoplan next --out <run dir> --plan <plan.md> <scope flags>
sized to this brief (a feature: --kind feature, the lean run with one reviewer over
the plan and the draft code; a bug fix needs no plan run, see Plan: exempt).
the plan and the draft code; a bug fix needs no plan run: Plan: exempt: bug fix (R65)).
At the gate send me the output of
gstack-owner-brief render --captain --out <run dir> whole, as a needs-you report.
Build nothing yet.
+1 -1
View File
@@ -58,7 +58,7 @@ Every Capy thread that uses gstack follows these for new work, under a Captain o
- **Stop a finished /ship subagent.** When a /ship subagent opens its PR, the parent subscribes to that PR with Capy's subscribe tool and keeps that one subscription until the PR merges or closes, re-subscribing if the watch expires, then cancels it. Once the subscription is in place and READY arrives, the parent stops the subagent and owns the PR from then on, slot stamp, re-READY and receipt carry included. A stopped /ship subagent woken by a check, review or merge notice, not by its parent, reports one line naming what woke it, its pin and the PR head (`gh pr view <n> --json headRefOid --jq .headRefOid`) and ends the turn without acting, whether or not the head moved. A message from its parent is an instruction it carries out.
- **No merge without the owner's word.** A thread never merges on its own; under a Captain the controller merges on a recorded standing approval, and a thread with no Captain asks the person.
Exempt from the plan step: read-only work, the daily flaky pass's repairs, slot stamps, CHANGELOG-only resolves, cap re-pins under a written grant, S1 emergencies (a broken install or upgrade, a red main, a security bug) and fixes from an already-diagnosed, audited problem list. Other bug fixes skip plan review (`--kind fix`, R65) but carry their proof; features get the lean run (`--kind feature`).
Exempt from the plan step: read-only work, the daily flaky pass's repairs, slot stamps, CHANGELOG-only resolves, cap re-pins under a written grant, S1 emergencies (a broken install or upgrade, a red main, a security bug) and fixes from an already-diagnosed, audited problem list. Other bug fixes skip plan review (`--kind fix`, R65) but carry a repro or failing test; features get the lean run (`--kind feature`).
## Working under a Captain
+2 -2
View File
@@ -135,7 +135,7 @@ alone is not an ask.
A lane that builds something plans first. Its first act after the session-start install
check, before any product code, is a `/autoplan` run on its brief, sized to the work. The
phases run in order, CEO, then design, then DX, then eng, with design and DX only when the
full run's phases run in order, CEO, then design, then DX, then eng, with design and DX only when the
scope has them. A bug fix gets no plan review and a feature gets the lean run (both below). On Capy the
unattended loop is `autoplan/DRIVER.md` in the gstack checkout. New functionality a lane
takes on part-way, scope its brief did not name, gets its own plan and its own ask before
@@ -182,7 +182,7 @@ flaky pass's repairs, slot stamps, CHANGELOG-only conflict resolves and a size o
cap re-pinned under the controller's written grant need no plan. Two kinds of fix are exempt
too: an S1 emergency (a broken install or upgrade, a red main, a security bug), and a fix
from a problem list that was already diagnosed and audited, where that list is the plan.
Any other bug fix gets no plan review (R65): `gstack-autoplan next --kind fix` prints
Any other bug fix is exempt too (R65; the brief's reason is `bug fix (R65)`): `gstack-autoplan next --kind fix` prints
`AUTOPLAN: not needed (bug fix; R65)` and writes nothing, and the PR carries the bug's
proof, a repro on current main or a failing test written first. A feature gets the lean
run, `--kind feature`: one reviewer reading the plan and the draft code together, one gate