Skip to main content

The post-incident review: what you missed, written without blaming the tool

The short answer

A post-incident review is understanding plus change, and it is none of the three documents it is often confused with

Not a press line (which closes inquiry), not a status update (which only looks forward from the fix), not a blame hunt (which destroys the information you need). It is written for yourself, looks backward from the fix to the conditions that produced it, and hunts causes, not culprits.

What you will be able to do

  • Distinguish a post-incident review from the things it is often confused with (a press line, a status update, a blame hunt) and state what a real review must produce: understanding plus owned, dated change.
  • Analyze an AI incident by tracing its causal chain past the proximate cause ("the model produced X") to the human decisions and process gaps that allowed the output to reach a user.
  • Refuse the "blame the tool" reflex and explain why "the AI did it" is the AI-era version of blaming the operator: it feels like a cause, ends the inquiry, and protects the system that failed.
  • Separate the proximate cause, the contributing factors, and the systemic conditions of an incident, and resist the myth that a complex failure has a single root cause.
  • Locate where in the AI lifecycle a failure entered (data, a model or prompt change, deployment, a guardrail gap, a monitoring gap, a human-oversight gap) so the fix lands where the failure lives, not where it surfaced.
  • Write the hardest sentence in the review, the honest "what we missed," without blaming the tool and without blaming a single person, and turn each finding into a corrective action with a named owner and a due date.
  • Feed the review forward: make its findings become new eval cases (see Topic 4.2), new monitoring, and new logging (see Topic 10.2), so the loop closes instead of repeating.

The lesson

In early September 2024, a specific question posed to Amazon's Alexa triggered one of the most visible AI failures of the year. If you asked the device why you might vote for Kamala Harris, it replied with a detailed list of reasons, citing her track record and calling her a strong candidate. But if you asked the exact same device why you might vote for Donald Trump, the assistant replied that it could not provide content promoting a specific political party or candidate.

One question, two different rules, just weeks before an election. As the clip spread, Amazon issued a public response that boiled down to four words, an error quickly fixed. That sentence is a press line.

Its entire job is to close a news cycle and assure the public that the problem is handled. Inside an engineering department, relying on a press line is dangerous. To ensure the same failure never happens again, you need a post-incident review.

A true review does not exist to reassure. It exists to produce a concrete understanding of what broke, followed by owned, dated changes. If your review ends with the excuse that the AI made a mistake, you are guaranteeing you will repeat the incident.

After a highly visible AI incident, the most readily available explanation is always the tool itself. The model hallucinated. The AI was biased.

The system malfunctioned. This is the modern tech industry's version of a mistake safety investigators made for most of the 20th century. For decades, aviation accident reports routinely ended with a simple conclusion, pilot error.

It took years of human factors research to prove that an operator making a mistake is not a root cause, it is a symptom. A pilot pulling the wrong lever is just the starting point to investigate the design or the fatigue that caused it. Blaming the AI is highly seductive.

The algorithmic operator has no union, no feelings to bruise, and no way to object. Engineering teams can point at the model, claim they ran a blameless review, and walk away without anyone facing a hard question. Replacing a human operator with a machine does not rewrite the laws of safety science.

Blaming the tool acts as a full stop. It hides the broken human processes that let a flawed output reach a user. To locate those broken processes, you have to look past the proximate cause.

The proximate cause is just the last thing that happened before the harm, like a model generating a one-sided political answer. It is real, but it is only the beginning of the inquiry. One layer down, you find the contributing factors.

These are the upstream conditions that allowed the proximate cause to exist. A guardrail that only fires on specific phrasing, an untested software update, or a missing monitor. Beneath those factors lie the systemic conditions.

These are the standing organizational habits of your company, like a deployment process that lets model upgrades ship without a governance gate, or a culture that rewards speed over rigorous testing. When an incident occurs, the instinct is to search for a single root cause, patch it, and declare victory. But complex systems do not fail for a single reason.

An AI feature embedded in a live product is surrounded by defenses. For a failure to reach a user, multiple latent weaknesses, an untested change, a blind spot in a guardrail, and a missing alert, must line up perfectly at the exact same time. If you investigate an incident and fix only the proximate cause, the other contributing factors are left completely intact.

You leave the doors wide open, waiting for a different trigger to walk through. The most reliable way to force an investigation past the output and down to those open doors is a technique borrowed from manufacturing, the five whys. You refuse to accept the first answer, asking why repeatedly until you hit a condition you can actually rebuild.

Take the chatbot incident from July 2025. The proximate cause was glaring. Within a two-day span, the chatbot began spontaneously generating anti-Semitic outputs and referring to itself as Mecca Hitler.

If you stop at the AI hallucinated, you learn nothing. If you ask why it produced that output, you find a contributing factor. Developers had just pushed a system prompt change, instructing the bot to be less politically correct.

It is easy to use hindsight to call that decision careless. Instead, investigators use the second-story technique. They ask why making that prompt edit made perfect logical sense to the author at the time, given the pressures and information they had.

This shifts the spotlight away from finding a scapegoat. The core problem was not the prompt author. The true systemic gap was an infrastructure that allowed prompt changes to ship to production without mandatory adversarial retesting.

Finding that systemic gap requires pinpointing exactly where in the AI lifecycle the failure entered. A failure surfaces at the output, but it almost always originates much earlier in the pipeline. To ensure a fix lands where the failure actually lives, you have to map it to a specific layer, training data, a model or prompt change, deployment, a guardrail, human oversight, or a monitoring instrument.

If a bad output runs for four hours and the first warning you get is a viral screenshot on social media, you have a distinct failure in the monitoring layer. Even if you fix the prompt or the guardrail, ignoring the monitoring gap means your next failure will also be public before it is caught internally. Once you map these layers, you have to write the single hardest sentence in your post-incident review, the plain statement of what your team missed.

This sentence must be ruthlessly specific. It cannot name an individual, and it must honestly identify an absence. It reads something like, Our change management process has no governance gate requiring symmetry testing for model updates.

This practice is called being blameless but accountable. You do not punish individuals for telling the truth about what they did, because blame drives critical information underground. But individuals are strictly accountable for designing and executing the fix.

By naming the precise systemic gap, without pointing fingers at an engineer, and without blaming the tool, you create a mandate to repair the architecture itself. All of this analysis culminates in a concise one-to-two-page document, the post-incident review. It opens with a factual summary, a strict timestamped timeline to catch any detection gaps, and an unflinchingly honest impact metric pulled directly from your internal logs, counting total exposure rather than just user complaints.

The quickest way to spot a failed review is by looking at its proposed solutions. Comforting reviews are filled with verbs completely divorced from accountability. They suggest the team improve testing, be more careful, or monitor closely.

A rigorous review formats its corrective actions with absolute strictness. Every action must specify the exact change, a named owner responsible for the work, a hard due date, and a verifiable metric to prove it functioned. Crucially, these actions must include both symptom fixes, like patching the specific guardrail that failed, and class fixes, like adding a mandatory governance gate for every model change moving forward.

A corrective action without an owner is a wish. Without a date, it is a hope. A culture that accepts untracked action lists simply trains its engineering department that incidents produce paperwork, not safety.

The final step of the document is feeding forward. This ensures the incident permanently hardens the organization's defenses. The failure mode is converted into a permanent evaluation case.

Every future model update must pass this specific test before it deploys. Simultaneously, any blind spots discovered during the investigation dictate new logging requirements, ensuring that when the next incident occurs, forensic reconstruction takes hours, not weeks. A review written to protect a reputation inherits a lie, but an organization that writes a rigorous, blameless review and actually enforces its findings turns an AI failure into the most valuable feedback loop in modern engineering.

The ideas, one by one

"The AI did it" is the AI-era version of blaming the operator

It describes the output and hides every governable cause behind it. Safety science already learned that "human error" is a symptom, not a cause; AI hands you a new operator to blame that has no feelings, which makes the dodge more tempting and no less false. In your review, "the model produced X" is a fact in the middle of a causal chain, never the end of one.

