Files
hermes-skills/skills/legal/contract-editor/references/duplicate-workflow-detection.md
T

1.7 KiB

检测已审查文件重复处理(Workflow产出双版本问题)

2026-07-13 消防设施检测合同教训

现象

同一份合同在任务交付目录出现两个文件:

  • v1: 有WB tracked changes(正确交付物)
  • v2: 无tracked changes + 有WB批注(纯批注版)

诊断方法

# 快速判断文件性质
with zipfile.ZipFile(filepath, 'r') as z:
    doc_xml = z.read('word/document.xml')
    # 检查tracked changes
    ins_count = doc_xml.count(b'w:ins')
    del_count = doc_xml.count(b'w:del')
    # 检查批注
    has_comments = 'word/comments.xml' in z.namelist()
    if has_comments:
        comments = z.read('word/comments.xml')
        comment_count = comments.count(b'w:comment ')

print(f"INS: {ins_count}, DEL: {del_count}, Comments: {comment_count}")

判断标准

文件状态 性质 应否保留
有INS/DEL + 无comments 标准修订版 正确交付物
有INS/DEL + 有comments 修订+批注版 正确
无INS/DEL + 有comments 纯批注版 ⚠️ 需审查批注合规性
无INS/DEL + 无comments 原文副本 不应在交付目录

纯批注版的审查要点

  • 是否违反"能改就不批注"原则
  • 批注立场是否正确(站甲方)
  • 是否属于"提醒性批注"(禁止)
  • 严重错误示例:Comment 203建议"违约金偏高,建议设上限"——这是在帮乙方限制甲方的违约金权利,立场完全反了

python-docx的.text陷阱

paragraph.text不反映批注内容。两份文件的.text可能100%相同但实际一份有6条批注。判断文件是否相同必须检查comments.xml