- commit_ref 增括号裸短哈希形态((62cfbe0)),要求含 [a-f] 排除纯数字业务编号 - old_new 增「与历史/原来/原先/之前/以往…一致/相同/对齐/保持」对比句式 - scheme_debate 增括号决策标签((决策 A)/(方案 2))——仓库外决策记录的悬空引用 - 语料补 6 条人工判例(3 正例 P1、3 反例不告警);实测三仓 1.8 万注释仅 新增 1 条真阳性(「构造方法(略,与之前一致)」),零误报
人工判定样例库(corpus)
带人工判定期望结果的注释样例库,用于衡量 cmr 的误报与漏报,防止调一条规则误伤另一类注释。功能正确性由 test/review.test.js 覆盖;本库回答的是"判定对不对"。
样例来源
绝大多数样例摘自 zhgl / zhywgl 前后端四个真实仓库的审查报告(reports/*.md),少量为支撑判定路径的合成样例(CorpusMoved.java 及 docs/、shared/、api/ 下的支撑文件)。
分类与期望
expected.json 每条目:{ file, line, category, severity, note }。line 为注释起始行;severity: null 表示不得列为候选。
| category | 含义 | 期望 |
|---|---|---|
process_record |
过程记录(日期戳、评审历程、归因、演变叙述、确认失效引用) | 必须列为候选,且级别一致 |
business_constraint |
业务约束(生效日、兼容要求、版本化业务对象、库能力锚定) | 不得列为候选(误报即回归) |
normal_note |
正常说明(数据事实、连接示例) | 不得列为候选 |
needs_verify |
待核实(外部路径、构建产物、跨仓/裸文件名、混中文描述) | 必须以 P1 待核实列出,附查找依据与近似候选 |
维护规则
- 新增样例:在
Corpus*.java|ts|vue|sql|yml|sh中追加注释(用代码行隔开,避免合并成一条),在expected.json登记file:line与人工判定。判定必须先于工具输出写下——先跑工具再抄结果是循环论证。 test/corpus.test.js会校验:每条期望都指向真实注释;判定完全一致。失败时按记分卡逐条定位(FP=误报、FN=漏报、SEV=级别不符)。- 判定本身可修订:如果事后认定某条
severity判错了,改expected.json并在note写明理由,与当次提交一起评审。 - 样例库不放争议样例(如 SQL 迁移文件头部的版本声明):没有把握的判定进不了门禁。
docs/、shared/、api/ 下的支撑文件用于制造引用判定的结构性证据(目录存在、同名文件在别处、真实带日期文档),勿删。