Rule — 能力存在性三态判定¶
触发场景:任何时候你要下「本项目有 / 没有 X 能力」这个结论 —— 立项评估、审查报告、回答「我们支持 X 吗」、判断某需求是改造还是新建。
判据一句话¶
「按名称 grep 到 / 没 grep 到」和「能力已被证明存在 / 不存在」不是同一个证据等级。
三态(结论只能是这三种之一,不许有第四种措辞)¶
| 态 | 何时用 | 措辞模板 |
|---|---|---|
| PRESENT | 四段矩阵中「入口」与「可见副作用」两段都有命中 | 「存在且被调用:<入口 file:line> → <副作用 file:line>」 |
| ABSENT | 四段全空,且已跑完下方 5 类关键词 | 「不存在。已查关键词全集:A/B/C/D/E,均零命中」— 必须列出全集 |
| UNVERIFIED | 任何一段查不动,或 5 类关键词没跑全 | 「UNVERIFIED — 卡在 <哪一段>,已查 <哪些>」 |
🔴 默认态是 UNVERIFIED,不是 ABSENT。 没跑完 5 类就下 ABSENT = 违反本规则。 🔴 「库不存在」≠ ABSENT。库没有但自研有,属 PRESENT,措辞必须是 「第三方库不存在;自研实现存在于 X:行」。
四段覆盖矩阵(下 ABSENT 前四段都要有「已查且为空」的证据)¶
| 段 | 问什么 | 怎么查 |
|---|---|---|
| 入口 | 用户/调用方从哪触发? | UI 文案(中文按钮名)、settings 开关、message handler、alarm 注册 |
| 数据形态 | 中间产物长什么样? | 承载它的类型定义 / storage key / 表字段 |
| 写入 / 覆盖 | 结果落到哪? | 反查真实写库点、导出点、上传点 |
| 可见副作用 | 用户能看到什么? | 渲染组件、下载文件名、日志、导出列 |
任何一段有命中 ⇒ 不能写 ABSENT。
5 类关键词(下 ABSENT 前全部跑过并在结论里列出)¶
- 库名:
turndownlibphonenumberhtml2canvas - 平台 API 名:
captureVisibleTabtoDataURLchrome.dnsresolveMx - 自研动词 + 领域名:
exportXxxtoMarkdownconvertXxxrenderXxxformatXxx - 中文 UI 文案:
导出截图识别解析— 本仓这条最容易漏,按钮名是中文 - 文件名:
find src -iname "*keyword*"
本仓实证(2026-08-30)¶
一次对抗审查中,主控用 grep -ril 'turndown' 零命中,下结论「Markdown 转换完全不存在」。
跨厂商审查方 dshf 换第 3、4 类关键词后推翻:
src/utils/fetch-snapshot.ts:231 export function exportSnapshotsAsMarkdown(...)
src/sections/page/fetch-snapshot-list.tsx:103 导出 Markdown ← 真实 UI 按钮
库确实没有,能力确实有 — 自研实现,正态是 PRESENT。
⚠️ 同轮另一家审查方 terra 搜了 toMarkdown / htmlToMarkdown / remark 也没搜到
——两家里只有一家抓到。⇒ 换变体本身不保证,必须走满四段矩阵。
同轮 16 个同模型族 agent 全部漏掉 —— 方法缺陷会被整族继承,换视角不换方法治不了。
反模式¶
❌ grep -ril '<库名>' 零命中 → 写「不存在」
❌ 只查英文标识符,不查中文 UI 文案
❌ 把「没有第三方库」等同于「没有这个能力」
❌ 用一次 grep 的结论去支撑「这是从零新建」的成本估算 — 估错方向的代价是整个 Phase 排期
❌ 写「全域零命中」这种全称断言却没列出查过的关键词全集
自指条款(这条不能省)¶
本规则同样约束引用本规则的文档。 任何文档写下 ABSENT 结论时, 必须在同一处给出 5 类关键词的查证记录;给不出就改写成 UNVERIFIED。
同一天内,写下本规则的主控自己违反了它三次:
# 违反形态 谁抓到 1 SPEC-010-current-defect-triage §3 用未满足本规则的证据下了 5 条 ABSENT terra(落档前审查) 2 断言「 MapTaskData.sync无云端消费方」,实际只 grep 了新管线cloud-sync-orchestrator.ts,漏了旧通道cloud-data-sync.tsx:39,71—— 据此错误降级了一个真 P1sonnet5(第四轮) 3 修订 §3 时直接写下未跑过的 grep 结论(声称 it(零命中,实际 76 次;编造中文关键词的命中位置)主控自查,落档前改正 「实现某道防线的动作,往往落在这道防线自己覆盖不到的地方。」 第 2 条尤其典型:它发生在「查一个能力有没有消费方」这个场景,而本规则的四段矩阵第三、四段 (写入/覆盖、可见副作用)正是为它设计的 —— 作者知道规则,仍然没对自己用。 ⇒ 自查不能替代外部审查;本规则的合规性必须由不写这份文档的人来验。
为什么单立一条¶
这类错误不会报错、不会被闸拦、不会被同族 AI 发现,却直接决定 「这项功能是改造还是新建」,进而决定排期、优先级和方案取舍。错一次就是整个 Phase 的方向错。
沉淀自 2026-08-30 terra(openai) + dshf(deepseek) 跨厂商双路对抗审查 —— 两家独立收敛到同一条方法学结论。