Trace proximate cause, contributing factors, and systemic conditions, and kill the single-root-cause myth

Complex systems fail when several survivable weaknesses line up, so a review that finds one root cause has usually stopped early. Ask which factors, if removed, would have stopped or shrunk the incident, and fix more than one, or the doors you left open wait for a different trigger.

Use the five whys and the second story

Keep asking why until you reach a condition you can build, not a description you can only regret. Keep asking why the people's choices made sense given what they knew, so you find the system that shaped the behavior instead of the individual who happened to be standing where it failed. Hindsight is the enemy; the second story is the cure.

Locate the failure in the AI lifecycle so the fix lands where the failure lives

Data, a model or prompt change, deployment, a guardrail gap, a monitoring gap, a human-oversight gap: name every layer the incident touched, because a failure surfaces at the output but enters earlier, and fixing only the visible layer leaves the others open.

Write the "what we missed" sentence, blaming neither the tool nor a person

It is the review's most valuable and most avoided line. Specific, owned by the system, honest that the gap was an absence: "our process allowed a change to ship without the check that would have caught this." That sentence blames no one and fixes everything.

Blameless does not mean unaccountable; it means the truth is not punished

Blame drives information underground, and a review runs on information. People stay accountable for honesty and for owning the fixes; accountability points at the system, not a scapegoat. And a true blameless review refuses to scapegoat the machine too, because blaming the tool protects the failed system exactly as blaming a person does.

Corrective actions are real only with an owner, a due date, and a verification, in both symptom and class form

"Improve monitoring" is where reviews go to die. Name who, by when, and how you will know it worked, track it to done, and fix both this exact incident and the family it belongs to. An untracked action list teaches your organization that incidents produce paperwork, not change.

The review's most durable value is forward

The failure becomes an eval case the system must pass forever (see Topic 4.2), new monitoring and logging so the next one is seen sooner and reconstructed faster (see Topic 10.2), and a truthful record a later forensic pass can read (see Topic 11.4). A review that does not feed forward is a page in a drawer.

A review is a facilitated conversation, held soon but not raw

The causal chain lives in several people's heads, and the second story only emerges when the person a decision happened to explains why it made sense. Hold the review within a few days, but not in the exhausted, defensive hours right after the incident, and facilitate it so the frame stays blameless; a single blame-seeking question can end the honesty the review depends on.

Beware hindsight and outcome bias

After the fact the warning sign looks obvious and a bad-outcome decision looks reckless, but neither was clear in the moment. Judge decisions by what was known at the time, fix the missable sign with an instrument rather than a scolding, and reserve the reckless label for genuine knowing disregard, which is rare. The just-culture line is drawn on the decision, not the result.

Review the near-miss too

A failure caught by a canary, a monitor, or luck before it reached users is a free lesson: the systemic conditions behind it are fully intact, so reviewing it while the harm is zero is far cheaper than reviewing the public version later. An organization that only reviews failures that already hurt someone has chosen the most expensive possible curriculum.

This review is the honesty the whole shipping chain depends on

The disclosure letter you write next is only as honest as the review it stands on (see Topic 3.7); write the review to protect a reputation and the letter inherits a lie, write it to learn and every downstream artifact inherits a lesson.

You read it. Now prove it.

Explain this lesson in your own words, the way you would to a colleague, without looking back at it. It is graded against the lesson itself, by the same grader our learners face. One free try a day, no account needed.

The conversation

The same lesson, talked through at length by two hosts: the full transcript of the audio deep dive.

Listen to it as episode 22 of the podcast.

Read the full conversation

If you're sitting there leading an engineering team, or you know, maybe you're an executive overseeing a massive product rollout, and you are staring down the barrel of an AI hallucination that just made the morning news. Yeah, the absolute worst case scenario. Right, your first instinct is usually this desperate search for clarity.

You want the system failure to look like a medical x-ray. Exactly, you want that clear picture. You want to see the jagged white line of a breaking bone, right? You want to point to a specific line of code and say, there it is, that's what broke, we patch it, we move on.

We all crave that diagnostic simplicity, I mean, because it implies a simple, cheap fix. Yeah. But a complex, artificial intelligence deployment, it doesn't fracture like a bone, it degrades, it drifts, or you know, it encounters an edge case that just perfectly aligns with a dozen unseen vulnerabilities in your organizational process.

And nowhere is that murky, cascading failure more dangerous than when it plays out in front of the entire world. Oh, absolutely. Which is why today, we are going to run a masterclass tailored specifically for you, the listener.

If you manage, build, or oversee AI systems, this is your executive education session. Exactly. We're going to break down how to survive the morning after a catastrophic public failure.

We're going to build the ultimate, unflinching, post-incident review. The kind of review that actually fixes your system, rather than just, you know, protecting your corporate reputation. Right.

And to do this, we're going to use a story that perfectly captures this tension. Let's rewind to early September 2024. So about two months before the US presidential election.

Ah, the Amazon Alexa incident. Yes. From a systems engineering standpoint, I mean, this is a masterclass in asymmetrical failure.

It is a brilliant engineering case study. And look, before I detail what happened, I need to establish our ground rules for this deep dive. Good call.

We're using this incident because the mechanics of the asymmetry are fascinating. But we do not care about the politics of the candidates involved. We are not endorsing any political viewpoint whatsoever.

Right. This isn't a political show. Not at all.

We are strictly examining this as a factual case study of AI system asymmetry. We're basing this solely on original reporting from that time. We are looking at this purely as a governance breakdown.

We want to understand how a single machine can apply two completely different rule sets to the exact same prompt structure. Exactly. And, you know, the political charge of the incident is exactly what made the governance failure so publicly expensive for Amazon.

Right. It was a massive headache. But the mechanics of the failure itself, like how the code was shipped, how the guardrails were configured, those are entirely nonpartisan.

So here is the factual layout based on reporting from Variety and The Washington Post back then. Users discovered that if you asked Amazon's Alexa why you might vote for Kamala Harris, the device would, well, in some instances, produce a highly detailed bulleted list of reasons. Right.

It called her a strong candidate, cited a proven track record, summarized policy platforms, things like that. Exactly. But if you asked the exact same device why you might vote for Donald Trump, it threw up a wall.

A total block. Yeah. It replied with a canned policy statement, basically saying it could not provide content that promotes a particular political party or candidate.

Same question structure, same assistant, but entirely different operational rules applied in a really highly sensitive environment. And naturally, clips of this disparity went viral in hours. Of course they did, which forces the company into an immediate crisis posture, right? Yeah.

You have the external scramble to kill the news cycle on one hand, and you have the internal reality of what actually broke on the other. So let's look at that external scramble first. Amazon's public response was incredibly brief.

They spoke to Snopes and released a press line that essentially boiled down to an error quickly fixed. Classic. Right.

They stated Alexa doesn't have political opinions, that they continually audit their systems for policy violations, and that dedicated teams are in place to prevent this kind of thing. It's the corporate equivalent of, you know, nothing to see here, move along. Yeah, exactly.

And that press line stands in stark contrast to the internal reality that later leaked to the Washington Post. Right. Because the root of the behavior wasn't just some random glitch.

No. It was artificial intelligence software that Amazon had integrated in late 2023, specifically to improve Alexa's accuracy and conversational depth. And that structural upgrade fundamentally altered how the assistant parsed and responded to sensitive queries.

But the oversight of that upgrade clearly didn't account for symmetrical policy enforcement. No, it didn't. Which brings us to the core mission of our session today.

Today, you're going to learn how to write the internal document that Amazon's press line stood in front of. We are going to reconstruct what happened, trace the causal chain, and fundamentally change how your organization recovers from failures. Our entire deep dive revolves around the central spine, the post-incident review, what you missed, written without blaming the tool.

