Incident postmortems

Everyone who was on the incident comments on one timeline.

Responders, service owners, and the EM correct the record together. Agent connect fixes a timestamp in the file the agent drafted from the logs.

livepostmortems/login-outage.md

Login outage: expired auth proxy certificate

Commander: Mina Cho. Service: auth-proxy. Blameless.

Login failed because the certificate on the auth proxy expired. Players could not start a session. Login recovered at 14:41 after the certificate was replaced and the proxy was reloaded.

Impact

  • Login was down from the page until 14:41. Existing sessions stayed up, and no progress was lost.
  • The status page was updated at 14:20, after the expiry was confirmed, not when the page fired.
  • No account data was lost. The proxy rejected handshakes and nothing else.

Contributing factors

The on-call responder missed the certificate expiry during the handoff.

The expiry date lived in a runbook table, not on the pager. The person coming on shift did not have that table open. The gap was the handoff, not the responder.

Timeline

  • 14:10 page.14:02 page.
  • 14:11 certificate expiry confirmed on the auth proxy.
  • 14:28 a new certificate was issued and staged on the proxy host.
  • 14:41 traffic restored. Login error rate returned to the morning baseline.

Follow-ups

  • Page on certificate expiry 14 days out, from the secret store, not a wiki.
  • Add the expiry date to the handoff note for this rotation.

missed the certificate expiry

Lucia Ferreira

Keep the staffing note blameless. Describe the handoff, not the person.

Kenji Watanabe

Agreed. The gap was the handoff note, not the responder.

14:10 page

Kenji Watanabe

@agent the page went out at 14:02, not 14:10, fix the timeline.

agent

Updated the timeline from 14:10 to 14:02.

resolved
Start with @agent to ask the agent
ResolveReply
Fictional example: an Emberlane Games login postmortem in Gander, with an EM's thread and a scripted agent connect reply.

How postmortems get reviewed today

A shared doc is a reasonable place for a timeline review, until the agent regenerates the draft from logs and someone has to merge comments by hand.

Chat threads capture the correction and then scroll away. A meeting gets the responders in one hour. The person who was asleep during the incident still needs the file, not the recording.

One timeline for the login outage

Mina Cho, incident commander at Emberlane Games, asks her agent to draft a blameless postmortem of a login outage caused by an expired certificate on the auth proxy. She runs gander watch on postmortems/login-outage.md and sends it to Kenji Watanabe and Lucia Ferreira.

Lucia highlights the contributing-factors section and says the staffing note blames the on-call rotation. Kenji replies that the note should describe the handoff, not the person. The agent does not see that thread.

Kenji starts a new comment on the timeline: "@agent the page went out at 14:02, not 14:10, fix the timeline." Mina's agent corrects the stamp, replies, and resolves the thread. Lucia sees 14:02 on the same link. The postmortem later moves to the tracker the team already uses.

Who's in the doc

WriterResponderEngineering managerThe author's agent

Writer Incident commander. The agent pulled logs and chat. The commander sends the link.

Responder Checks the timeline against what they saw.

Engineering manager Checks blame-free wording and the follow-ups.

The author's agent Has the log extract. Corrects the file when a responder uses agent connect.

Reviewers only need a browser. Talk to each other in normal threads. Use agent connect when you want the draft changed.

Agents that fit incident postmortems

Claude CodeThe draft can live in the repo that holds the service. MCP returns agent connect to that session.
CodexCodex can draft from the notes in the repo. Agent connect comes back through MCP.
CursorThe postmortem file sits next to the service. Reviewers only need the link.
OpenCodeA terminal session can draft the timeline and hear agent connect through MCP.

Correct the timeline on the live draft. Do not keep a second copy in chat that the agent cannot see.

See how it works on the homepage