用途
paired-probe 用于检验“检查本身是否有效”。一个检查如果在故障存在和不存在的两种情况下输出相同内容,那它实际上没有测量任何东西,但它仍会返回一个看起来像证据的答案,并可能被据此采取行动。本技能让这种“盲检”以显式失败的方式暴露出来,而不是静默地给出错误结论。
适用时机
在报告以下任何结论之前,因为这些都是判定性结论:
- “没有发现问题”“全部干净”“无失败”“可以安全删除”
- 覆盖 N 个条目的扫描、审计或状态汇总
- 刚刚变绿的安全或 CI 门禁
- 任何你预期会失败、结果却通过的检查
尤其是在结果出乎意料地通过时,应立刻使用。意外通过是成本最低的信号,说明发生变化的是测量工具,而不是客观世界。
三道门
| 门 | 问题 | 它能捕获的失败 |
|---|---|---|
| Differential(差分) | 故障不存在时它输出什么? | 两种情况输出完全相同的探测 |
| Non-empty(非空) | 它实际检查了多少个条目? | 测量了零个却报告为干净的扫描 |
| Exit-aware(退出感知) | 探测本身是否运行了? | 错误被吞掉、却打印出成功 |
“无法观测(could-not-observe)”是第三种结果,绝不并入任何一种判定。
使用方式
差分模式:先制造故障,再移除故障,两个分支的输出必须不同。
scripts/paired-probe.sh --name "retired model pin fails the gate" \
--present "printf 'model: claude-opus-4\n' > wf.yml && bash tests/ci/lint.sh" \
--absent "rm -f wf.yml && bash tests/ci/lint.sh"
单次模式,当故障无法被制造时(例如实时扫描):
scripts/paired-probe.sh --name "worktrees examined" \
--measure "git worktree list --porcelain | awk '/^worktree /{print \$2}'" \
--min-count 1
退出码:0 表示具备区分能力或满足计数,1 表示 BLIND(盲检),2 表示用法错误,3 表示无法观测。
为什么需要它
来自单次会话(2026-08-21)的四个探测示例,每一个都自信地给出错误结果,且没有一个显式失败。其中三个是由其他人而非检查本身发现的:
| 探测 | 它问了什么 | 它为何说谎 |
|---|---|---|
| “这个分支推送了吗?” | 本地引用缓存 | 未拉取和从未推送会输出相同内容 |
| “分支在 origin 上吗?” | 远程分支列表 | squash 合并会删除头分支,已落地的工作会被读成丢失 |
| “这个工作树持有独特的工作吗?” | diff main HEAD | 对称比较,导致一个过时树会把 main 与自身对比标红 |
| “有工作树面临风险吗?” | 对某个被阻塞的临时文件做循环 | 写入失败,` |
以上每一个都会在几秒内被第 1 或第 2 道门拦下。
可推广的规则
在信任一个工具的沉默之前,先问:这个工具在结构上无法观测到什么?工具报告的是它所查询的通道,而非现实本身:是本地缓存而非远程,是整个文件而非 frontmatter,是代理而非源头。当答案是零或空集时,正是应当检查该通道的时刻,因为零也是损坏的工具会返回的结果。
相关技能
- ork:verify 评价已完成的工作;本技能评价检查本身。
- ork:quality-gates 用于在确认存在真实缺陷后进行升级处置。