Skip to content

Ingest sprint-status action_items into the sweep/deferred-work flow (stable id + ref) #251

Description

@pbean

Context

Upstream BMAD-METHOD PR #2612 (evaluated at 861cff8b) makes retro action items machine-consumable. sprint_status.py update now appends each action_items entry with:

  • a stable idepic-<N>-retro-item-<n>-<slug> (explicit override honored), letting a consumer dedupe items across retro re-runs;
  • a ref — the path of the retro document holding the full, sourced finding behind the one-line action.

The id grammar is exactly bmad-loop's reserved RETRO_ITEM_RE (src/bmad_loop/sprintstatus.py:20), which until now was a dead-letter (it only kept epic-N-retro-item-* development_status keys out of unknown_keys; no upstream ever wrote them). The contract now lives in the action_items list instead — no key collision, same grammar.

bmad-loop currently ignores action_items entirely: load() reads only development_status (sprintstatus.py:79-123). Probe-verified: the new fields are inert to today's parser, and RETRO_ITEM_RE.match(item["id"]) succeeds on real upstream output.

Proposal

Make retro action items visible to the orchestrator as deferred work:

  1. Parse the top-level action_items list in sprintstatus.load() (tolerant: unknown fields ignored, missing id/ref degrade gracefully for files written before the upstream rework).
  2. Surface open items (status: open) to the sweep flow as ledger candidates, deduped by id; carry ref so triage can read the sourced finding in the retro document rather than judging from the one-line action text.
  3. Roadmap alignment: this is the "retro-item automation" the RetroItem docstring (sprintstatus.py:50-56) already points at.

Out of scope: automatically flipping status: open → done in action_items (write-back to the list is a separate decision; advance()'s line-edit writer doesn't handle sequence entries).

Related: upstream bmad-code-org/BMAD-METHOD#2612; sibling issues for gates.retrospective="auto" and journal-override customization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:deferred-workdeferred-work.md ledger and sweeparea:retroRetrospective integrationblocked:upstreamWaiting on a change in another repositoryenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions