fix(implement-feature): give each path a next step #196
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/implement-feature-flow"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Walking the chart of
docs/workflows/implement-feature.mdagainst theskills it draws showed five paths where an agent reaches a step with no
stated next one. When
dependency-advisoradvises against an upgrade,the agent goes on by default. When the reshape that
before-plansendsto
refactor-codeends in a pull request or a branch left behind, thefeature has no instruction for the wait. A task that needs a reshape,
found in
write-planor mid-execution with the branch already open,has a return path only in one sentence of the extension. A handed-in
work file starts at "the phase after its last filled one", which can
skip the Brief's gate for a security surface or an unfinished
design.A trim's new audit on a written Brief surfaces only at
check-work-folder, sometimes not untilverify-execution.The chart also redrew the shared chain of
how-it-works.mdwith lessdetail than the skills, which is how it lost several of these steps.
Alternatives set aside: stacking the feature branch on the reshape's
branch instead of waiting, since five skills would have to learn about a
base other than main; a new
route-backdestination instead of a rulein
write-plan, since that changes a skill every workflow shares; andleaving the audit gap to
check-work-folder, since it surfaces toolate.
What changed
When the advisor recommends wait or skip for an upgrade,
brainstormstep 2 stops and the user chooses to go on, to change the work, or to
close it. The rule lives in that one step for both a request and a
handed-in work file.
While a reshape has not reached main,
before-plannames it in Status'sBlocked on and stops. On resume, both
run-changeandexecute-plansend the work back to
before-plan, which then rebases an open branchonto main and proves the tests of the done tasks again. Rewriting a
branch a remote holds still needs the user to name it, as Git and
delivery requires, and a refusal goes to
route-backas a dead end.write-planstep 1 sends a task that needs a reshape back to theworkflow's
before-plan. A handed-in work file starts at the first stepwhose skill's Done condition it does not meet. It enters at
brainstormstep 4 when the Brief is written. It never starts before
execute-planonce the Work file gate has passed.
designcounts as done only onceits drafts are reviewed. A new trim audit on a written Brief sends the
work back to
brainstormstep 3, and the Work file gate is passedagain.
The page now draws two charts that show only what
implement-featureadds: its opening steps and its
before-planextension. The sharedchain stays in
how-it-works.md.brainstorm.md,write-plan.md,execute-plan.md, andhow-it-works.mdshow the new edges and the newstart rule.
How to verify
implement-feature'sbefore-planon a fresh checkout of thebranch, as an agent resuming a work whose Status says "Blocked on:
reshape PR #N, until it lands on main". Expect to go to the wait in
item 3, then to the rebase and reproof in item 4. On main the
extension has no wait, so the agent would send the reshape again or
go on to
write-plan.run-change's last paragraph as an agent handed a work filewhose Brief is written, whose gate has not passed, and which names a
security surface. Expect to enter at
brainstormstep 4 and pass thegate before
before-plan. On main the file starts atdesignorbefore-plan.On the tip these pass:
bash tests/verify-agent-config.sh(225),bash tests/check-work-folder.sh(46),.agents/hooks/shellcheck.sh repo,prettier --check '**/*.md',scripts/verify-agent-config.sh,and
git diff --check main. The behavioral evals were not run, becausethey are billed and left to the maintainer before merge.
Considerations
The change is prose only, and no test checks that an agent follows the
new paths, so the evals are the only measure. One low review finding is
set aside: the
route-backnode in the second chart reads "a failedattempt", and the edge into it carries the dead-end label instead.
https://claude.ai/code/session_012CBsgjdkRDt2uVUmT7bj64