The retrospective
Most retrospectives produce a document nobody reads and a set of intentions nobody tracks. A team that inspects and never adapts is holding a ceremony, not a retrospective.
So the retro here is short, and it is checked on its content, not its existence.
Three lines: Keep, Stop, Try
Section titled “Three lines: Keep, Stop, Try”A retro is written at the close, in three sections:
## Keep- Briefing each reviewer from the unit's own criteria caught two regressions early.
## Stop- Opening a unit before its `Affects` list is complete.
## Try- [LC-003] The mutant never landed again, on US0412.- [new: stale selector] A renamed test leaves its Verify line green. Re-run the criteria after any test rename.Keep is what worked and should carry on. Stop is what cost more than it returned. Try is what the next run does differently, and there are at most three Try items: retro.py validate refuses a fourth, because a list that can grow is one nobody acts on. It also refuses an empty section and any template placeholder left unreplaced.
The estimates, delivery against plan and the known issues are on the sprint report; the retro does not repeat them.
Each Try item becomes a lesson
Section titled “Each Try item becomes a lesson”When the close extracts the retro, each Try item leaves it. A Try item that names a failure class is counted on that class rather than written down again:
[LC-003] what happened this timeadds a hit to class LC-003.[new: class name] Rule. What to do differently.records a new class, injected into the next plan, build and review briefs.
lessons classes lists every code, name and hit count, so the author cites the class rather than inventing a new one. An untagged Try item goes to the project’s prose lessons log. A tag that looks like a code but does not parse - [LC 001], (LC-001) - is refused rather than quietly filed as prose. See lessons for what the classes do next.
It is scaffolded, never hand-authored
Section titled “It is scaffolded, never hand-authored”/sdlc-studio sprint close # scaffolds the retro, then stops for you to fill itRun the close with no retro id the first time and it allocates one, writes the template, wires the index row, and pre-fills the batch from the run. Then it stops.
Hand-authoring a retro leaves the index unwired, which stalls the close reconcile - the scaffold is the one path that does both.
/sdlc-studio retro validate # is it complete on content?/sdlc-studio retro extract # lift its Try items into the lessons storesretro.py accuracy # how did the forecast actually do?A retro written before v6, with its Lessons and Actions raised sections, is still validated against the shape it was written in.
Carried issues get ruled
Section titled “Carried issues get ruled”Every open finding a sprint carries out the other side takes a ruling, with who ruled it and when, in the retro’s ## Known issues carried table:
| Ruling | Means |
|---|---|
stop-ship |
judged unsafe to ship; listed first on the report and printed again before the signature |
not-stop-ship |
known, judged, shipping anyway |
accepted-risk |
a decision, on the record |
deferred |
it goes in the next batch |
An open finding with no row is reported UNRULED. That is the whole point: “we carried it” and “nobody looked” must never read the same in a report. A stop-ship ruling does not refuse the close or the signature; the signer decides, with the issue in front of them.
The close is owed until it happens
Section titled “The close is owed until it happens”A sprint that delivers and never closes is easy to produce and hard to notice - the work is done, everyone moves on, and nothing says a close is outstanding.
So it is detected. A delivery unit that reached a terminal status with no retro behind it is an owed close: status and hint name it, and close_owed.py detect lists the units. It is reported, not refused; the run’s signature is what seals each run.
What it produces
Section titled “What it produces”A retro must produce change, not prose. Its Try items reach the next plan without anyone copying them there - see lessons.
Where to next
Section titled “Where to next”- Lessons - where the Try items go, and how the next plan reads them.
- Review and close - the close and signature the retro sits inside.
- Evidence - what this project has measured about its own process, including the costs.