SuperAPI AI 工具集

triage-e2e-test

测试与质量

查看项目

更新于 10-16 03:44

技能介绍

用途:针对 Positron 中已在 CI 失败或 flaky 的某个端到端测试进行分诊。入口是测试名而非 CI 运行,先找出该测试近期不同的失败模式,再选一个深入调查,验证根因机制,最终落到“修测试”还是“提 bug”并执行对应动作。该技能是编排器,确定性逻辑放在 scripts/,详细流程放在按需读取的 references/。

必要前提:E2E_INSIGHTS_API_KEY 已设置或位于仓库根目录 .env.e2e(查询脚本会自动回退),PATH 中需有 Node.js 与 unzip。

主要脚本(在仓库根目录运行):triage-history.js 取失败模式;find-prior-triage.js 查该 spec 是否曾被分诊;fetch-pattern-evidence.js 拉取某模式一次代表性发生的证据;checkpoint.js 启动/恢复/查看状态;record-diagnosis.js 追加诊断块,用于解锁 phase=done。

启动:/triage-e2e-test "<test>";恢复:/triage-e2e-test --resume <triage-id>;查看:/triage-e2e-test --status。新分诊时先把测试解析为 testName|||specPath 键,运行 triage-history.js(默认 lookback 14 天),按 verdict 决定继续或停止,然后 checkpoint.js --init 初始化,再查先前分诊。多个失败模式时以表格呈现并让工程师选择,一次只调查一个。

调查与修复:先取代表发生并只读 summary.md,升级证据前须写出 Question/Next artifact/Reason 块,一次一个证据块;根因需引用观察证据并列出被排除的替代解释;开局修复方案需先与工程师达成一致再编辑。实现前经 phase=awaiting-clear 清空上下文后恢复,仅携带紧凑诊断。

收尾:必须声明结果并记录诊断,否则 checkpoint 不允许 phase=done。结果有 fix-test、fix-product、file-issue、no-op 四种,分别记录到 PR、issue 或 checkpoint。

硬性限制:零运行不等于干净结果;不得擅自为未选模式取证;不得用增大超时或任意等待作为修复;不得凭一次绿灯断言 flaky 已修复;已合并的修复须对照后续失败验证。资料未提供技能在各平台的通用性、价格或与其他工具集成等细节。