gitlink-cli/skills/gitlink-shared/examples/maintenance-evidence-v2.md

3.0 KiB
Raw Blame History

维护证据 v2 使用示例

这个示例展示一次扫描如何被五个 Skill 复用,而不是让每个 Skill 重复请求接口或输出整份原始数据。

每次执行先建立运行键,例如:

gitlink-code-review:Gitlink/gitlink-cli:123:abcdef1:executive

同一运行键只生成一次报告;只有 PR head、Review、CI 或维护者策略变化时才重新评估。

1. 固定证据时间点

$asOf = "2026-07-20T12:00:00Z"
gitlink-cli workflow +review-queue `
  --owner Gitlink --repo gitlink-cli `
  --as-of $asOf --stale-after-hours 72 `
  --format json > queue-current.json

如果要比较上一轮,把 queue-current.json 作为下一轮的 --previous 输入。队列首屏只保留新增、优先级变化、风险变化和超 SLA 项,稳定项保留数量。

2. 获取单条 PR 证据

gitlink-cli workflow +review-context `
  --owner Gitlink --repo gitlink-cli --number 123 `
  --include-commits=true --include-ci=true `
  --format json > pr-123-context.json

审查 ci_summary 时遵循以下判定:

  • match_mode=sha:优先级最高,只统计当前 PR head SHA 对应的构建。
  • match_mode=branch:仅在没有可用 SHA 匹配时接受,并在报告中降低置信度。
  • matched=0match_mode=none/unavailableCI 为 not_run,不能写成通过。
  • unmatched:只表示本次列表中未关联的构建,不是失败数。

3. 五个 Skill 的最短交接

Skill 首先读取 产生的动作
gitlink-code-review filesreviewsci_summarynotes CR- 代码、Review 履约、测试和安全发现
gitlink-pr-integrator ci_summary、本地验证、changes IN- 集成门禁
gitlink-pr-topology changes、候选 PR 的文件和分支 TP- 依赖与重叠关系
gitlink-maintainer-radar waiting_hoursstalewaiting_on、reviewer 数量 MR- 今日待办
gitlink-cli-contract-guard --help、可选 JSON 字段、错误输出 CG- 契约问题

组合报告只在首屏展示最多 5 个动作,原始响应、完整 diff、未匹配构建和未执行项放入附录。任何 Skill 单独运行时,都必须把未纳入的其他维度标为“未检查”。

4. 自动 Review 的安全边界

只有报告证据完整、PR 仍为 open、当前运行键没有已发布报告、没有 blocking/高风险安全发现,并且评论只包含事实和建议时,才可以由外层 runner 自动发布建议性 Review。以下情况只生成草稿CI 未关联当前 head、工作树 SHA 不一致、关键测试未执行、数据过期或责任方不明确。五个 Skill 都不能自动合并、关闭、拒绝或修改权限。

5. 最小自检

$json = Get-Content -Raw -Encoding utf8 .\pr-123-context.json | ConvertFrom-Json
if ($null -eq $json.sections) { throw "missing sections" }
if ($json.ci_summary.match_mode -in @("none", "unavailable")) { Write-Output "CI not_run/partial" }