Files

51 lines
2.5 KiB
Markdown

# 新增条款编号缺失+不加粗 (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没带编号
- 安全测试合同最终交付版:第十二条(维权费用)编号加粗,第十三条(原第十二条生效条款)编号已顺延