AFK
Drive the Gracie portfolio site to completion in one session: repeatedly find
every ticket ready to implement with no human input, ship each one all the way
to Done, and integrate the results — round after round — until none remain.
Manual testing happens once, at the very end, against a single project-wide
guide — never per ticket.
The frontier
A ticket is frontier when it carries the ready-for-agent tag and every
blocked_by stem resolves to a file now in .../Done/. Compute it from
.gracie-vault/Projects/gracie-portfolio/issues/Ready/; only if Ready/
holds no frontier-eligible ticket, compute it from Backlog/ instead.
Frontier tickets need nothing from a human — they're exactly what's safe to
hand to subagents in parallel, because none blocks another.
Steps
- Read a knowledge summary:
scan-knowledge.sh .gracie-vault/Knowledge(from theknowledgeskill); surface the most relevant points. - Compute the frontier (see above):
Ready/first,Backlog/ifReady/is empty of frontier-eligible tickets. - Empty frontier?
Backlog/holds tickets not taggedready-for-agent: they need/triagebefore they're workable. Report the count and stop.Backlog/is also empty (or every remaining ticket there is blocked): the project is complete — skip to step 8.
- Dispatch the whole frontier in one message — one subagent per ticket,
each
isolation: worktree. Parallel dispatch is safe precisely because frontier tickets don't block each other. Tell each subagent to, in its own isolated copy:- Run
/slice <ticket>end-to-end — this carries the ticket throughReviewand checks off the acceptance criteria that now hold. - Where
/slicewould stop for a human, close the loop instead: re-read the ticket's acceptance criteria against the diff. Every box checked andmake build/make lint, thenmake testgreen is what stands in for human review here — move the ticketReview→Doneand commit that move. - Hand back the ticket name, its final state (
Doneor, if a box wouldn't check out, left inReviewwith why), and the manual-test steps/sliceproduced.
- Run
- Integrate, one ticket at a time, in dispatch order as each subagent
reports back: merge its worktree branch — commits and all, including the
Donemove — then re-runmake build/make lint, thenmake teston the integration branch to catch what only shows up combined. A conflict is resolved with theresolving-merge-conflictsskill, never--abort. Delete the worktree once merged. Append the reported manual-test steps to a running project-wide list, keyed by ticket. - Stragglers. A ticket left in
Review— acceptance criteria that wouldn't check out, a failing verify the subagent couldn't fix, or a HITL blocker hit mid-slice — is a straggler, not a retry target this round. Leave it there, add it to a running stragglers list with why, and move on; it still merges (step 5) so its diff isn't lost. - Recompute the frontier — merged tickets in
Done/may unblock others — and goto 4. - Write the manual testing guide. One file,
.gracie-vault/Projects/gracie-portfolio/MANUAL-TESTING.md: one section perDoneticket (name, link, its collected steps), plus a short end-to-end pass across the whole project if the tickets touch related surfaces. This is the human's only manual-testing entry point — nothing per-ticket. Commit it, then report: everything shipped toDone, the stragglers list, and a pointer to the guide.