# PM081 完整虚构事故资料包

本资料包是 OpenMax 事故复盘指南的完整演示案例。公司、服务、人员、记录和数字全部为虚构内容；它不是真实客户事故，不是产品测试，不是基准测试，也不是 OpenMax 的实测结果。全部时间使用 UTC。证据截止时间：`2026-09-04T12:00:00Z`。

## S01. 文档控制

| 字段 | 内容 |
|---|---|
| 复盘编号 | PM081 |
| 事故 | 文档预览渲染超时并返回旧结果 |
| 虚构服务 | Northstar Preview，内部文档预览 SaaS |
| 事故日期 | 2026-09-01 |
| 已确认影响窗口 | 09:07:11–10:18:00 UTC |
| 严重级别 | 虚构 OPS-04 政策下的 SEV-2 |
| 证据截止时间 | 2026-09-04T12:00:00Z |
| 文档负责人 | IC，事故指挥 |
| 主持人 | PA，复盘审批人 |
| 发布状态 | IN_REVIEW |
| 敏感级别 | 内部；已排除请求正文和账号标识 |

快速结论：生产配置结构变更之后，预览工作进程出现无上限并发，在突发负载下耗尽下游连接池。这一直接机制仍为 `PLAUSIBLE`，需要服务负责人独立审核。影响查询显示，3,200 次符合条件的尝试中有 279 次受影响，舍入后为 8.72%。响应人员在 09:41 关闭新路径，队列在 10:03 归零，定义好的合成测试在 10:18 通过。这些观察支持“抽样恢复”，不能证明所有用户结果都正确。

## S02. 角色与权限

| 键值 | 责任 | 审批边界 |
|---|---|---|
| IC | 响应时间线与决策记录 | 可以确认响应事件，不能单独批准因果机制 |
| SL | 服务架构与机制分析 | 审核 C02 和技术行动 |
| DL | 影响查询与类别核对 | 签署 E09 与 A05 的证据 |
| OL | 监控、告警与发现证据 | 审核 E02/E05 与 A03 |
| SE | 安全、隐私和披露筛查 | 可以要求限制传播或升级处理 |
| PA | 主持复盘并批准文档状态 | 专项审核后接受行动承诺 |
| AO | 各行动中指定的负责人 | 提供实施与有效性证据 |

教学资料中不使用真实姓名。真实记录应按内部政策写明可问责的人员或稳定团队。

## S03. 证据登记表

| 编号 | UTC 时间 | 证据 | 支持内容 | 局限 |
|---|---|---|---|---|
| E01 | 09:02:14 | 虚构版本 `v4.18.0` 的部署审计事件 | 配置结构变更进入生产环境 | 时间相邻不能单独证明因果 |
| E02 | 09:06:50–09:41:00 | 队列最老任务时长与连接池序列 | 变更后队列时长和连接池占用上升 | 聚合指标没有请求级结果 |
| E03 | 09:07:11 | 本次窗口内保留的首条超时追踪 | 本计时口径中的首次确认影响 | 仍可能存在更早但未被观察的影响 |
| E04 | 09:20:03 | 已脱敏的支持工单接收时间 | 确实出现用户报告的症状 | 接收时间不是故障起点；单份报告不是分母 |
| E05 | 09:24:00 | 告警事件与路由回执 | 自动发现时间 | 阈值没有在首次确认影响时触发 |
| E06 | 09:41:00 | 功能开关审计记录 | 新预览路径已关闭 | 不能单独证明积压清空或结果正确 |
| E07 | 10:03:00 | 队列指标快照 | 积压回到零 | 空队列不能证明预览内容是最新版本 |
| E08 | 10:18:00 | 针对定义好夹具的合成渲染结果 | 抽样渲染路径通过 | 一个合成夹具不是全量用户证明 |
| E09 | 09:07:11–10:18:00 | 版本化影响查询导出 `impact-v3` | 结果数量可核对到 3,200 次符合条件尝试 | 虚构查询仍需 DL 同级审核；不能说明唯一人数 |

访问规则：E01–E03、E05–E09 指向受限内部系统。复盘文档保存稳定引用和脱敏摘要，不复制令牌、请求正文或账号标识。截止时间后获得的新证据进入补充记录，并触发对相关结论的重新审核。

