@lionelvatt-troubleshoot-workflow工作流公开更新于 2026年7月17日

Vatt(Electron+React+TS+MLT 视频编辑器)通用问题排查工作流:受理分诊 → 复现路由 → Crash/日志证据链 → 根因假设与最小验证 → 根治修复 → 回归验收 → 复盘沉淀。融合 systematic-debugging 铁律、facio 日志 SOP 与 crash dump 解析,内嵌 8 处用户停点与 3 次失败熔断。

0收藏0Fork0复制

工作流

只读 · 数据自左向右流动

产物

暂无产物。作者可在编辑页上传该 prompt 的运行效果示例。

README

README.md

Vatt 通用问题排查工作流

从一条模糊的问题报告到根治修复 + 复盘沉淀的完整排查流水线。骨架取自 systematic-debugging「先根因后修复」四阶段纪律;证据层取自 troubleshooting-facio-logs 日志 SOP 与 crash-debug 的 dump 解析;停点/关卡设计沿用 vatt-feat-dev-workflow 的经验。

适用场景

  • Vatt(video-editor-next)的 Bug、崩溃、性能/内存、日志埋点、导出/播放类问题排查
  • 需要 agent 严守「无根因不修复」纪律、证据先行、禁止盲修的场景
  • 不适用:需求开发(用 vatt-feat-dev-workflow);纯环境问题(worktree/依赖装配)

步骤总览

| # | 节点 | 路径 | 绑定 |

|---|------|------|------|

| ① | 问题受理与初步分诊 | 主路径 | — |

| ② | 复现与分类路由 | 主路径 · 路由 | Crashpad dump 检查 |

| ③ | Crash 证据链 | 条件触发 | docs/rules/crash-debug.md |

| ④ | 日志证据链与时间线 | 主路径 | troubleshooting-facio-logs |

| ⑤ | 根因假设与最小验证 | 主路径 | systematic-debugging、react-rerender-memory-guide |

| ⑥ | 根治修复(先失败测试) | 主路径 | test-driven-development、checklists.md |

| ⑦ | 回归验证与用户验收 | 主路径 | verification-before-completion |

| ⑧ | 复盘沉淀 | 主路径 · 终点 | flow skill(可选) |

强制用户停点(agent 禁止擅自决定)

  1. 时间只有「刚才/今天」必须问到钟点;复现步骤、环境缺失必须问用户,禁止臆造
  2. 无法复现禁止硬猜根因——要更多信息,或经用户确认走「不可复现路径」仅做证据收集
  3. 堆栈全在 libmlt/libmltsdl2 → SDK 层 bug,报备用户决定是否通知 SDK 维护者,禁止应用层绕行补丁
  4. 报告时刻附近无相关日志行 → 停下重选文件或向用户要准确时间,禁止硬猜
  5. 动手改代码前必须向用户陈述根因假设并获认可;累计 3 次修复失败 → 熔断,与用户讨论架构,禁止第 4 次盲修
  6. 修复涉及用户可感知行为变更或超出问题范围 → 先确认;完整 diff 未经确认禁止 commit/push
  7. 用户可感知的症状必须由用户复验并给出结论,禁止代用户宣布「已修复」
  8. 写文档、改 checklist、建 flow 记录均为写操作,列建议清单经用户同意后执行

变量表

| 变量 | 形式 | 默认值 | 说明 · 出现节点 |

|------|------|--------|----------------|

| {{问题描述...}} | 多行 | 示例:播放含大量字幕的项目时内存持续膨胀 | 症状:功能/预期/实际 · ① |

| {{问题发生时间}} | 单行 | 示例:2026-07-17 14:05 +08:00 | 选启动日志的依据,必须到钟点 · ① ④ |

| {{运行环境=dev|打包版}} | 选项 | dev | 决定日志/dump 路径与可否加诊断日志 · ① |

| {{日志路径}} | 单行 | 无 | Report Problem 的 logFilePath,有则最高优先 · ④ |

使用注意

  • {{…}} 在网站上不渲染表单,复制 prompt 后手动替换
  • 图上无条件分支与环:③ 的条件执行写在其 prompt 首行;⑦→⑤ 回路与 ⑤ 的 3 次失败熔断以节点内指令表达
  • 修复代码若需合入 main,本工作流到 ⑧ 为止,衔接 vatt-feat-dev-workflow 的 ⑧准入⑨审查⑩PR,不重复维护
  • 深度绑定 video-editor-next 的排障文档与 skill 集,移植需替换对应引用

反模式

  • grep 所有 app-*.log 挑最吓人的错误 —— 先按报告时间锁定唯一启动日志
  • ERROR/WARN 词命中当因果 —— 必须有时间戳交接连到症状路径
  • 混合进程/模块下结论 —— main.*/ui.*/domain.*/engine.*/sdk.* 分行记录
  • 「先快速修一下回头再查」 —— 症状修补即失败,铁律是先根因后修复
  • 多个改动一起上 —— 无法归因且引入新 bug,一次只验一个变量
  • CppGC/内存膨胀先怀疑 C++ 泄漏 —— 先查 React 高频订阅与 memo 击穿
  • 文件 mtime 当证据 —— 以文件名 UTC 时间戳 + 文件内时间线验证为准
  • 3 次失败后第 4 次盲修 —— 停下质疑架构,找用户讨论