# 新增条款编号缺失+不加粗 (2026-06-10 安全测试合同)

## 事件经过

1. **editor** 用 `add_clause` 新增"维权费用"条款（"因履行本合同发生争议的，违约方应承担守约方因维权产生的全部合理费用……"），插入在第十一条和原第十二条之间
2. 新增段落**没有编号**（缺"第十二条"），也没有顺延后续编号
3. **reviewer终审**（第3轮强制pass）未发现缺编号——尽管 `contract-reviewer` skill 明确要求检查
4. **Doro退回**："没有编号，你终审没核查出来"

## 第一次修复（编号正确但不加粗）

用XML直接在段落开头插入 `<w:ins author="WB">` 元素：
```xml
<w:ins w:author="WB" ...>
  <w:r>
    <w:rPr>...</w:rPr>  <!-- 从同段落另一个WB INS的rPr复制 -->
    <w:t>第十二条  </w:t>
  </w:r>
</w:ins>
```

同时把原P99的WB INS "第十二条"改为"第十三条"（该段落原本是"第十一条"被editor改为"第十二条"，现在需要再改为"第十三条"）。

**问题**：复制的rPr来自同段落正文内容的INS（不加粗），而原文所有"第X条"标题都是加粗的。

## 第二次修复（加粗）

定位P98中包含"第十二条"文本的WB INS run，给其rPr补上 `<w:b/>`：
```python
rpr = r.find(qn('rPr'))
if rpr is not None and rpr.find(qn('b')) is None:
    etree.SubElement(rpr, qn('b'))
```

## 根因分析

1. **editor层面**：`add_clause` 的 `suggested_fix` 中没有包含编号。reviewer给的建议是"建议增加：因履行本合同……"，没有写"第X条"编号
2. **reviewer层面**：终审时规则明确要求"逐个检查每个WB INS段落是否以编号开头"，但执行时跳过了
3. **手动修复层面**：插入编号时应该从**相邻条款标题**的rPr复制（含bold），而不是从同段落正文内容的rPr复制

## 改进措施

1. `contract-reviewer` skill 的编号检查项增加了"编号加粗一致性"必检子项
2. `scripts/wb-ins-font-verify.py` 增加了Phase 2: Title bold consistency check——收集所有"第X条"模式的bold状态，不一致的标为issue
3. reviewer的suggested_fix对于新增独立条款，必须包含完整编号（如"建议增加第X条：……"），不能只写正文内容

## 受影响文件

- `contract_docx_lib.py` 的 `add_clause` 方法：本身无bug，是调用时suggested_fix没带编号
- 安全测试合同最终交付版：第十二条（维权费用）编号加粗，第十三条（原第十二条生效条款）编号已顺延