## S04. 影响查询与计算

总体规则：纳入服务器接收时间位于 09:07:11 至 10:18:00 UTC、生产区域为 `r1` 的已完成预览渲染尝试；排除标记为内部健康检查的重试。按优先顺序将每条记录只归入一个类别：超时、旧预览校验和、预期预览校验和。

| 互斥结果 | 虚构查询规则 | 数量 |
|---|---|---:|
| 超时 | 终态为 `TIMEOUT` | 248 |
| 旧预览 | 已完成，但校验和等于上一文档版本 | 31 |
| 预期预览 | 已完成，校验和等于提交版本 | 2,921 |
| 符合条件总数 | 三个类别的并集 | 3,200 |

总数核对：`248 + 31 + 2,921 = 3,200`。

受影响尝试：`248 + 31 = 279`。

影响比例：`279 / 3,200 × 100 = 8.71875%`，展示为 **8.72%**。

统计单位是“尝试次数”，不是人员、工作区、客户、合同或收入。重试可能使一个主体贡献多次尝试，因此本资料包不推断唯一用户数。

## S05. 有证据支持的时间线

| UTC 时间 | 事件或观察 | 类型 | 证据 |
|---|---|---|---|
| 09:02:14 | `v4.18.0` 生产部署完成 | 事件 | E01 |
| 09:06:50 | 队列时长与下游连接池占用持续上升 | 观察 | E02 |
| 09:07:11 | 所选计时口径中的首条保留超时追踪 | 观察 | E03 |
| 09:20:03 | 支持团队收到预览超时报告 | 报告 | E04 |
| 09:24:00 | 队列时长告警路由给值班人员 | 观察 | E05 |
| 09:29:00 | IC 宣布虚构 SEV-2 | 决策 | E05 关联的事故记录 |
| 09:34:00 | 状态检查后，IC 批准关闭新路径 | 决策 | 事故记录 |
| 09:41:00 | 功能开关显示新路径已关闭 | 事件 | E06 |
| 10:03:00 | 队列积压回到零 | 观察 | E07 |
| 10:18:00 | 定义好的合成渲染夹具通过 | 观察 | E08 |

派生时间：

- 首次确认影响 → 自动告警：`09:07:11–09:24:00 = 16m49s`。
- 宣布事故 → 执行缓解：`09:29:00–09:41:00 = 12m00s`。
- 首次确认影响 → 抽样恢复确认：`09:07:11–10:18:00 = 1h10m49s`。

这些是名称明确的区间，不自动等同于 MTTA 或 MTTR。虚构组织没有提供获批指标定义。支持工单时间表示报告到达，不代表事故开始。

## S06. 因果结论与不确定性

| 编号 | 类型 | 结论 | 状态 | 证据与局限 |
|---|---|---|---|---|
| C01 | 触发因素 | 部署在影响发生前引入配置结构变更 | CONFIRMED | E01 与结构差异；先后顺序不是完整机制 |
| C02 | 直接机制 | 缺失的 `max_inflight` 被解释为无上限，并在突发负载下耗尽下游连接池 | PLAUSIBLE | 配置差异、E02 相关性及非生产回放；等待 SL 独立审核 |
| C03 | 促成条件 | 校验器允许并发值缺失或为零 | CONFIRMED | 隔离的配置单元测试；不能计量生产影响 |
| C04 | 促成条件 | 金丝雀方案没有覆盖与事故相关的突发负载形态 | CONFIRMED | 版本化金丝雀方案与负载对比 |
| C05 | 促成条件 | 告警比首条保留超时晚 16m49s | CONFIRMED | E03 与 E05；更早影响仍为 UNKNOWN |
| C06 | 替代解释 | 数据库内容损坏导致旧结果 | DISPROVED（限本次事故） | 完整性扫描未发现持久化内容变更；不能证明所有数据库故障都不可能 |
| C07 | 范围未知 | E03 之前已经有受影响尝试 | UNKNOWN | 没有可以确认或否定的请求级保留追踪 |

无责不等于无人负责。记录要分析宽松默认值、校验缺口、金丝雀负载缺口和延迟信号怎样使合理操作仍然不足；负责人仍需提交证据并关闭行动。

## S07. 响应回顾

