retro-document.md
45 lines · skills/bmad-retrospective/references/retro-document.md at bd70c64
The retrospective document
This document is the run's working artifact: it is created as a skeleton once the epic is fixed and filled as each phase completes, so Phase 5 finalizes rather than writes it from scratch. It lives at <epic folder>/epic-<slug>-retrospective.md, as readable markdown — a fixed name, so a resumed run finds it.
Open the document with YAML frontmatter a machine can read without parsing the prose — an epic gate or orchestrator keys off verdict to decide whether to hold the next epic:
---
epic: epic-<slug>
date: {date}
verdict: accepted | accepted-with-open-items | rejected
criteria: declared | profiled
headless: true | false
---epic is the folder's name, as tickets.py spells the epic. Keep verdict in sync with the Acceptance verdict section below. This frontmatter is the only machine-readable verdict; nothing in the tree records it, so a gate or orchestrator that acts on the verdict must read this file.
Sections:
- Epic summary — which epic, its tickets with their statuses, the tickets still at
built, any tickets still unfinished (pending_tickets) that the user accepted retro-ing over, each plan's range, the evidence inventory (what was available, what was missing). Unfinished tickets force the machine acceptance verdict to rejected (see{{ rendered("references/acceptance-verdict.md") }}). - Findings — grouped by aggregate view and by lens, each with its source reference and disposition (fix now / defer / accept). This is the record; do not summarize away the provenance.
- Behavior verification — what was exercised end to end and what was observed, or an explicit note that runtime behavior was not exercised.
- Previous-retro follow-through — if a prior retro exists, whether its action items landed, with evidence (
{{ rendered("references/acceptance-verdict.md") }}specifies what to record). - Action items — the routed fix-now items and process lessons, each with an owner. Note which are proposed remediation or spec reconciliations awaiting human application.
- Decision records — each decision proposed as a record, and whether it was approved and written (
{{ rendered("references/acceptance-verdict.md") }}specifies what to record). - Acceptance verdict — accepted / accepted-with-open-items / rejected, whether the criteria were declared or profiled, and the evidence behind the call.
- Open questions — what a human answer would materially change, and anything the analyses could not resolve.
- Assumptions — in headless runs, every choice made without the user: how the epic reference resolved to its folder, any non-empty
pending_tickets, a machine rejected verdict forced by unfinished tickets or rendered with no human decision, each proposed item and decision record. Omit in interactive runs — an interactive run records the same facts where the user confirmed them, in Epic summary.
Do not state time estimates anywhere in the document.
Raw lines 5 to 36Finish
Report the document's path, the verdict, the action-item count, and the path of each decision record written. Nothing else was written: no status changed, and no tree file was edited.
Raw lines 37 to 40On Complete
If anything appears below, follow it as the final terminal instruction before exiting; otherwise exit normally.
{{ workflow.on_complete }}
Raw lines 41 to 45