Skip to content

Lifecycle of an issue

This is the whole system on one page: a raw issue driven to a reviewed PR by a single comment. Every row is something you can actually see in the issue tracker — a comment, a label, a branch, or a PR.

Setup: issue #42“Add dark mode toggle” — with a two-sentence body. You comment /execute.

#ActorWhat happensWhat you see
1YouComment on #42/execute
2Security gateAuthorizes you before any feedback(nothing — denied users get only a denial message)
3EngineerClaims the comment (issue isn’t a Task and has no Tactics:done)👀 on your comment; status comment posted
4EngineerDefinition of Ready fails — no Design:done — delegatesStatus edited: 🔁 not ready — delegated; Architect dispatched with chain engineer+execute
5ArchitectDesigns (or revises) in the issue body; classifies Feature/BugDesign:draft → issue body now holds the design → Design:done, label Feature; status ✅; you’re assigned
6ArchitectContinues the chainEngineer dispatched with chain execute
7EngineerDoR passes now; plansTactics:crafting; task issues #43–#45 created, sub-issue-linked; waves + ## Progress appear in the tactical zone; Tactics:done; status ✅
8EngineerContinues the chainMaestro dispatched
9MaestroCreates pipeline branch + draft PR; dispatches wave 1Branch feature/42-add-dark-mode-toggle; draft PR; Work:orchestrating; comment: 🌊 Wave 1 of 2 dispatched
10Developer ×NEach implements a task in parallelPer task: Work:coding → task branch → PR fixes #43 → auto-merged → task closed, Work:done
11GitHubEach merge into feature/* re-triggers the MaestroCheckboxes tick in ## Progress; 🌊 Wave 2 dispatched when wave 1 completes
12MaestroAll waves done — assembles the final PRPR marked ready with Closes #43 #44 #45 #42 + a Work Log; reviewers = issue assignees; Work:done; comment: 🎉 All waves complete!
13YouReview and merge the final PREverything closes via the Closes references

Total comments from you: one.

There is no hidden state — everything the pipeline knows is in your tracker and repo:

StateWhere it lives
The designIssue body, above <!-- autoducks:tactical:begin -->
The plan (waves, progress)Issue body, inside the tactical zone
Stage progressLabels
Which tasks are doneMerged PRs into the pipeline branch (fixes #N)
Who owns the next actionThe issue assignee (set at every stage completion)
Run historyThe status comments, each linking its workflow run

Because of this, an interrupted pipeline resumes by re-issuing the same comment — agents recompute everything from visible state, and idempotency guards make re-runs safe.

  • Bug instead of feature: the Architect labels it Bug; the pipeline branch becomes fix/42-…. Nothing else changes.
  • Single-task plan: the Engineer skips child issues; the Maestro dispatches the Developer on #42 itself.
  • You review between stages: run /architect, engineer, execute separately — the cascade only fills in stages you skipped.
  • The Engineer has questions: it posts them and stops the chain; answer in comments and re-run.