set_epic_status
Update an epic's lifecycle status (draft, in-progress, done, blocked, deferred). Setting 'done' requires a summary and all stories complete; use override_incomplete or confirm_regression only with user confirmation.
Instructions
Update the lifecycle status of an epic. Use this tool to manage the epic's own status — not the status of individual stories within it (use set_story_status for that). Typical progression: draft → in-progress (when the first story starts) → done (when all stories are complete) or deferred (if the epic is postponed). Status meanings: 'draft' = epic created but no work started; 'in-progress' = actively being worked on; 'done' = all stories complete and the epic is closed; 'blocked' = progress prevented by an external dependency; 'deferred' = postponed indefinitely. Guards: (1) Setting 'done' requires a summary and checks all stories are done. If any are not done, the call fails — set override_incomplete=true only after the user explicitly confirms this is acceptable. (2) Moving backwards (e.g. done → in-progress, in-progress → draft) asks you to create new stories to justify the regression first. Set confirm_regression=true only if the user explicitly insists on skipping story creation. Returns {epic_id, old_status, new_status}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | New status to assign. Must be one of: draft, in-progress, done, blocked, deferred. | |
| epic_id | Yes | Epic ID to update, e.g. EPIC-003 | |
| summary | No | Required when setting status to 'done'. Describes what was accomplished by this epic. Appended as a timestamped note to the epic file. | |
| confirm_regression | No | Set to true to allow a backwards status transition (e.g. done → in-progress) without first creating new stories. Only set if the user explicitly insists on skipping story creation. | |
| override_incomplete | No | Set to true to mark the epic 'done' even when some stories are not done. Only set after the user explicitly confirms the incomplete stories are intentionally omitted. |