降低影响的条件：功能开关使团队无需完整部署即可停止新路径（E06）。随后，积压清空和合成检查提供了两种不同的恢复观察（E07/E08）。

拖慢发现的条件：最老队列时长超过配置阈值后，告警才会触发。支持团队在自动告警前报告了症状，但该报告也比首条保留超时晚 12m52s。这一比较用于改进信号，不用于认定个人过错。

拖慢因果确认的条件：生产配置没有保存标准化后的 `max_inflight` 实际值，因此复盘只能组合结构差异、聚合指标和非生产回放。C02 在独立审核前保持 `PLAUSIBLE`。

运气因素：新路径恰好有功能开关，但回滚手册没有要求检查积压清空和正确性夹具；响应人员临时补做了检查。A04 将这种对个人经验的依赖转成版本化步骤。

安全/隐私筛查：案例中没有未授权访问的证据，但“没有发现”并不是安全结论。任何涉及访问、披露、个人信息或合同通知义务的真实事故都必须由 SE 审核。

## S08. 纠正行动与验证

| 编号 | 变更 | 负责人 | 截止日 | 截止时状态 | 验证合同 |
|---|---|---|---|---|---|
| A01 | 拒绝缺失、零或负数的并发配置 | Platform AO | 2026-09-09 | IN_PROGRESS | 测试覆盖缺失/零/负数/有效值；生产配置审计不存在无效行 |
| A02 | 在 40 个工作进程上限下回放 1,000 个任务的预发布突发负载 | Reliability AO | 2026-09-12 | OPEN | 队列排空；活动工作进程峰值 <=40；定义夹具中旧结果为零 |
| A03 | 最老队列时长连续 3 分钟 >120 秒时告警 | Observability AO | 2026-09-10 | IN_PROGRESS | 注入延迟演练在文档窗口内生成并正确路由告警 |
| A04 | 在回滚手册加入关闭功能、检查积压和验证正确性的步骤 | Incident Ops AO | 2026-09-08 | IMPLEMENTED | 独立演练人员不依靠口头帮助完成版本化步骤；尚未执行 |
| A05 | 发布版本化互斥影响查询及总数核对 | Data AO | 2026-09-11 | IN_PROGRESS | 各类别之和等于总体，DL 同级审核人签署查询版本 |

截止时没有任何行动达到 `EFFECTIVENESS_VERIFIED`。A04 已写入文档，但演练观察仍不存在。PA 每周审核状态；验证失败时重新打开行动，不能改写原验证标准。`ACCEPTED_RISK` 必须记录授权人、理由和复查日期；PM081 当前没有使用该状态的行动。

## S09. 复盘议程与审批记录

建议的 60 分钟复盘：

1. 0–5 分钟：重申无责规则、证据规则与范围。
2. 5–15 分钟：核对影响分母与排除项。
3. 15–27 分钟：修正有证据支持的时间线。
4. 27–42 分钟：审核 C01–C07，包括未知与替代解释。
5. 42–54 分钟：接受、修改或拒绝 A01–A05 及其验证合同。
6. 54–60 分钟：回读负责人、日期、脱敏要求和审批条件。

当前审批状态为 `IN_REVIEW`。由于 SL 尚未审核 C02、DL 尚未审核 E09/A05、SE 尚未完成披露筛查，PA 没有将文档标为已批准。这种不完整是有意保留的，案例不会虚构审批权。

## S10. 后续台账

| 后续事项 | 截止日 | 所需证据 | 当前观察 |
|---|---|---|---|
| SL 审核 C02 | 2026-09-08 | 签署后的因果审核 | 截止时 NOT_OBSERVED |
| DL 审核 impact-v3 | 2026-09-09 | 查询审核与总数核对 | 截止时 NOT_OBSERVED |
| SE 完成披露筛查 | 2026-09-08 | 审核决定 | 截止时 NOT_OBSERVED |
| A04 演练 | 2026-09-15 | 操作记录与结果 | PROSPECTIVE，尚未执行 |
| PA 发布决定 | 必要审核后 | 审批记录 | 截止时 NOT_OBSERVED |

迟到证据应进入补充记录，标明受影响的结论编号并形成新的审批决定；原截止时间和旧状态继续保留。