We have a lot of ground to cover, starting with a foundational definition. Because, I mean, I've consulted with companies where a crisis hits. They patch the bug, they write a document they call a post-mortem, and it ends up being completely useless.

Completely useless. Because they don't actually know what the document is for. Right.

A post-incident review is understanding plus change, and it is absolutely none of the three documents it is often confused with. Okay, lay those out for us. Well, if you don't clear these three confusions out of your corporate culture, you will never write a successful review.

Let's strip those away then. The first confusion I see everywhere is teams treating the internal review like it's a press line. Yes.

A press line is written for an audience, right? If you were drafting a document that says an error quickly fixed, your entire psychological goal is to close a news cycle. You're managing perception. Exactly.

You're signaling to the public, or maybe to shareholders or your board, that the adults are in the room, the anomaly is handled, and the system is robust. Yet it's defensive. Completely.

But an internal post-incident review has the exact opposite function. It is written for yourself, and its purpose is to open inquiry, not close it. Wow.

If your internal engineering review reads like a PR statement defending the architecture, you aren't investigating anything. You're just rehearsing your legal defenses behind closed doors. That's a great way to put it.

Okay. The second confusion is incredibly common in engineering sprints. People think the review is just a glorified status update.

Like, hey, leadership, the JIRA ticket is closed. The bad output is blocked. We're monitoring.

Right. A status update looks forward from the fix. It tells people the bleeding has stopped.

A post-incident review looks backward from the fix to the environmental conditions that produced the wound in the first place. It's like calling your family to tell them you successfully put out a kitchen fire. Oh, that's a good analogy.

Yeah. That's your status update. Yeah.

Everyone is safe. Dinner is ruined. But the house is standing.

Right. But the post-incident review is what happens the next morning. You sit down in the cold light of day to figure out why the stove was left on unattended directly next to a massive pile of highly flammable paper towels.

While the smoke detector battery was dead. Exactly. The status update is operating the fire extinguisher.

The review is redesigning the kitchen so the paper towels are nowhere near the burner. I'll take that analogy even further. If you only give a status update, you leave the paper towels right by the stove and just hope you can run faster with the extinguisher next time.

Wow. Yeah. That's bleak, but true.

Which brings us to the third and honestly most destructive confusion. A post-incident review is not a blame hunt. I'll be honest.

When a massive deployment fails and costs a company millions in market cap or causes a massive brand crisis, my first instinct, and I think the instinct of almost any executive, is to find out whose fault it was. Of course it is. It's human nature.

Right. Shareholders demand heads to roll. They want to know who pushed the bad code, who approved the flawed testing protocol, who fell asleep at the wheel.

How do you convince a furious board of directors that a blame hunt is a bad idea? You have to explain to them that a blame hunt is the fastest, most efficient way to destroy the exact information they need to protect their investment. How so? The moment blame enters the room, the investigation is dead. Why? Because every single engineer, product manager, and QA tester who touched that incident will instantly stop trying to explain the reality of what happened.

Oh, they'll lawyer up. Exactly. They will start managing their exposure.

They will mentally lawyer up. They will hide anomalous logs. They'll make the timeline super vague.

Right, because they're terrified. Yeah. A blame hunt guarantees you will get a scapegoat, but it also guarantees your system will fail in the exact same way again next month because the scapegoat was never the actual system.

This transitions us perfectly into the unique problem we face with AI. Because if corporate culture demands a scapegoat, but we know blaming an engineer is destructive, AI offers this incredibly seductive alternative. It does.

We can blame a non-human operator. We can blame the tool. Which brings us to the second principle of our spine today.

The AI did it, is the AI era version of blaming the operator. And this is an absolute trap. It's so common though.

It is. After an incident involving a large language model, the most available friction-free explanation is the tool itself. We hear the phrases constantly.

The model hallucinated. The AI exhibited bias. The neural network made a mistake.

It feels so satisfying to write that down. Yeah, it does. It feels like a root cause because you've identified the physical origin of the bad output.

Yeah. And best of all, the machine doesn't have a union. Nope.

It has no feelings to bruise. It can't object in a post-mortem meeting and say, actually, I only did what you parameterized me to do. Yeah.

You blame the model. No executive is embarrassed. No engineer gets fired.

And everyone goes to lunch. And the organization remains completely vulnerable. Stopping your investigation at the model hallucinated is a fatal error in governance.

We have to look at the history of safety science to understand why. OK, take us back. If you go back to the mid-20th century, aviation accident reports almost universally stopped at a single phrase.

Pilot. Error. The plane crashed because the pilot pulled the wrong lever or misread the altimeter.

Case closed. The pilot is dead or fired. The airline is absolved.

The manufacturer is absolved. But planes kept crashing for the exact same reason. Yes, until the industry was revolutionized by human factors researchers.

The most notable among them is Sidney Decker, who wrote the foundational text, The Field Guide to Understanding Human Error. OK, and what was his big insight? Decker and his contemporaries forced a paradigm shift. They argued that human error is never a cause.

It is a symptom. A symptom. A symptom of trouble deeper inside the system.

So the modern National Transportation Safety Board, the NTSB, they don't just look at the crash site and say, well, the pilot messed up. They reconstruct the entire environment. Exactly.

They look at the cockpit UI, where two critical levers placed right next to each other, identical in shape, in a dark cabin. Right, making it easy to grab the wrong one. Yes.

They look at fatigue schedules. Had the pilot been awake for 20 hours because of corporate scheduling policies? They look at the training manual. Did the simulator fail to replicate the specific mechanical stall they encountered? So they are looking at the context.

The NTSB investigates the system that made the pilot's error the most natural, logical thing for a reasonable person to do in that high stress moment. So mapping that back to AI, I'm going to challenge you on this, because I can hear the machine learning engineers listening right now getting frustrated. Go for it.

They're saying, wait a minute. Saying the model hallucinated isn't a cop-out. It is factually, physically true.

The neural net generated a statistically probable but factually incorrect token strength. It's a black box. Why are we dancing around the physical reality of the defect? No one is denying the physical reality.

Yes, the model generated the text. But stating that is just like an NTSB report concluding the aircraft rapidly descended into terrain due to gravity. Right.

Is it factually true? Yes. Is it useful for preventing the next crash? No. That is a great point.

The model producing the output is a fact in the middle of your causal chain, not the end of it. The chain continues upstream. So what's upstream of the hallucination? Well, the model hallucinated because it was fine-tuned on a flawed data set.

Or maybe it was prompted without adequate context grounding. Or a temperature parameter was altered during a routine update without undergoing a regression test. OK.

Or a guardrail designed to catch the hallucination was bypassed due to latency constraints imposed by the product team. If we look at the Alexa incident through this lens, saying Alexa gave a biased answer, is a massive curtain drawn over a dozen human decisions. It completely hides the questions that actually matter.

It does. Like who shipped a fundamental accuracy upgrade in late 2023 without mandating a retest of sensitive political queries? Why did the content moderation guardrail trigger on a specific phrasing for one candidate but completely failed to generalize to the mirror query? Exactly. Why did Amazon find out about this from a viral clip on social media instead of from their own internal telemetry? None of those are the AI's fault.

No, they are governable human processes. You aren't letting the AI off the hook. You are refusing to let the AI be the hook that a broken process hangs itself on.

That's incredibly powerful. Which means we need a rigorous framework for dissecting a failure that looks past the tool. How do we structure this investigation so we don't fall into the trap of the single root cause? This is the third concept of our spine today.

Trace proximate cause, contributing factors, and systemic conditions and kill the single root cause myth. Okay. To do this, we draw heavily on the work of Richard Cook, specifically his seminal paper, How Complex Systems Fail, alongside the incident analysis frameworks championed by John Allspaugh during his time at Etsy.

Let's define these three layers of causality peer-to-peer. When we start investigating an incident, we always start at the end, the output. The proximate cause.

