{
  "postmortem": {
    "postmortemId": "POSTMORTEM-EXAMPLE-001",
    "incidentRecordId": "INCIDENT-EXAMPLE-001",
    "rcaRecordId": "RCA-EXAMPLE-001",
    "revision": 2,
    "status": "published",
    "createdAt": "2026-07-29T09:00:00Z",
    "updatedAt": "2026-07-31T15:00:00Z",
    "fictionalExample": true
  },
  "context": {
    "title": "Fictional duplicate export incident learning review",
    "summary": "A synthetic export worker retried one completed batch after a fictional restart and produced duplicate files for a bounded test tenant.",
    "purpose": "Preserve evidence-linked learning and assign verifiable follow-up without blame.",
    "audience": ["ROLE-SERVICE-OWNER", "ROLE-RELIABILITY", "ROLE-SUPPORT"],
    "confidentiality": "internal",
    "occurredAt": "2026-07-28T10:02:00Z",
    "detectedAt": "2026-07-28T10:07:00Z",
    "stabilizedAt": "2026-07-28T10:24:00Z",
    "reviewHeldAt": "2026-07-30T14:00:00Z",
    "publishedAt": "2026-07-31T15:00:00Z",
    "outOfScope": [
      "Individual blame or performance evaluation",
      "Legal, contractual, regulatory, or compliance determination",
      "Proof that every cause was found or recurrence is impossible"
    ]
  },
  "impact": {
    "summary": "Two duplicate fictional export files were visible to one bounded test tenant for seventeen minutes.",
    "durationMinutes": 17,
    "affectedServices": ["SERVICE-EXPORT-WORKER", "SERVICE-EXPORT-DOWNLOAD"],
    "affectedUsersEstimate": 1,
    "estimateConfidence": "high",
    "evidenceIds": ["EVIDENCE-TIMELINE-001", "EVIDENCE-OUTPUT-001"]
  },
  "evidence": [
    {
      "id": "EVIDENCE-TIMELINE-001",
      "type": "incident_record",
      "capturedAt": "2026-07-28T10:31:00Z",
      "ownerRole": "ROLE-INCIDENT-RECORDS",
      "reference": "https://evidence.example.test/incidents/INCIDENT-EXAMPLE-001",
      "redactionStatus": "redacted",
      "limitation": "The fictional timeline contains synthetic service events only."
    },
    {
      "id": "EVIDENCE-OUTPUT-001",
      "type": "test_output",
      "capturedAt": "2026-07-28T10:20:00Z",
      "ownerRole": "ROLE-RELIABILITY",
      "reference": "https://evidence.example.test/exports/duplicate-check",
      "redactionStatus": "not_required",
      "limitation": "The bounded synthetic run does not represent every workload or restart path."
    },
    {
      "id": "EVIDENCE-RCA-001",
      "type": "analysis_record",
      "capturedAt": "2026-07-30T11:00:00Z",
      "ownerRole": "ROLE-RELIABILITY",
      "reference": "https://evidence.example.test/rca/RCA-EXAMPLE-001",
      "redactionStatus": "redacted",
      "limitation": "The fictional RCA supports reviewed factors but cannot prove cause completeness."
    }
  ],
  "timeline": [
    {
      "id": "EVENT-DETECTION-001",
      "occurredAt": "2026-07-28T10:07:00Z",
      "phase": "detection",
      "description": "A synthetic duplicate-output check reported two files for one completed batch.",
      "evidenceIds": ["EVIDENCE-TIMELINE-001", "EVIDENCE-OUTPUT-001"]
    },
    {
      "id": "EVENT-RESPONSE-001",
      "occurredAt": "2026-07-28T10:12:00Z",
      "phase": "response",
      "description": "The fictional service owner paused the affected test queue and preserved the event record.",
      "evidenceIds": ["EVIDENCE-TIMELINE-001"]
    },
    {
      "id": "EVENT-STABILIZATION-001",
      "occurredAt": "2026-07-28T10:24:00Z",
      "phase": "stabilization",
      "description": "The test queue resumed after duplicate outputs were removed and a bounded verification passed.",
      "evidenceIds": ["EVIDENCE-TIMELINE-001", "EVIDENCE-OUTPUT-001"]
    }
  ],
  "analysis": {
    "factors": [
      {
        "id": "FACTOR-RETRY-STATE-001",
        "kind": "causal",
        "statement": "The reviewed fictional RCA found that completion state was not persisted before retry eligibility was evaluated.",
        "evidenceIds": ["EVIDENCE-RCA-001"],
        "rcaReference": "RCA-EXAMPLE-001#FACTOR-RETRY-STATE"
      },
      {
        "id": "FACTOR-DETECTION-001",
        "kind": "contributing",
        "statement": "The duplicate-output check ran after publication instead of before the download became visible.",
        "evidenceIds": ["EVIDENCE-OUTPUT-001", "EVIDENCE-RCA-001"],
        "rcaReference": "RCA-EXAMPLE-001#FACTOR-DETECTION"
      },
      {
        "id": "FACTOR-TRACE-001",
        "kind": "protective",
        "statement": "Stable batch IDs made the duplicate outputs attributable without relying on filenames alone.",
        "evidenceIds": ["EVIDENCE-TIMELINE-001"],
        "rcaReference": null
      }
    ],
    "whatWentWell": [
      "Stable batch IDs connected the detection signal, timeline, and affected outputs.",
      "The bounded test queue could be paused without changing unrelated fictional workloads."
    ],
    "whatNeedsImprovement": [
      "Completion state must be persisted before a retry can publish another output.",
      "Duplicate-output verification should run before publication."
    ],
    "surprises": [
      "The existing retry test covered failed work but not a restart after publication and before completion-state persistence."
    ],
    "lessons": [
      "A retry contract needs an explicit invariant across work completion, state persistence, and output publication.",
      "Detection placement matters as much as detection existence when the harmful state is externally visible."
    ]
  },
  "actions": [
    {
      "id": "ACTION-IDEMPOTENCY-001",
      "type": "corrective",
      "title": "Persist completion before enabling retry evaluation",
      "ownerRole": "ROLE-SERVICE-OWNER",
      "dueAt": "2026-08-07T17:00:00Z",
      "status": "in_progress",
      "sourceFactorIds": ["FACTOR-RETRY-STATE-001"],
      "verificationCriteria": "A restart test publishes exactly one output across one hundred deterministic repetitions.",
      "followUpAt": "2026-08-14T15:00:00Z",
      "evidenceIds": []
    },
    {
      "id": "ACTION-PREPUBLISH-CHECK-001",
      "type": "detection",
      "title": "Move duplicate-output verification before publication",
      "ownerRole": "ROLE-RELIABILITY",
      "dueAt": "2026-08-10T17:00:00Z",
      "status": "planned",
      "sourceFactorIds": ["FACTOR-DETECTION-001"],
      "verificationCriteria": "A seeded duplicate is rejected before the download reference becomes visible.",
      "followUpAt": "2026-08-17T15:00:00Z",
      "evidenceIds": []
    }
  ],
  "review": {
    "facilitatorRole": "ROLE-RELIABILITY",
    "participantRoles": ["ROLE-SERVICE-OWNER", "ROLE-RELIABILITY", "ROLE-SUPPORT"],
    "decisions": [
      "Keep causal claims linked to the separate RCA record.",
      "Track action verification separately from implementation status."
    ],
    "dissentingViews": [
      "The review did not resolve whether a broader queue invariant should be owned by the platform or each worker."
    ],
    "reviewCompleted": true
  },
  "followUp": {
    "ownerRole": "ROLE-RELIABILITY",
    "reviewAt": "2026-08-17T15:00:00Z",
    "status": "open",
    "evidenceIds": [],
    "note": "The review is published, but action effectiveness remains unverified."
  },
  "boundaries": {
    "emergencyResponseProven": false,
    "notificationComplianceProven": false,
    "recoveryProven": false,
    "causeCompletenessProven": false,
    "actionEffectivenessProven": false,
    "legalSufficiencyProven": false,
    "securityProven": false,
    "privacyProven": false,
    "safetyProven": false,
    "complianceProven": false,
    "recurrencePrevented": false
  }
}
