# Devlog · G9a 复审修复 + G9c 标题分级:MHS 0.597 → 0.680

> 日期:2026-06-10 · review 驱动:复查 G9a 发现"标签语义只用了一半"

## 一、标签否决(review 发现,本轮最大单项收益)

H* 强制标题只是标签语义的一半——**P/Figure/Caption/TD/TOCI 等角色是作者声明的"非标题"**。amt 的 MHS=0.000 正是两个 figure-label 被几何法误判(ODL 判 0 个)。加 `is_nonheading_tag` 否决后:**amt MHS 0.000 → 1.000**,聚合 **0.597 → 0.680**(G9 验收门 ≥0.65 达标)。同时修复 `demote_heading_runs` 会误降级连续标签标题的问题(目录页场景,author-declared 永不降级)。

## 二、G9c 标题分级

- `Block.level`(1–3 几何档/1–6 标签档):tagged 取 H 数字;几何标题按**文档级字号档位**(0.5pt 桶,降序映射,深档并入 3);
- Markdown 输出 `##`/`###`/`####`(单 `#` 留给文档题);
- **诚实修正**:我此前说"分级使 MHS 受益"是错的——MHS 是标题文本集 F1 不看层级;分级的价值在 markdown 输出质量与下游消费,记分牌收益来自上面的标签否决。

## 终态

98 单测(+1)、clippy 零 warning、三件套零回归。记分牌:vs ODL NID 0.780 / **MHS 0.680** / TEDS 0.128;vs Docling 0.818/0.634/0.157(amt 不在其集,MHS 不变)。
已知边界:几何分级深档并入 3(2203 的 4. 与 4.1 同级);标签层级与几何档位不互校。