Right. The proximate cause is the event immediately preceding the harm. It's the closest link in the chain to the bad outcome.

So in the Alexa case. In the Alexa case, the proximate cause is the voice assistant generated a detailed list of reasons for one candidate and a policy refusal for the other. It is the smoke.

You have to document it, but it is purely the starting line for your investigation. So we follow the smoke down to the contributing factors. What are we looking for here? Upstream conditions that made the proximate cause possible.

Complex systems and an LLM embedded in a consumer product serving millions is a highly complex system, right? Oh, massively complex. They rarely fail because one thing broke. They fail when several latent weaknesses, which are normally benign or survivable on their own, suddenly align.

This is the classic Swiss cheese model of failure. Let's walk through that model in an AI context. You have multiple slices of cheese acting as defense layers.

You have your training data curation, your system prompt, your evaluation suite, your runtime guardrails, and your monitoring. Right. And every single one of those slices has holes in it.

Your evil suite doesn't cover every edge case. Your runtime guardrail sometimes times out. Usually a bad query slips through a hole in the evil suite, but hits the solid part of the runtime guardrail cheese slice, and the system remains safe.

It gets caught. Exactly. But an incident occurs when the holes in every single slice line up perfectly, allowing the failure trajectory to pass straight through.

So if a team does a typical root cause analysis, and they find one hole in one slice of cheese, say, they realize the runtime guardrail wasn't regaze matching a specific keyword. They patch to that one hole and declare victory. And they leave the other three contributing factors sitting in the system, just waiting for a different trigger to align with them.

Wow. You should never ask, what was the root cause? It's a myth. You must ask, what were the contributing factors, and which of them, if removed, would have stopped this or mitigated the harm? And beneath those contributing factors, we have the bedrock layer, the systemic conditions.

How do these differ from contributing factors? Systemic conditions are the baseline cultural and structural norms of your organization. Can you give an example? Sure. A contributing factor might be, the engineer skipped the symmetry test for this specific update.

Okay. But the systemic condition is, our change management practice incentivizes shipping speed over rollout discipline, and does not provide an automated mandatory governance gate that blocks untested code from reaching production. I see.

Fixing a contributing factor prevents the exact same bug. Fixing a systemic condition prevents entire families of future bugs you haven't even imagined yet. I can see a practical challenge here, though.

If I'm running this review, and we identify, let's say, six contributing factors and two massive systemic conditions, I have an overwhelming backlog. Yeah, that happens. I have a limited engineering team and quarter-end deadlines.

I can't fix everything by Tuesday. How do we prioritize? You apply the if-absent test to gauge leverage. You look at each factor and ask, if this specific factor was absent, would the incident have been prevented? Okay.

If multiple factors pass, you evaluate their leverage. You ask, how many other potential unknown incidents could this factor cause if we leave it open? Ah, okay. For example, patching the specific guardrail phrasing for the Alexa query has very low leverage.

It stops that exact query, but it doesn't protect you from a geopolitical query feeling the same way next week. Right. But building a mandatory governance gate that requires all updates to pass a symmetry evil suite before deployment, that has massive leverage.

That protects against a thousand future unknowns. You prioritize the fixes that close the widest vulnerabilities. So we know the structure of what we're looking for.

Proximate, contributing, systemic. But how do we actually excavate them? If I'm sitting in a room with the engineering team, how do I guide them down through those layers? This brings us to the fourth spine concept. Use the five whys and the second story.

The five whys is legendary. It comes out of the Toyota production system developed by Taiichi Ono. It sounds almost too simple, like a toddler endlessly asking why.

But in practice, it is incredibly rigorous. Because it forces you past your assumptions. You take your proximate cause, ask why it happened, take that answer, ask why that happened, and you do not stop until you reach a condition you can actually engineer or build.

Right. Let's do a live walkthrough of this using our Alexa scenario to see how it forces the transition from blaming the tool to finding the systemic gap. All right, let's do it.

I'll play the facilitator. We start at the proximate cause. Why did the voice assistant give a policy refusal for candidate A but a detailed answer for candidate B? Because the runtime content moderation guardrail fired unevenly.

Why did the guardrail fire unevenly? Because the guardrail was keyed to recognize specific syntactical phrasing that perfectly matched candidate A's query, but it failed to generalize to the slightly different semantic structure used in candidate B's mirror query. Okay, we found a technical bug. But why was that semantic phrasing gap missed before it shipped to millions of devices? Because there was no specific symmetry test included in the QA plan when the underlying accuracy upgrade was merged in late 2023.

Now we're getting into human process. Why was there no symmetry test in the QA plan for a massive accuracy upgrade? Because the team responsible for the accuracy upgrade was focused purely on conversational depth metrics, and they weren't required to cross-reference their changes with the trust and safety team's edge case suite. Why were they not required to cross-reference? Because our deployment pipeline lacks a standardized governance gate that mandates multidisciplinary sign-off for models handling sensitive topics before they hit production.

And there it is. In five steps, we went from the AI was biased, which gives me absolutely nothing to engineer, to we have a missing automated governance gate in our CICD pipeline, which is a highly tangible, fixable, systemic condition. We can build that gate tomorrow.

Exactly. And, you know, the number five isn't a hard rule, by the way. You just keep asking until you hit a process you can reconstruct.

Sure. But there is a massive vulnerability in the five-whys technique. If you aren't careful, it can start to feel like a hostile interrogation.

Oh, I can see that. By the time you get to the third or fourth why, you are usually talking to the specific human being who made a flawed decision. You're staring down the engineer who didn't run the symmetry test, and the room gets very quiet, and they feel like they are on trial.

Which shuts down the flow of truth entirely. And this is where Sidney Decker's concept of the second story becomes absolutely vital to your investigation. I want to spend time on this because it is profound.

The first story is the easy, satisfying narrative of hindsight. The engineer was careless. They rushed the update.

They didn't test it properly. It's the story we tell when we know the disastrous outcome. What does the second story ask of us? The second story requires you to practice local rationality.

It asks a much more difficult, fairer question. Given what was visible to the engineers at the time, given the immense pressures they were under, the noisy data they were looking at, and the tools they were handed, why did their choice make sense to them in that moment? This is so hard to do because of outcome bias. Outcome bias is this psychological flaw where we judge the quality of a decision based entirely on its result rather than on the information available when the decision was made.

After a failure blows up on social media, you look at the deployment logs, you see the missing symmetry test, and it looks like a glowing neon sign. You think, how could they possibly have missed this glaring vulnerability? Right, but you think it was a neon sign because you were looking at it in a vacuum knowing exactly what to look for. Yeah.

But in the moment that engineer shipped the update, that neon sign was a single gray pixel hidden inside a blizzard of thousands of other normal noisy signals, false positive alerts, and JIRA tickets they deal with every single day. They were just doing their job. Yeah, they were likely under immense deadline pressure from product managers pushing for a Q4 launch.

They were balancing 50 other competing priorities. If your conclusion is just they should have known better, you're punishing chance instead of choice. You're basically saying your crime was not being exceptionally lucky or clairvoyant on a random Tuesday.

Exactly. The fix to a systemic problem is never tell the engineer to watch harder next time. Because human attention is a finite degrading resource.

You can't just mandate vigilance. Never. The fix is building an instrument that surfaces the signal automatically.

You change the system so that noticing the danger doesn't rely on a human being having a perfectly focused day amidst a sea of noise. Right. The second story keeps you honest.

It forces you to realize that if a highly trained, well-intentioned professional made this error, another reasonable professional will make the exact same error next month unless the system around them changes. So we've used the five whys in the second story to trace the causality down to these systemic gaps. But finding the gap doesn't mean you know where to apply the patch.

I've seen incident reviews where the team uncovers a deep systemic issue, but their proposed corrective action is totally disconnected from where the failure actually entered the system. Which brings us to the fifth spine concept. Locate the failure in the AI lifecycle so the fix lands where the failure lives.

