Repository navigation
v0.3 — 修正标题通道子串误命中(build_test 87.9% → 85.7%)
v0.3 — 修正标题通道的子串误命中(ruleset_v0.1.3)
数据集 v0.3(规则集 ruleset_v0.1.3)。字段与行数都不变(558 行 × 30 列),
只有判定规则变了——所以不要把 v0.2 与 v0.3 的数字放进同一张表。
修了什么
taxonomy.py 的标题通道原是 if k in heading.lower()——纯子串,没有词边界:
ci命中De**ci**sions/Prin**ci**ples(一批没有构建内容的章节被算成"构建测试")script命中Type**Script**、build命中allow**Build**s、review命中p**review**- 另有一类不是子串、但同样误命中:裸词
make是普通英文动词,Make changes也算"构建"
修法(两处,都不动语料、不动九类定义):
- 词首匹配:命中点必须落在词首,连字符算词边界(
commit仍命中Pre-Commit)。
词首前缀命中保留(convention→Conventions、boundar→Boundary、test→Testing)。 build_test删掉裸词make,只留makefile与具体目标(make build/make dev…)。
依据:511 份里 12 个标题命中裸词,逐条看 7 份是散文,只有 5 份真是构建工具。
影响(511 份可用样本)
| 类别 | v0.2 | v0.3 | 差 |
|---|---|---|---|
| 构建测试 | 87.9% (449) | 85.7% (438) | −11 份 |
| 流程 | 66.1% (338) | 65.9% (337) | −1 |
| 环境 | 44.8% (229) | 44.4% (227) | −2 |
| AI行为 | 36.8% (188) | 36.4% (186) | −2 |
| 架构 | 59.9% (306) | 59.7% (305) | −1 |
| 风格 | 56.9% (291) | 56.8% (290) | −1 |
| 禁令 / 概览 / 坑 | — | 不变 | 0 |
- 23 处 (文件, 类别) 组合的标签只靠误命中撑着 → 18 处实际掉标签,无一例新增
- 其余 5 处被正文规则或强模式通道兜住:标签仍成立,只是证据列变干净
("证据错了"和"标签错了"是两件事,本项目分开判)
方向与排序完全不变:build_test 仍是第一名、仍明显领先第二名(65.9%)。
一处自我更正:84.7% → 85.7%
09-12 我把 build_test 的修正值说成 84.7%(433/511)——那个数是错的,
正确值是 85.7%(438/511)。
错因:我拿审计脚本打印的"误命中组合数(构建测试 16 处)"直接相减,
当成"会掉标签的文件数"。实际掉标签的是 11 份(另 5 处被兜底通道救回)。
推算出来的幅度不能直接进对外文案——教训与全过程写在 LIMITATIONS.md §11.4。
其他修正
extract_report.md的类别分布原先按 518 份(实质)算,与category_coverage()的
511 份口径差 7 份;现统一- CLI
stats/compare/brief的覆盖率由整数改为一位小数:
整数取整会把 85.7% 印成 85%,与对外文案对不上 work/substring_audit.py改为对出错的那版快照跑,并同时输出
"误命中组合数"与"实际掉标签数"(两者混用正是上面那次推算错误的根源)- 新增
work/dataset_diff.py:任意两版数据集逐行比差集
复算
pip install -e . # 或 pip install git+https://github.com/janzong/agent-charters
agent-charters stats # 应打印 build_test 85.7%
python work/dataset_diff.py --old data/processed/agent-charters-v0.2.parquet \
--new data/processed/agent-charters-v0.3.parquet --out /tmp/diff.md测试:51 passed + 1 xfailed(新增"词中命中不许打标签/词首前缀必须打标签"两组参数化锁)。
资产
agent-charters-v0.3.parquet—— 主数据集(558 行 × 30 列,zstd)agent_charters_v0.3.jsonl—— 同内容的行式版SHA256SUMS—— 含 v0.2 与 v0.3 两份的校验和(v0.2 资产继续保留,不静默替换)
v0.2 的数字请继续按 v0.2 引用;v0.3 起对外一律用 85.7%。