第十九部 生产实践与综合项目
第 112 章 QC 与事故响应实践:发现问题只是开始#
QC 岗位要把观察转成证据、严重度、根因、路由和回归。事故负责人则在错误逃逸后停止扩散、恢复服务并修复系统控制。实践使用一条故意植入 18 个问题的 E004 Release Candidate。
112.1 质量事故职责边界与五层盲检#
职责边界。
QC 可阻断发布、创建 Issue、要求证据和验证关闭;不能越权改故事或批准权利例外。事故负责人协调技术、创作、法务和运营,保存事实时间线,不先寻找个人责任。
输入是 RC、契约、状态、权利和规格;输出为 Findings、Issue、回归、发布决定和事故报告。
五层盲检。
故事层植入角色提前知道秘密;连续性层植入左腕手表镜像和文件持有者错误;视听层植入口型、音乐遮挡和字幕断句;技术层植入响度、黑帧和错误帧率;权利层植入到期音乐与未批准字体。
QC 负责人先独立检查,再看自动报告,防止工具决定注意方向。
Issue 写法。
每条包含时间码、观察、预期、证据、严重度、责任层、建议路线和回归范围。“感觉不高级”不成立。多个镜头同一身份根因应聚合。
Blocker 由事实、权利、安全和显著身份决定,不由修复难度决定。
112.2 根因路由、回归集合与发布决定#
根因路由。
字幕金额错误先查 Fact Registry 与图形源,不在成片直接改一个字;持有者错误查状态、Take 验收和剪辑选择;音乐过期查权利依赖和发布门禁。
修复最早错误层,避免局部补丁留下其他派生。
回归集合。
修字幕需查所有语言和素材;换 Take 需查动作接口、音乐、口型、时长和图形;换音乐需查 Cue、混音、权利和全部平台包。QC 负责人用依赖图生成最小充分回归。
只复看修改点或全片无差别重审都不是成熟策略。
发布决定。
Blocker 必须为零。Major 需修复或由有权限者签例外,权利和关键事实不可豁免。Release Candidate 不可变,任何修复产生新 RC。
QC 负责人提交批准、拒绝或附条件决定,并引用证据。
112.3 事故注入、复盘与验收#
事故注入。
演练主持人在“发布”后告知旧版字幕已上传到测试平台。QC 负责人停止分发、保存平台回执、确认影响、切回正确版本、通知责任方并建立时间线。禁止先删证据。
随后查为何 Manifest 校验没有拦截,而不是只责备上传人。
事后复盘。
报告分事实、影响、检测、响应、恢复、根因、逃逸控制和改进。每个改进有负责人、期限、测试和回滚。只写“加强沟通”不能算作有效改进。
复盘关注接口为何允许错误,不公开羞辱个人。
验收与交付。
发现覆盖 20%;Issue 证据 15%;严重度 10%;根因和路由 15%;回归 15%;发布决定 10%;事故响应 15%。漏掉权利 blocker,整项交付直接验收不通过。
- 自动与人工结果独立保存。
- 问题有可观察证据。
- 修复回到最早责任层。
- RC 修改产生新版本。
- 事故改进有回归测试。
交付:qc_findings.jsonl、issues.csv、regression_sets.yaml、release_decision.json、incident_timeline.csv、postmortem.md、remediation_tests/。
112.4 事故时间线、沟通与生产复盘#
模拟事故时间线。
10:02 测试平台发布,10:11 运营发现字幕金额为 4.30 亿而非 4.80 亿,10:13 停止流量,10:16 保存平台回执与错误文件,10:20 确认只有英语烧字幕版受影响,10:27 回滚到上一 RC,10:41 正确版本通过预览,11:05 恢复小流量。
QC 负责人最初想直接替换远端文件,演练主持人要求先冻结证据。根因不是翻译员打错字,而是英语图形导出绕过 Fact Registry,发布检查只对文件名,不对 OCR 与 Manifest。修复包括所有语言图形字段绑定事实、发布前 OCR、远端哈希核对和该错误加入回归。
另一项身份小痣漂移被自动评测漏掉、人工发现。QC 负责人没有立刻降低阈值,而是检查评测器在背光下置信度低却返回 pass。协议改为低置信进入 review,评测器影子运行一周后再启用阻断。
事故沟通。
对客户说明已知事实、影响范围、当前安全状态、下一更新时间和临时措施,不猜测责任。内部技术细节与外部通知分层,但不能隐瞒错误版本已短时可见。
演练主持人点评:QC 的价值不按发现数量,而按关键错误逃逸率、路由准确和关闭证据。事故响应的价值则是让错误停止扩散,同时保护调查事实。
生产现场复盘。
演练主持人展示五条 Issue,让 QC 负责人重新判断严重度。其中包括视觉明显但不影响故事的背景瑕疵、很小却改变合同金额的文字、角色小痣漂移、过期音乐和 80 毫秒口型差。QC 负责人必须依据观众、商业、权利和发布后果解释,不按修复难度排序。
第二题给出同一根因造成的十二条发现,要求聚合、选择最早修复层并设计回归。第三题模拟客户要求带 blocker 发布,QC 负责人应指出自身权限、可选路线与不可豁免项目,而不是用“客户说了算”放行。
事故现场复盘要求在未知信息下先声明事实与假设,选择停止范围,保存证据,再恢复。演练主持人会提供误导线索,QC 负责人不得把早期猜测写成根因。最终证据包含发现时间、响应时间、远端状态、影响对象、修复提交、回归和通知。缺少关闭证据的 Issue 仍是开放状态。
复核者会随机重开一项已关闭 Issue,依据原证据重新执行回归。若关闭依赖审片者记忆、不可获得的临时文件或一句“确认没问题”,该项不得计入已修复。
复核结果写入原 Issue 的关闭历史,保留执行人、时间、输入版本和证据校验和,不能另建一份与问题脱离的报告。