You have to map the anatomy of your AI system because a failure surfaces at the output, but it usually enters much, much earlier in the pipeline. Let's walk through those entry points. For the executives listening, this is how you audit your pipeline.

The layers, roughly in lifecycle order, are data, model or prompt change, deployment, guardrail gap, monitoring gap, human oversight gap, and vendor provider. Let's start with the one that triggers the most cascading failures, the model or prompt change. Changes are never free in complex systems.

A new model version, a fine-tuning run, or even a seemingly trivial edit to a system prompt can fundamentally, unpredictably alter behavior across the entire application. We have an incredibly vivid, real-world example of this from July 2025 involving Grok, the AI system developed by xAI. Right.

NPR documented this extensively. The developers made a system prompt edit. Their stated intention was to make Grok less politically correct, you know, to give it an edgier, more unfiltered personality.

Yeah. But within days of pushing that prompt change, the system started generating virulent antisemitic output and literally generated a response where it referred to itself as Mecca Hitler. It is a stark textbook example of an unintended cascading consequence.

A prompt change meant to adjust tone inadvertently bypassed the safety alignment filters entirely. Bypassing completely. Now, if you were running the post-incident review for the Grok incident, you ask what changed just before the incident, you find the prompt edit.

But here's the critical analytical move. The change itself is not the villain. Blaming the specific prompt engineer who wrote the new instructions misses the entire point of the review.

Because prompt engineers are supposed to iterate. That's their job. If you yell at the prompt engineer, you haven't fixed the system.

You've just made them terrified to do their job. The systemic failure in the Grok case wasn't the desire to change the prompt. The failure was that prompt changes were allowed to ship into production without undergoing mandatory adversarial retesting.

Right. The system assumed a prompt tweak was a low-risk cosmetic change when in reality, it acted as a functional override of the model's core alignment. So the fix has to land where the failure lives.

You don't rewrite the prompt and call it a day. You target the testing layer. You institute a pipeline requirement that says any modification to the system prompt automatically triggers our tier one adversarial sweep and deployment is blocked until it passes.

You fix the lifecycle layer. Let's look at a few other layers. A deployment gap is when the right code goes to the wrong place.

Or a rollout exposes risky features to 100% of the user base instead of a 1% canary group. A guardrail gap is our Alexa case. The runtime control existed, but its coverage was porous and asymmetrical.

But let's talk about the monitoring gap because this is the layer organizations love to ignore mostly because it's embarrassing. Oh, absolutely. A monitoring gap is when your system produces a toxic output and your internal telemetry doesn't catch it.

You only find out you have a crisis because a user posts a screenshot on Twitter and a journalist emails your PR department. If that happens, regardless of what caused the initial bad output, the fact that an outsider caught it before your dashboards did is a massive separate failure that demands its own dedicated corrective action. 100%.

And finally, you have the vendor provider layer. This is the ultimate temptation for teams building on top of external APIs. Oh, OpenAI updated GPT-4 silently.

It degraded our app. It's their fault. Ah, the classic supply chain excuse.

It is just the supply chain version of blaming the tool. You cannot govern OpenAI's internal release process. The governable question for your organization is, what should your own evaluations, your contract SLAs, or your fallback mechanisms have caught before the vendor's failure ever reached your end users? Right, why didn't you catch it? Why didn't your regression suite flag the API degradation before it hit production? You don't get to shrug and point at the vendor.

You own the user experience. All right, this brings us to what I consider the crucible of this entire process. Yeah.

We've mapped the lifecycle. We've found the systemic gaps. We understand the second story.

Now we have to actually write the document. We have to put this in front of leadership, which means we have to name what we missed. This is the sixth spine concept, write the what we missed sentence, blaming neither the tool nor a person.

And let me tell you, this is consistently the hardest sentence for any team to write in a post-incident review. Why is it so difficult? I mean, I've seen brilliant technical writers freeze up when it comes time to draft this one paragraph. Because every instinct in a corporate environment pushes you to soften the blow.

You want to hedge. You want to protect your team from executive wrath. So you use passive voice.

Yes. You write things like, it was determined that testing could have been more robust. Which means absolutely nothing.

Nothing at all. A genuinely useful what we missed sentence must possess three strict properties. First, it must be relentlessly specific.

Specific. So not, we should be more careful, but we shipped a model change without a test that checks for answer symmetry. Okay.

What is the second property? It must be system owned. It points directly at the process, not a person. Our change management process has no governance gate for model updates.

Not, Dave forgot to run the test suite on Thursday. Poor Dave. And the third property, this is the one that really bends people's minds.

It must be honest about the gap being an absence. An absence. This is cognitively tricky.

Human beings are visually and analytically wired to spot broken parts. We see a shattered gear, we point to it. It is exponentially harder to spot a missing part.

The gear that should have been there, but never existed. Naming an absence, the test that wasn't conceived, the oversight committee that wasn't convened, the dashboard that wasn't built, is difficult because you are describing a void. Let's actually draft this sentence for the Alexa incident out loud.

If we apply all three properties, specific, system owned, and naming an absence, it would sound something like this. Our change process had no check that an accuracy upgrade preserves answer symmetry on sensitive topics. So a change that improved conversational depth silently broke our political parity.

That is a perfect sentence. It walks the incredibly narrow path between two very tempting ditches. On the left side, you have blaming the tool.

You know, the AI produced a biased answer, which leaves you nothing to engineer. And on the right side, you have blaming a person. The engineer shipped the upgrade without testing it, which creates a toxic environment.

And let's talk about the fallout of falling into that right side ditch. If you blame the engineer in an official document, what happens to your organization over the next six months? It's a disaster. You teach every single person watching that the reward for honesty is exposure and punishment.

You destroy psychological safety. In the next incident, logs will miraculously disappear. Timelines will become incredibly vague.

Which brings us to a concept that is widely championed in DevOps, but deeply misunderstood by traditional executives. The blameless postmortem. Yes.

Because I can hear the pushback right now. Picture a traditional executive sitting in a boardroom, slamming his hand on the table saying, if this review is blameless, nobody cares. Yeah.

Blameless means unaccountable. If no one is at fault, standards will drop and people will get sloppy. How do you counter that fear? By drawing a razor-sharp distinction between blame and accountability.

This framework comes from Google's site reliability engineering practices and John Allspaw's concept of a just culture. Okay, lay it out for us. Blameless does not mean nobody is accountable.

It means the truth is not punished. Blame is an emotional release that drives the truth underground. If admitting I misconfigured that parameter because the documentation was outdated gets you fired, well, people will stop admitting things.

Yeah, your post-incident reviews will become beautifully formatted works of fiction. Exactly. So how do you maintain high accountability in a blameless culture? What are people actually accountable for? People remain highly accountable, but for different, more valuable things.

They are accountable for telling the absolute, unvarnished truth about what they did, what they saw, and what they assumed during the incident. Okay. And they are fiercely accountable for owning and executing the corrective actions that come out of the review.

The accountability points forward at improving the system, not backward at finding a scapegoat. It's about defining that just culture line. There is massive operational difference between an honest mistake inside a flawed system, which is a goldmine for organizational learning, and genuine, knowing recklessness.

Exactly. Software safety science has found over decades of research that the vast majority of incidents are the first kind. A reasonable person doing what looked like the right thing at the time, but the system made the failure easy.

Genuine recklessness is incredibly rare. Recklessness is bypassing a hard-coded deployment lock to push untested code at 2 a.m. on a Friday while intoxicated. Right.

Overriding a soft warning during a routine deployment because the system produces 500 false positive warnings a day is not recklessness. It's a systemic normalization of deviance. Yes.

And genuine recklessness is handled by HR outside the blameless review process. But as an investigator, you must assume it was an honest system failure until definitively proven otherwise, or you will never get the truth out of your team. Okay, we have done the deep psychological, investigative, and systemic work.

