Skip to content

第 3 课

检查并诊断

诊断,是用固定的机械规则去检查规范的 DoclingDocument。命中了就记下来。 不修文档,也不拿比较视图当发现项的来源。

学完这一课

你要学会:怎么读一个发现项、严重程度到底是什么意思、证据为什么重要、 以及 NO_FINDINGS 只是"本规则集没命中",而不是"文档没问题"。

诊断不是判官

规则被刻意做得很窄。它们能识别的东西有限:替换字符、不该出现的标题 层级跳、重复文本、可以归一化的空白字符……但判断不了文档真不真实、 完不完整、合不合规、适不适合所有后续用途。

这种"窄"反而是优点。规则能下结论,前提是规范文档里确实有支撑结论的 证据。它不用去猜读者或下游系统喜欢什么。

把发现项当"带证据的断言"来读

一个发现项,包含:稳定规则标识符、显示名称、严重程度、受影响的文档 引用、规则专属证据。证据的形状随规则变化,因为每条规则撑的是不同的 断言。

拿空白字符发现项举例——它能指出具体哪些内容受影响、为什么触发了规则。 结构类发现项可能引用标题、偏移量或重复文本。严重程度是规则对问题的 固定分类,不是给你"可以改"的授权。

读发现项,按这个顺序来:

  1. 先看显示名称,知道报告了什么条件。
  2. 需要精确定位规则时,看稳定标识符,比如 D009。
  3. 严重程度是规则的固定分类,不是你的最终优先级。
  4. 在考虑改之前,看完证据和受影响的引用。
  5. 再看有没有受支持的修订器能处理这个发现项。

工作台的规则参考在第 2 步很管用——它列出所有固定规则、名称、严重程度 和检测条件。这是词典,不是评分卡。

NO_FINDINGS 的真实含义

NO_FINDINGS 是说:本轮准备,所有固定规则都没命中。不表示文档正确、 完整、合规,也不表示适合任何后续用途。

但这个结果仍然有价值。它记录了:哪个规范文档被诊断了、用了哪些规则、 结论是什么。工作台里,这轮的修订和修订版会被标记为"不需要"——因为 没有受支持的修改可供决策。诊断记录本身还在检查器里,随时可查。

诊断完,原样不动

诊断发布独立的不可变记录。来源、观察记录、规范文档——一样没动。 这样你检查发现项的时候,不会顺带把文档也改了。

当你不同意某条规则的结果时,这个分离就体现出价值了。你可以看完证据, 决定不修订,或者走别的流程。诊断记录始终老老实实地说:固定规则发现了 什么,仅此而已。

在工作台里试试

添加引导文档 whitespace-cleanup.md,点运行诊断。先别急着继续, 好好读一下 D009——显示名称、稳定标识符、严重程度、证据、"为什么 重要"的说明,逐一看过去。

打开检查器的"摘要"和"证据"标签页。摘要告诉你诊断结果,证据告诉你 这个结果是怎么来的。产物只在你有具体问题、需要看底层文件时才打开。

再添加 policy-memo.md,运行诊断。拿它的无发现项结果跟 D009 对比。 关键区别不是"好文档 vs 坏文档",而是"有固定规则命中了 vs 没有固定 规则命中"。

记住

证据回答"发生了什么"。改不改,是人决定的。别把两个问题混在一起。

下一课:决策并修订