# 审查意见文档格式规则 (2026-07-13 Doro纠正)

## 规则来源
朱家角 review-rules.md "审查意见格式要求" 章节 (2026-07-13 更新)

## 规则内容

### 1. 删除表格中的空白行
- "空白行"指的是审查意见表格中**三列全空**的行（条文/原文/修订后都没有内容）
- 不是正文段落的空白行——正文段落空行是排版问题，表格空行才是Doro说的"删除空白行"
- 2026-07-13教训：Doro说"删除空白行"，小Maggie误解为删正文段落空行，被纠正后才看到是表格Row1-Row4全空

### 2. 页眉日期改为修订当日
- 审查意见模板页眉中有日期（如 header2.xml 中 "2019/3"）
- 生成审查意见时必须更新为**修订当日**的年/月（如"2026/7"）
- 注意：页眉中的日期可能拆分在多个run中（如"201"+"9"+"/"+"3"），需逐run定位修改

### 3. 标题必须用合同正文全称
- 规则："标题《》内填写所审查的合同名称"
- "合同名称" = 合同正文第一段的标题（如"医疗设备器械购销合同"），**不是文件名**
- 文件名可能是简写（如"医疗合同(2).doc"），但审查意见标题必须写全称
- 2026-07-13教训：文件名"医疗合同(2)"，合同正文标题是"医疗设备器械购销合同"，审查意见标题应为"关于《医疗设备器械购销合同》的审查意见"

## Workflow重复处理检测（2026-07-13 香花桥安全生产合同教训）

### 问题
待审查目录的文件可能**已含WB tracked changes**（上一轮workflow产出被放回了待审查）。workflow不做去重检测，会在已有修订上再跑一遍，导致：
- 文字重复（如"全部损失全部损失"）
- 相同内容被双重标记为INS（冗余修订痕迹）

### 检测方法
修复/审查前**第一步**：检查待审查文件是否已有author=WB的tracked changes
```python
for ins in body.iter(f'{WNS}ins'):
    if ins.get(f'{WNS}author') == 'WB':
        # 文件已被处理过！
```

### 正确做法
如果待审查文件已有WB修订：
1. **以待审查版为基底**（它的第一轮修订是正确的）
2. 只在此基础上补充缺失的修订（如名称统一）
3. **不使用任务交付目录的二次处理版本**（它有重复）
4. 排查是否是auto_notify重复触发或手动误操作导致