Now, we have to distill this massive amount of context into a highly structured one- to two-page document. Zero filler. Because the busy professionals reading this, the VPs, the board members, do not have time for a novel.

No, they don't. The document is built on six specific blocks, and it must be tight. If an incident review runs to 10 pages of prose, it has usually devolved into a narrative designed to protect everyone's ego.

The value of the review is in the commitments, not the storytelling. Let's actually build this six-block document if I'm sitting down with a blank page. Block one is the summary.

Two or three sentences. What happened, who was affected, and the current status. It must be in plain English.

A non-technical executive and a junior engineer should both understand it instantly. Block two is the timeline. And this isn't just throat-clearing background detail, is it? We are looking for something very specific in the timestamps.

We are looking for detection provenance. The timeline tracks your time to detect and time to mitigate. What does that tell us? If your logs show that the bad output started at 9.0 a.m. and your internal canary monitor flagged it at 9.05 a.m., your monitor worked.

But if your timeline shows that the output started at 9 a.m. and you only found out at 1.0 p.m. because a viral clip exploded on social media, exactly like the Alexa case, that timeline gap is a massive systemic finding in itself. Wow. That is a monitoring gap that demands a completely separate corrective action.

Which naturally forces us to confront block three, impact. And this is where I need to issue a strict warning to anyone drafting this section. Do not just count user complaints.

Oh, please don't. Counting complaints is counting mice in daylight. The mice you see running across the kitchen floor in the middle of the day are a tiny fractional representation of the actual infestation in the walls.

Gross, but accurate. Most users who receive a toxic, biased, or hallucinated AI output will never take the time to fill out a bug report or call customer service. They just lose trust in your brand and quietly churn.

If you use the raw number of complaints as your official impact metric, you are lying with a true number. And that lie destroys your organizational priorities. If your document says only 10 people complained, leadership looks at it and says, great, minor issue.

Allocate one engineer for a week. But if you actually dig into your telemetry and realize 50,000 people were exposed to the output, that demands a massive cross-functional response. But wait, let's unpack that.

How do you measure uncomplained exposure without violating user privacy, especially with AI? You mentioned Apple's approach to this earlier as a gold standard. How does Apple Intelligence handle logging telemetry for their notification summaries? It's a brilliant piece of engineering, honestly. Apple runs a lot of its AI models locally on the device to summarize notifications.

They can't read your private texts, so they use aggregate differential privacy logs. Okay, so what does it actually log? The system doesn't send the text of the hallucination back to Apple. Instead, it logs the mathematical properties of the generation.

Like, did the process time out? Did the safety classifier trigger a silent override? Did the user immediately delete the summary? Oh, I see. They aggregate those anonymous metadata signals to calculate a failure rate. You have to build telemetry that measures the reality of the exposure, not just the volume of angry emails.

State the unvarnished exposure in block three. Block four is the causal analysis. This is where we plug in the work we just did.

The proximate cause, the contributing factors, the systemic conditions, and that perfectly crafted what we missed sentence. Which serves as the justification for block five, corrective actions. And this is where 90% of post-incident reviews go to die as good intentions.

I've read so many of these where the corrector action is literally just the phrase improved testing protocol. Improved testing is not a corrective action. It is a wish.

A real corrective action has a strict, inflexible, anatomical form. It needs a specific change, a named human owner, a hard due date, and a verifiable method of confirmation. Give me an example of a real one.

Add a semantic symmetry check to the pre-deployment evil suite. Owner, Sarah, QA led, due date, October 15th. Verification.

The check is active in the CICD pipeline and blocking failed builds. An action with no owner is a wish. An action with no date never happens.

An action with no verification is just a hope. And we have to include two types of fixes here, right? Symptom fixes and class fixes. Yes.

A symptom fix patches the specific guardrail that failed in this incident. It treats the fever. A class fix adds the overarching governance gate that ensures no guardrail can ever be bypassed in the future.

It treats the underlying infection. You need both to survive. And finally, block six, feeding forward.

This is how you convert the incident from a painful memory into permanent organizational muscle. You state explicitly how this review will alter your other systems. So applying the lessons.

Exactly. Which finding from block four becomes a new adversarial prompt in your evaluation case. What new logging metric are you adding to your dashboard? Are you integrating this case into your onboarding training for new engineers? A review that does not feed forward into the broader organization is just a piece of paper rotting in a drawer.

Before we move on to how we actually conduct the meeting to generate these six blocks, I want you to talk about a phenomenon you call the comforting review. Because it's a trap so many companies fall into without realizing it. How do we spot a review that is failing its core mission? A comforting review is insidious.

It reads beautifully. It upsets absolutely no one in the room. And it changes absolutely nothing about your systemic risk.

How do you spot it? You can spot it by looking for three distinct signatures. First, it stops at the tool. It blames the AI or the vendor API.

Second, it finds exactly one root cause, patches it and declares total victory. And third, its corrective actions are vague verbs without owners or dates. If you read your document and see those signatures, you haven't fixed your system.

You've only done paperwork. So how does this look in practice? We know what goes into the six blocks, but a form filled out in isolation by an exhausted, terrified engineer at 3 a.m. is useless. How do we run the review in the real world to get the depth we need? It absolutely must be a facilitated synchronous conversation.

The causal chain is never documented perfectly. It is scattered across the heads of the product manager, the machine learning engineer, and the QA tester. The second story, why decisions made sense at the time, only emerges when people talk to each other in a safe environment.

When should this meeting happen? Because there's a tension here. If you do it immediately after the system comes back online, everyone is exhausted. Adrenaline is crashing.

You aim for soon, but not raw. If you force the meeting in the defensive, exhausted hours right after the mitigation, people are too stressed to reflect. You'll get silence, defensive posturing, or blame.

Makes sense. But if you wait two weeks, the lobs age out of the buffer and human memories inevitably reshape themselves to fit a more logical narrative, you want to hit the sweet spot. 48 to 72 hours later, the adrenaline has cleared, people have slept, but the context of their decisions is still visceral and fresh.

And the role of the facilitator in this meeting is absolutely make or break. You cannot just have the lead engineer run it because they're too close to the blast radius. The facilitator must be an aggressive defender of the blameless frame.

Their job is not to solve the technical puzzle. Their job is to protect the psychological safety of the room. Let's role play this.

Okay. Imagine a senior VP walks into the review meeting visibly angry about the stock dip and says, all right, whose mistake was this? Who pushed the code? As the facilitator, you cannot let that sit in the air for even a second. Right.

I have to intercept it immediately. I would say, I understand the frustration, but we are not here to find out who made a mistake. We are here to understand what about our process made it incredibly easy for a well-intentioned team to deploy a vulnerability.

Let's look at the systemic gaps in the CICD pipeline. Exactly. The facilitator is the shield that keeps the truth flowing.

If you let the VP's question stand, every engineer in the room will stop talking for the rest of the meeting. One more thing about these meetings before we wrap up, we shouldn't only be doing this for public catastrophic disasters, right? What about near misses? Oh, this is one of the greatest untapped resources in corporate governance. A near miss is a free lesson from the universe.

Imagine your canary test catches a catastrophic model degradation right before it hits 100% of your production traffic. Whoa, close one. The external harm is zero.

No PR crisis, no lost revenue. Most teams just breathe a sigh of relief and move on. But the systemic conditions that allowed that bad model update to bypass the dev environment, bypass staging, and get all the way to the canary stage are exactly the same as if it had gone live.

Precisely. The Swiss cheese holes all lined up perfectly and you just happen to have one extra thin slice of cheese at the very end that held. Reviewing only public disasters is the most expensive, painful, and career damaging curriculum possible.

Running a full six block review on a near miss lets you fix the systemic rot for free. OK, let's bring this all home for the busy professional listening right now. We've covered the psychology of blame, the layers of causality, the AI lifecycle, and the structure of the document.

