| name | implement |
| description | Implement a ready Issue inside its own git worktree, building only within existing architecture. Cord-pull to needs-plan if hidden architecture is discovered. Use when advancing an Issue out of issues/ready/. |
Implement
Agents implement every Issue (including architectural ones, after their Plan exists).
Build within existing architecture; do not invent architecture (DESIGN.md §7, ADR 0001).
Contract
- Input: an Issue in
issues/ready/<id>/ with issue.md and, if it was planned,
plan.md.
- Run as a fresh subagent — the implementer must be distinct from the intent-judge that
validates it later.
- You do NOT move the issue folder. You DO create and work in the worktree.
Steps
- Create the worktree off current
main:
git worktree add -b issue/<id> .worktrees/<id> main
Then make the app's deps available in the worktree (they are gitignored, so the fresh
checkout has none): symlink the primary checkout's installed modules —
ln -s "$PWD/app/node_modules" .worktrees/<id>/app/node_modules
This is instant and fine because deps rarely change. If the Issue changes
app/package.json, do not symlink — run npm install inside .worktrees/<id>/app/
instead (and note that a new dependency is an architectural signal — consider cord-pull).
- Read
issue.md (+ plan.md if present). If a Plan exists, implement to its Intent,
stay inside its Files expected to change, and respect its Out of scope boundary.
Do the minimal thing — no scope creep (the intent-judge checks both directions).
- Implement the change in
.worktrees/<id>/app/.
- Commit on the
issue/<id> branch:
git -C .worktrees/<id> add -A && git -C .worktrees/<id> commit -m "<id>: <summary>"
Cord-pull (reclassification — DESIGN.md §7)
If you discover the Issue actually requires inventing structure (a new abstraction,
module boundary, dependency, schema/contract change) and there is no Plan, STOP. Do not
invent it. Remove the worktree and return a reclassify verdict. The trivial/standard path
can always abort upward into the human gate.
Verdict
result: implemented | reclassify
branch: issue/<id> # when implemented
reclassifyTo: architectural # when reclassify
note: <what you found>
implemented → /tick moves the Issue to validating/.
reclassify → /tick moves it to needs-plan/ and frees the concurrency slot.