mark_story_done
Marks a story as finished after its PR merges, updating the ticket and plan status, and triggering plan completion when it's the final story.
Instructions
Mark a story finished: sets its ticket (Plane, when enabled) to Done, sets manifest["stories"][story_key]["status"] to "done", and clears any stale parked_reason. If this was the plan's last remaining story, fires the plan-completion notification.
plan_name: the plan's name, as returned by list_plans or passed to save_plan/ingest_plan. story_key: the story's key within that plan's manifest, as returned by list_ready_stories, check_story_status, or dispatch_story.
Call this only after the story's PR has actually been reviewed and
merged — approve_merge already calls this internally as its last step,
so you normally only need to call mark_story_done directly for a
merge that happened outside the pipeline (e.g. a manual gh pr merge
you've already confirmed passed CI). It does not merge or verify
anything itself; it only records that the work is done. If another
dispatch/ingest/interrupt holds the plan's lock, this is a no-op that
returns {"ok": True, "skipped": "locked", ...} rather than blocking or
raising — retry the call rather than assuming failure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan_name | Yes | ||
| story_key | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||