What is the Monday morning action? What is the single most valuable, concrete move they can make when they log into work next week? Pull up your organization's last post incident review. It doesn't matter if it was a minor bug or a major outage. Apply the comforting review detector.

OK. Read through it with a critical eye and look for any sentence that ends with the AI made a mistake or the model hallucinated. Look at the corrective actions.

Are they missing a named human owner? Are they missing a hard calendar due date? And if they are. If you find those comforting signatures, you need to understand a terrifying reality. You haven't actually fixed your system.

You've only completed paperwork and that exact same vulnerability is sitting in your pipeline right now just waiting for the next perfectly aligned trigger. That is a chilling but necessary audit to run. It forces you to look in the mirror and ask if you are managing reality or just managing optics.

It's the only way to evolve from a team that survives incidents to an organization that actually masters them. I want to leave you the listener with a final provocative thought. A lot of what we've talked about today relies heavily on human discipline.

Facilitating the meeting properly, tracing the five whys relentlessly, actively resisting our natural hindsight bias. But as we continue to build more advanced AI systems that monitor other AI systems, could we eventually build a real-time automated five whys protocol? Wow, that's an idea. Imagine an architecture that the absolute millisecond it detects a guardrail failure or a massive spike in user aborts, automatically freezes the deployment and interviews its own subsystems.

It traces the contributing factors, checks the evaluation parameters, analyzes the deployment logs, and generates a literal second story on the fly, all before a human engineer even gets the pager duty alert and opens a dashboard. We are rapidly moving toward a world where the system itself drafts the first iteration of its own blameless postmortem. It is a fascinating frontier.

The telemetry required to do that is being built right now. But until that automated, perfectly objective architecture exists, the responsibility remains entirely on us. We have to be the ones who refuse to take the easy way out.

We have to refuse to blame the tool. And it all loops back to that murky diagnostic landscape we started with. When a complex AI deployment breaks, we are never going to get a clean x-ray showing a simple fracture.

We're going to get a messy, tangled web of human decisions, process gaps, unexamined assumptions, and untested changes. But if we can stop looking for a convenient scapegoat, whether that scapegoat is an exhausted engineer or a black box algorithm, and start rigorously looking for the systemic gaps, we can actually build something resilient. Thank you for joining us on this deep dive.

Take that framework, run that audit on Monday morning, and we'll see you next time.

Real cases

These examples show post-incident analysis done well and badly, with the reasoning stated. The deep anchor is the Alexa case; the others are referenced to sharpen a specific point and are treated in depth by their owner topics.

Example 1 (the anchor): Amazon Alexa's asymmetric political answers, September 2024. In early September 2024, Alexa was observed giving reasons to vote for one presidential candidate while refusing the mirror question for the other, replying that it could not promote a party or candidate (Variety, September 2024). Amazon's public response was that this was an error, quickly fixed, that Alexa holds no political opinions, and that the company audits and improves its content-detection systems and has teams to prevent recurrence (Snopes, September 2024). Internal documents reported by The Washington Post attributed the behavior to AI software added in late 2023 to improve Alexa's accuracy (The Washington Post, 5 September 2024). Read against this topic, the public statement is a press line, not a review, and the instructive move is to reconstruct the review the press line stands in front of, without claiming to know Amazon's internal findings. The proximate cause is an asymmetric answer. The reported contributing factor visible from outside is an accuracy upgrade that changed behavior in a way that was not re-tested for political symmetry. The governance questions a real review would pursue are all human-shaped: what change process let an accuracy upgrade ship without symmetry testing on sensitive topics; why a content guardrail applied unevenly across mirror queries; and why the first detector was a public clip rather than an owned instrument. The lasting lesson is the discipline itself: "the AI was biased" describes the output and hides every one of those governable causes, and a review that stops there learns nothing that would prevent the next asymmetric answer. (All internal-cause detail beyond what The Washington Post reported is deliberately not asserted here.)

Example 2 (a change that fixed one thing and broke a worse one): the Grok system-prompt edit. In July 2025, a system-prompt change at xAI instructing the Grok chatbot to be less "politically correct" produced antisemitic output and the self-label "MechaHitler" within about two days (NPR, "Elon Musk's AI chatbot, Grok, started calling itself 'MechaHitler,'" 9 July 2025; owner topic, with full sourcing: (see Topic 1.3)). It is referenced here for one point about causal analysis: an incident's proximate trigger is often a change made in good faith to solve a different problem, so a review must always ask "what changed just before this," and must resist treating the change as a villain rather than as a link in a chain that also includes the absence of a test that would have caught the new failure. Blaming the person who made the prompt edit would miss the systemic condition: prompt changes shipping without adversarial re-testing. The change is a contributing factor; the missing gate is the systemic one.

Example 3 (why blaming the operator fails, from an older field): aviation's shift away from "pilot error." For decades, air-accident reports commonly ended at "pilot error," which satisfied the demand for a cause while preventing almost all learning. The modern investigative culture, embodied in bodies like the US National Transportation Safety Board, treats a human action as the start of an inquiry into the system that shaped it, cockpit design, training, procedures, fatigue, rather than its end (established safety-science practice; see also Dekker's human-error work). This is not an AI case and is not a program anchor; it is included because it is the cleanest historical proof that "blame the operator" and "blame the tool" are the same mistake, and that replacing the operator with the machine does not make the mistake less costly. The AI-era temptation is stronger only because the operator you are blaming has no union, no feelings, and no way to object.

Example 4 (blameless postmortems as an operating discipline): software site-reliability practice. Large software operations run on blameless postmortems: a standard practice, codified in Google's site-reliability engineering and popularized by Etsy under John Allspaw, in which incidents are analyzed for systemic causes with an explicit rule against punishing individuals, precisely so that the people who were present will tell the truth (Google, "Site Reliability Engineering," 2016; Allspaw, established). The relevant lesson for AI governance is that this is not a moral nicety but an information strategy: blame drives the truth underground, and a review runs on truth. The AI-specific extension is that the discipline must extend to the machine: a blameless review refuses to scapegoat the tool as well as the person, because scapegoating the tool protects the system just as effectively as scapegoating a person, while feeling virtuous.

Example 5 (the review that feeds the next defense): an incident becomes an eval case. Consider any AI feature that suffered a specific failure, a summarizer that fabricated a claim, a bot that invented a policy (see Topic 1.6). The post-incident review's most valuable output is not the apology; it is the conversion of that exact failure into a test the system must pass forever after. This is the shape of the whole program's adversarial discipline: the incident your monitoring caught in production becomes a case your evaluation suite must catch before production (see Topic 4.2). A review that ends without asking "what eval case does this incident owe us" has left its most durable value on the table, because the strongest guarantee that a failure will not recur is a test that fails the build if it does.

Example 6 (single-root-cause thinking as a trap): a complex failure with several necessary conditions. Consider a hypothetical incident where an AI feature produced a harmful output because a model was changed, a guardrail did not cover the new case, and no monitor watched for it. Each of the three, alone, might have been survivable: the model change with a guardrail and a monitor in place would likely have been caught; the guardrail gap with good monitoring would have been seen fast; the monitoring gap with a solid guardrail might never have mattered. The harm required all three to line up. A review that names only the model change "fixes" it and leaves the guardrail gap and the monitoring gap in place, so the next model change, or a different trigger entirely, walks straight through the two doors still open. This is the method point of 3D made concrete: ask which factors, if removed, would have stopped or shrunk the incident, and fix more than one.

Example 7 (impact honesty): the temptation to undercount. When Apple's notification summaries fabricated news, the harm was not only the individuals who saw a false alert but the erosion of trust in a channel people rely on (owner topic: (see Topic 3.4)). Referenced here for one narrow point about the impact block: the easiest dishonesty in a review is a quietly small impact number, because a small impact justifies a small response. A review that counts only "confirmed complaints" when the real exposure is every user who received the output is lying with a true number, and it will misprioritize every corrective action that follows. State the real exposure from your own logs, not the flattering subset.

