Skip to content
Novus Examples
md3.1 KB

Incident Postmortem: Checkout Latency (Markdown)

A blameless operational review with impact, timeline, causal analysis, and owned actions. This UTF-8 Markdown twin preserves the same headings, lists, checkboxes, and GFM tables in portable plain text.

Preview — first 50 linesmd
# Incident Postmortem: Checkout Latency

*A blameless operational review with impact, timeline, causal analysis, and owned actions.*

**Incident ID:** INC-2026-0718  
**Severity:** SEV-2  
**Owner:** Priya Nair  
**Window:** 2026-07-18 14:07-15:02 UTC  
**Affected service:** Checkout API - eu-west  
**Status:** Resolved; follow-up actions in progress  

## Executive summary

A connection-pool limit introduced during a routine database proxy rollout caused elevated checkout latency in eu-west. Requests queued behind exhausted connections, and the retry policy amplified load. The team rolled back the proxy configuration and restored normal latency within 55 minutes.

This review is blameless: the failure emerged from interacting safeguards, incomplete load-test coverage, and an alert that measured errors but not queue time.

## Customer impact

- 8.7% of checkout requests exceeded five seconds.
- 2.1% of checkout attempts returned a timeout before payment authorisation.
- No duplicate charges, data loss, or security exposure occurred.
- Support received 43 related contacts; all affected carts remained recoverable.

## Timeline

| UTC | Event | Owner |
| --- | --- | --- |
| 14:07 | Database proxy configuration deployed to eu-west. | Release bot |
| 14:14 | P95 checkout latency crossed the service objective. | Monitoring |
| 14:19 | Support linked three timeout reports and paged on-call. | N. Brooks |
| 14:26 | Incident declared SEV-2; change freeze started. | P. Nair |
| 14:38 | Connection saturation identified in proxy metrics. | D. Okafor |
| 14:46 | Rollback approved and initiated. | P. Nair |
| 14:54 | Queue depth and P95 latency returned to baseline. | Monitoring |
| 15:02 | Recovery verified; incident moved to monitoring. | S. Rossi |

## Root cause and contributing factors

**Root cause:** The proxy pool was capped below the application's steady-state concurrent connection demand.

**Amplifier:** Retries used fixed intervals, aligning repeated requests and increasing queue pressure.

**Detection gap:** The page fired on error rate, while the first visible symptom was rising queue time and latency.

**Test gap:** Staging load tests used average traffic and did not reproduce the regional peak-concurrency profile.

## Corrective actions

| Action | Owner | Due | Priority | Status |
67 lines total — download for the full file.

Specifications

Family
incident-postmortem
Model Version
p6-v1
Format Twin Count
3
Fictional Data
true
Deterministic Content
true
Sections
6
Table Count
2
Page Size
not paged

Testing contract

Expected to pass
Scenario
Parse as UTF-8 CommonMark with GFM tables and task lists enabled, then render to HTML.
Expected result
One H1 and the complete ordered section set render without raw tokens; tables and checkboxes preserve all model values.

What is a .md file?

Markdown (MD) is a lightweight plain-text markup language that uses simple punctuation conventions to denote headings, lists, links, emphasis, and code. It is designed to be readable as-is and to convert cleanly to HTML. It is widely used for documentation, READMEs, and content authoring.

How to use this file

Use an example Markdown file to test parsers and renderers, verify GitHub-Flavored Markdown extensions like tables and fenced code, and exercise HTML-conversion pipelines.

How to use this file for testing

“Incident Postmortem: Checkout Latency (Markdown)” is a deterministic Novus Examples fixture for Templates, Conversion testing, Editor testing. Professional, neutral starting-point documents you can download and adapt — invoices, resumes, budgets, and more.

Documented properties for this file: MD · 3,200 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

This template ships filled with realistic sample content and documented fields and formulas. Download it as a starting point, or point a converter/parser at it — format twins (for example DOCX↔PDF) let you diff conversion fidelity.

Code examples

import markdown  # pip install markdown

html = markdown.markdown(open("incident-postmortem.md").read())
print(html[:200])

Generated by generation/templates_p6.py. Free for any use, no attribution required — license.