The postmortem is due while the incident is still emotionally warm. The engineer who led the response — the only person with the full picture — is also the most exhausted, so the writeup slips a week, the details blur, and the document that ships is a timeline with the insight sanded off. Or worse: it assigns blame in language that teaches everyone to share less next time.
The raw material was all there at resolution time: the channel log, the timeline notes, the fix PRs. What's scarce is the synthesis energy, exactly when it's needed.
A Fleet workflow drafts the postmortem from the incident's artifacts while they're fresh, a review step checks it for blamelessness and factual support, and the incident lead approves the final document.
| Step |
Kind |
What it does |
draft |
Document |
“Draft the blameless postmortem from the incident corpus: timeline, contributing factors, what worked, action items. Systems language, not people language.” Reads incidents/2026-06-meltdown/*.md. |
review |
Review |
“Flag blame-coded language, claims unsupported by the timeline, and action items with no owner.” |
lead-ok |
Approval gate |
Pauses the run for a human sign-off; records the approver, timestamp, and note. |
publish |
Publish |
Shares the approved document at a link. |
You build this once on the dashboard canvas; your self-hosted Fleet worker pulls the definition and runs it against your repository.
The lead's job shrinks from “write the document” to “correct the draft and approve” — an hour of judgment instead of a deferred afternoon of synthesis. The review step's blamelessness check is a real filter: “engineer X failed to” becomes a flag before it becomes culture damage.