用途:在排查失败的 PR CI 流水线或检查 PR 健康度时加载,对每个失败作业归因并提出处置动作。
必要用法:依赖 dd-pup 技能(pup CLI 已安装并认证)和 triage-flaky-test 技能(用于 flaky 深入排查)。后端在每次调用开始时检测:命令行传 --backend pup 则用 pup 模式;否则检查是否存在 search_datadog_ci_pipeline_events 工具,有则用 MCP 模式;都没有再检查 pup --version 是否成功,成功则用 pup 模式;均不可用则提示连接 MCP 服务器或执行 brew install datadog-labs/pack/pup。pup 经 Bash 调用,输出 JSON;传给 pup 的仓库 ID 必须全小写(如 github.com/datadog/my-repo);401/403 时提示运行 pup auth refresh 或 pup auth login。
主要能力与流程:解析输入(从 git remote get-url origin 和 git symbolic-ref refs/remotes/origin/HEAD 推导仓库与默认分支);并行获取 24 小时内流水线失败与测试失败(含 PR 健康:覆盖率、质量、安全);对每个失败作业做 blame guard(是否默认分支已失败、是否多分支失败);按优先级归因,并用结果判定 infra/flaky/regression/unknown;输出每个作业的分类、证据、置信度和建议,以及 PR 健康三行;按分类提出动作:regression 提示自查代码;flaky 加载 triage-flaky-test 深入排查;infra 判断是否为瞬时错误(超时、runner 不可用、网络错误、配额超限),瞬时则可重试(MCP 模式用 retry_datadog_ci_job,pup 模式用 gh run rerun <run_id> --failed),确定性错误建议查根因,默认分支已有问题则等上游修复;unknown 建议查看原始日志。
限制:pup 模式不支持 PR 号解析与 search_pr_insights,质量与安全显示 No data available;Blast radius 查询慢或超时可跳过,仅依赖默认分支检查;资料未提供价格、平台覆盖范围或效果保证等信息。