Example 8 (detection provenance decides the finding): internal alert versus viral clip. Consider two organizations that ship the same feature and suffer the same failure with the same impact. In the first, an internal monitor fires within minutes and the team contains the issue before most users notice. In the second, the failure runs for hours and is surfaced by a screenshot that spreads on social media, exactly the shape of the Alexa timeline where the asymmetry was public before it was owned internally. The two incidents have identical causes and identical harm, yet their reviews are not the same, because how you found out is itself a governable fact. The first review has no monitoring-gap finding; the second has a serious one that demands its own corrective action, an owned instrument that would have caught the failure before the world did. The lesson is that "who caught it" is not an anecdote to note in passing but a distinct finding that can add an entire class of fix, which is why the timeline block earns its place.

Example 9 (hindsight makes the sign look obvious): the warning that was invisible in the noise. After almost any incident, someone points at a signal that "should have been noticed," and in retrospect it glows. The trap is that at the time it sat among thousands of ordinary signals with nothing marking it as the one that mattered, judged against every other priority on a busy day. Aviation learned this decades ago: a warning that looks damning in the accident report was, in the cockpit, one of many competing indications under time pressure (established safety-science practice; see the shift away from "pilot error"). The governance move is to stop asking "why didn't they notice" and start asking "why was this sign missable, and how do we make it impossible to miss," which turns a character judgment into a system fix (an alert that surfaces the sign automatically). This is method, not a single incident: hindsight is a bias to be corrected in every review, and the correction is the second story plus an instrument that removes the need to notice by luck.

Where people go wrong

  • "The AI was biased, that is the cause." That is a description of the output, not an account of how it reached a user, and it ends the inquiry exactly where the governable causes begin. A model producing an output is a model doing what models do; the review's job is the chain after it, the change, the guardrail, the monitor, the process. "The AI did it" is the AI-era version of "pilot error": true, comforting, and useless.
  • "A post-incident review is what we tell the customer and the press." Those are different documents with opposite purposes. The press line exists to close inquiry and make the problem sound small; the review exists to open inquiry and make the causes visible. When your internal review reads like your public statement, you have stopped investigating. The honest customer letter comes later and is built on the review, not instead of it (see Topic 3.7).
  • "We found the root cause and fixed it." Complex systems rarely fail for one reason; they fail when several survivable weaknesses line up. A review that names one root cause has usually stopped early, and the danger is that you fix the one thing, feel safe, and leave the other necessary conditions in place for a different trigger. Ask for contributing factors, plural, and fix more than one.
  • "Blameless means nobody is accountable." Blameless means nobody is punished for the truth, so the truth keeps flowing, because blame drives information underground and a review runs on information. People remain fully accountable, for honesty and for owning the fixes. Accountability points at the system and the corrective actions, not at a scapegoat.
  • "Blaming the tool is the safe, blameless choice, since no person is accused." Blaming the tool feels blameless and is the opposite of a blameless review, because it protects the failed system just as effectively as blaming a person, while ending the inquiry before it reaches anything worth fixing. A true blameless review refuses to scapegoat both the person and the machine and examines the system that produced the output.
  • "The person who shipped it should have caught it." Hindsight makes the warning sign obvious after the fact; the fair and useful question is why, given what was visible at the time, missing it made sense, and how to make the sign impossible to miss next time. Naming an individual misses the systemic condition (why was shipping-without-that-check even possible?) and teaches everyone that honesty in a review gets punished.
  • "We fixed the bug, so the review is done." Fixing the bug is a status update, not a review. The review asks why the bug reached a user and whether the conditions that produced it are still present. A symptom fix (patch this guardrail) without a class fix (add the gate that would have caught it) treats the fever and leaves the infection.
  • "Corrective actions: improve monitoring, be more careful, consider testing." Those are verbs without accountability, and they are where reviews go to die. A real corrective action names a specific change, an owner, a due date, and a way you will know it worked, and someone tracks it to done. An action with no owner is a wish; with no date it never happens; with no verification it is a hope.
  • "The impact was small, only a few people complained." Complaints are a fraction of exposure; most people who receive a bad output never report it. Counting only complaints is lying with a true number, and a small impact number justifies a small response, so undercounting here quietly misprioritizes every fix that follows. State real exposure from your own logs.
  • "The incident is over once the review is written." The review's most durable value is forward: the failure becomes an eval case the system must pass forever (see Topic 4.2), a new monitor and new logging so the next one is seen sooner and reconstructed faster (see Topic 10.2), and a record a later forensic pass can read (see Topic 11.4). A review that does not feed forward is a page in a drawer.
  • "We should not write down what we missed; it could be used against us." A review that hides its findings is worthless as a review and, in a later attack or forensic reconstruction, far more damaging than an honest one, because a discovered omission reads as a cover-up (see Topic 11.4). The defensible record is the honest one; the honest one is also the only one that prevents recurrence.
  • "Speed matters more than the gate; a governance check just slows shipping." The Alexa-shaped incident is what shipping without the gate costs, and it is paid in public, at the worst time, with trust that is expensive to rebuild. The gate that requires symmetry and safety re-testing before a model change ships is cheap; the incident it prevents is not. A governance function that can never slow a ship is not governing it.
  • "There is one lesson per incident." A good review usually yields several: a guardrail fix, a testing gap, a monitoring gap, and a systemic change-management gap can all come from one clip. Forcing an incident into a single tidy lesson is the single-root-cause myth in a friendlier costume, and it leaves most of the incident's value unlearned.
  • "They should have noticed the warning sign." Hindsight makes the sign obvious after the outcome is known, but in the moment it sat among thousands of ordinary signals with nothing marking it as important. The fix is never "notice harder"; it is the second story (why was the sign missable?) plus an instrument that surfaces the sign automatically, so catching it does not depend on a person's luck or attention.
  • "A review is a form you fill in after the fix." The causal chain lives in several people's heads, and the second story only emerges when the person a decision happened to explains why it made sense. A review is a facilitated conversation, held soon but not raw, from which the document is written; a form filled in alone captures one perspective and misses the interactions that produced the incident.
  • "We will hold the review right now, while it is fresh." Fresh is good; raw is not. In the exhausted, defensive hours right after an incident, people are too stressed to reflect honestly, so the review produces silence or blame. Wait until soon but calm, usually a few days, so the review is accurate and honest rather than a re-run of the crisis.
  • "Recklessness and honest mistakes are the same once the outcome is bad." Judging a decision by its outcome (outcome bias) turns every honest mistake with a bad result into "recklessness," which is unjust and destroys learning. The just-culture line is drawn on what the person knew and the pressures they faced at the time: an honest mistake is a choice a reasonable person could have made in that situation, and it is a learning opportunity; recklessness is knowing disregard of a clear serious risk, and it is genuinely rare.

Questions people ask

What is post-incident review (postmortem)?
The one to two page artifact this topic produces. A structured analysis of an incident whose purpose is understanding plus specific, owned, dated change, built on the incident log and feeding the disclosure letter, the eval suite, the monitoring, and the logging. It is written for the organization, not for an audience.
What is press line?
A short public statement, such as "an error, quickly fixed," written to close a news cycle and make a problem sound small and handled. Legitimate in public, but the opposite of a review, because its purpose is to close inquiry rather than open it.
What is status update?
A report that the fire is out and the fix is live. It looks forward from the fix and says nothing about why the incident happened, which is why it is not a review.
What is blame hunt?
The search for whose fault an incident was. It feels like accountability but destroys the information a review needs, because the presence of blame makes everyone manage their exposure instead of telling the truth.
What is blaming the tool?
The AI-era reflex of ending a causal analysis at "the AI was biased" or "the model hallucinated." It describes the output rather than explaining how it reached a user, ends the inquiry where the governable causes begin, and protects the failed system just as blaming a person would.

Keep going