metadata:
  type_id: contract.entrust
  name: 通用委托合同
  version: "1.0"
  last_updated: "2026-04-12"
  description: |
    依据《中华人民共和国民法典》合同编·通则（第470条）及委托合同章（第919-936条）。
    适用于一般委托服务合同的评查，覆盖签署前审查（draft）和签署后审计（executed）两个阶段。
    原始规则来源：旧系统 02_委托合同.json（6条委托专项评查点）+ 00_通用规则.json（通用合同评查点）。
  tags: [合同, 委托, 服务]

# ══════════════════════════════════════════════════════════
# 字段抽取定义 — 31 个字段，按评查阶段分组
# ══════════════════════════════════════════════════════════
extract:
  # A. 合同成立要素 — required_from: draft
  - {name: 合同名称, type: verbatim, description: "合同的完整名称/项目名称"}
  - {name: 甲方, type: verbatim, description: "委托方公司全称"}
  - {name: 乙方, type: verbatim, description: "受托方公司全称"}
  - {name: 合同金额, type: money, description: "合同总金额（数字）"}
  - {name: 合同金额大写, type: verbatim, description: "合同总金额中文大写"}

  # B. 主体资格
  - {name: 甲方法定代表人, type: verbatim, description: "甲方法定代表人姓名"}
  - {name: 乙方法定代表人, type: verbatim, description: "乙方法定代表人姓名"}
  - {name: 甲方地址, type: verbatim, description: "甲方注册/办公地址"}
  - {name: 乙方地址, type: verbatim, description: "乙方注册/办公地址"}
  - {name: 甲方统一社会信用代码, type: uscc, required_from: executed, description: "甲方18位统一社会信用代码"}
  - {name: 乙方统一社会信用代码, type: uscc, required_from: executed, description: "乙方18位统一社会信用代码"}

  # C. 委托合同核心条款 — required_from: draft
  - {name: 委托事项描述, type: string, description: "委托服务的具体内容、范围和标准的完整描述"}
  - {name: 付款方式, type: string, description: "付款条件、方式、时间节点的完整描述"}
  - {name: 服务项目明细, type: string, description: "服务项目清单（序号、名称、数量、单价等）"}
  - {name: 合同期限, type: string, description: "服务期限起止时间描述"}

  # D. 委托合同特有条款
  - {name: 转委托条款, type: string, description: "受托人能否将事务转委托第三人处理的约定"}
  - {name: 报告义务条款, type: string, description: "受托人报告义务、报告方式和报告周期的约定"}
  - {name: 成果交付与验收, type: string, description: "服务成果形式、验收标准和验收方式的约定"}
  - {name: 解除权条款, type: string, description: "任意解除权约定及解除后费用结算方式"}

  # E. 法定/必备条款 — required_from: draft
  - {name: 违约责任条款, type: string, description: "违约责任的完整条款内容"}
  - {name: 争议解决条款, type: string, description: "争议解决方式（法院/仲裁）的完整描述"}
  - {name: 不可抗力条款, type: string, description: "不可抗力相关条款的完整内容"}
  - {name: 保密条款, type: string, required_from: executed, description: "保密义务相关条款内容"}

  # F. 签署要素 — required_from: executed
  - {name: 签约日期, type: date, required_from: executed, description: "合同签订日期"}
  - {name: 合同编号, type: verbatim, required_from: executed, description: "合同唯一编号"}

  # G. 辅助信息
  - {name: 甲方联系人, type: verbatim, required_from: executed, description: "甲方项目联系人姓名"}
  - {name: 甲方联系电话, type: verbatim, required_from: executed, description: "甲方联系电话"}
  - {name: 乙方联系人, type: verbatim, required_from: executed, description: "乙方项目联系人姓名"}
  - {name: 乙方联系电话, type: verbatim, required_from: executed, description: "乙方联系电话"}
  - {name: 甲方开户银行, type: verbatim, required_from: executed, description: "甲方银行开户行名称"}
  - {name: 甲方银行账号, type: verbatim, required_from: executed, description: "甲方银行账号"}

# ══════════════════════════════════════════════════════════
# 评查规则 — 24 条，按评查维度分组
# ══════════════════════════════════════════════════════════
rules:

  # ── 完整性（10 条）─────────────────────────────

  - rule_id: WT-001
    name: 合同主体齐全
    risk: high
    score: 10
    stages:
      - {check: required, field: 甲方}
      - {check: required, field: 乙方}
    messages:
      pass: 甲乙方信息完整
      fail: 缺少甲方或乙方信息，合同主体不明确

  - rule_id: WT-002
    name: 委托事项与金额必填
    risk: high
    score: 10
    stages:
      - {check: required, field: 委托事项描述}
      - {check: required, field: 合同金额}
    messages:
      pass: 委托事项与金额信息完整
      fail: 缺少委托事项描述或合同金额

  - rule_id: WT-003
    name: 合同名称必填
    risk: medium
    score: 5
    stages:
      - {check: required, field: 合同名称}
    messages:
      pass: 合同名称已填写
      fail: 缺少合同名称

  - rule_id: WT-004
    name: 法定代表人齐全
    risk: medium
    score: 5
    stages:
      - {check: required, field: 甲方法定代表人}
      - {check: required, field: 乙方法定代表人}
    messages:
      pass: 甲乙方法定代表人信息完整
      fail: 缺少甲方或乙方法定代表人信息

  - rule_id: WT-005
    name: 付款方式必填
    risk: high
    score: 8
    stages:
      - {check: required, field: 付款方式}
    messages:
      pass: 付款方式已填写
      fail: 缺少付款方式

  - rule_id: WT-006
    name: 违约责任条款存在
    risk: high
    score: 8
    stages:
      - {check: required, field: 违约责任条款}
    messages:
      pass: 违约责任条款存在
      fail: 缺少违约责任条款

  - rule_id: WT-007
    name: 争议解决条款存在
    risk: medium
    score: 5
    stages:
      - {check: required, field: 争议解决条款}
    messages:
      pass: 争议解决条款存在
      fail: 缺少争议解决条款

  - rule_id: WT-008
    name: 不可抗力条款存在
    risk: medium
    score: 3
    stages:
      - {check: required, field: 不可抗力条款}
    messages:
      pass: 不可抗力条款存在
      fail: 缺少不可抗力条款，建议补充

  - rule_id: WT-009
    name: 签约日期必填
    risk: high
    score: 8
    applies_in: [executed]
    stages:
      - {check: required, field: 签约日期}
    messages:
      pass: 签约日期已填写
      fail: 缺少签约日期，合同可能未正式签署

  - rule_id: WT-010
    name: 合同编号必填
    risk: medium
    score: 3
    applies_in: [executed]
    stages:
      - {check: required, field: 合同编号}
    messages:
      pass: 合同编号已填写
      fail: 缺少合同编号

  # ── 规范性（2 条）─────────────────────────────

  - rule_id: WT-011
    name: 甲方信用代码校验
    risk: medium
    score: 5
    applies_in: [executed]
    stages:
      - {check: format, field: 甲方统一社会信用代码, format: uscc}
    messages:
      pass: 甲方统一社会信用代码校验通过
      fail: 甲方统一社会信用代码校验位错误

  - rule_id: WT-012
    name: 乙方信用代码校验
    risk: medium
    score: 5
    applies_in: [executed]
    stages:
      - {check: format, field: 乙方统一社会信用代码, format: uscc}
    messages:
      pass: 乙方统一社会信用代码校验通过
      fail: 乙方统一社会信用代码校验位错误

  # ── 合理性（3 条）─────────────────────────────

  - rule_id: WT-013
    name: 金额大小写一致
    risk: high
    score: 10
    stages:
      - {check: amount_match, number: 合同金额, chinese: 合同金额大写}
    messages:
      pass: 金额大小写一致
      fail: 合同金额数字与大写不一致，存在篡改风险

  - rule_id: WT-014
    name: 金额为正数
    risk: low
    score: 3
    stages:
      - {check: compare, left: 合同金额, op: ">", right: 0}
    messages:
      pass: 合同金额为正数
      fail: 合同金额不为正数，数据异常

  - rule_id: WT-015
    name: 签约日期不是未来
    risk: low
    score: 3
    applies_in: [executed]
    stages:
      - {check: assert, expr: "parse_date(签约日期) != None and (today() - parse_date(签约日期)).days >= 0 and (today() - parse_date(签约日期)).days <= 3650"}
    messages:
      pass: 签约日期在合理范围内
      fail: 签约日期为未来日期或距今超过10年

  # ── 委托合同专项评查（6 条，来源：旧系统 NR-WT-001~006）───────────

  # 来源: NR-WT-001 委托事项明确性 — §919, §920
  - rule_id: WT-016
    name: 委托事项明确
    risk: high
    score: 5
    stages:
      - {check: required, field: 委托事项描述}
      - check: ai
        prompt: |
          请检查委托合同的委托事项是否明确。

          服务内容、范围、标准：{{委托事项描述}}

          评查要点（依据民法典第919-920条）：
          1. 委托内容是否具体明确（如提供何种服务、服务对象、服务方式等）
          2. 服务范围是否有清晰边界（哪些属于服务范围内、哪些不属于）
          3. 服务标准/质量要求是否可衡量（如频次、时长、人员配置等）
          4. 是否明确属于特别委托（具体事项）还是概括委托（一切事务）
    messages:
      pass: 委托事项明确
      fail: 委托事项不够明确，缺少具体服务内容、范围或标准

  # 来源: NR-WT-003 转委托条款 — §923
  - rule_id: WT-017
    name: 转委托条款完整
    risk: medium
    score: 2
    stages:
      - {check: required, field: 转委托条款}
      - check: ai
        prompt: |
          请检查合同是否约定了转委托条款。

          转委托约定：{{转委托条款}}

          评查要点（依据民法典第923条）：
          1. 是否明确受托人应当亲自处理委托事务
          2. 是否约定受托人能否将全部或部分服务转委托第三人
          3. 如允许转委托，是否约定了需经委托人同意
          4. 如允许转委托，是否约定了转委托后的责任承担

          注意：如合同明确约定"乙方应配备专业人员"或类似亲自履行条款，视为已约定不可转委托，可PASS。
    messages:
      pass: 转委托条款已约定
      fail: 转委托条款缺失

  # 来源: NR-WT-004 报告义务条款 — §924
  - rule_id: WT-018
    name: 报告义务条款完整
    risk: medium
    score: 3
    stages:
      - {check: required, field: 报告义务条款}
      - check: ai
        prompt: |
          请检查合同是否约定了受托人的报告义务。

          报告义务约定：{{报告义务条款}}

          评查要点（依据民法典第924条）：
          1. 是否约定受托人应定期向委托人报告服务进展情况
          2. 是否约定报告的方式（书面报告、会议汇报等）
          3. 是否约定服务完成后应提交总结报告或成果报告

          注意：如合同约定了"按甲方要求及时调整"等配合条款，可视为隐含报告义务，但建议明确约定。
    messages:
      pass: 报告义务条款完整
      fail: 报告义务条款缺失或不完整

  # 来源: NR-WT-005 服务成果交付与验收 — §927, §928
  - rule_id: WT-019
    name: 服务成果交付与验收完整
    risk: high
    score: 3
    stages:
      - {check: required, field: 成果交付与验收}
      - check: ai
        prompt: |
          请检查合同是否约定了服务成果的交付和验收。

          成果形式、验收标准、验收方式：{{成果交付与验收}}

          评查要点（依据民法典第927-928条）：
          1. 是否明确服务完成的判定标准（如何判定"服务项目完成"）
          2. 是否约定服务成果的形式（咨询报告、测评报告、服务记录等）
          3. 是否约定验收方式（甲方确认、双方签字等）

          注意：如合同已约定按服务项目清单逐项交付，且付款条件与项目完成挂钩，可视为已有验收安排。
    messages:
      pass: 服务成果交付与验收条款完整
      fail: 服务成果交付与验收条款缺失

  # 来源: NR-WT-002 服务项目清单金额校验 — §928
  - rule_id: WT-020
    name: 服务项目清单金额校验
    risk: high
    score: 5
    stages:
      - {check: required, field: 服务项目明细}
      - {check: required, field: 合同金额}
      - check: ai
        prompt: |
          请校验合同服务项目清单的金额一致性。

          服务项目明细：{{服务项目明细}}
          合同总金额：{{合同金额}}

          评查要点（依据民法典第928条）：
          1. 各项单价×数量是否等于对应项合计（逐项计算校验）
          2. 各项合计之和是否等于合同总金额
          3. 服务项目描述是否足够具体（非含糊表述）
    messages:
      pass: 服务项目清单金额校验通过
      fail: 服务项目清单金额不一致

  # 来源: NR-WT-006 任意解除权与费用结算 — §933, §928
  - rule_id: WT-021
    name: 任意解除权与费用结算
    risk: high
    score: 3
    stages:
      - {check: required, field: 解除权条款}
      - check: ai
        prompt: |
          请检查合同是否约定了任意解除权及解除后的费用结算。

          任意解除约定与费用结算：{{解除权条款}}

          评查要点（依据民法典第933条）：
          1. 委托合同双方均有随时解除权（法定权利），合同是否对此有约定
          2. 是否约定了提前解除的通知期限（如提前多少天书面通知）
          3. 是否约定了解除后已完成服务部分的费用结算方式（按实际完成比例结算等）

          注意：
          - 委托合同的任意解除权是法定权利，合同不能排除
          - 如合同仅约定了违约解除而未提及任意解除，视为对任意解除权未作约定
          - 重点关注解除后的费用结算是否公平合理
    messages:
      pass: 任意解除权与费用结算条款完整
      fail: 任意解除权或费用结算条款缺失

  # ── 合规性 · AI 语义判断（3 条，来源：通用规则模式）───────────

  - rule_id: WT-022
    name: 违约责任条款充分
    risk: medium
    score: 5
    stages:
      - {check: required, field: 违约责任条款}
      - check: ai
        prompt: |
          请判断以下违约责任条款是否充分、合规。

          条款内容：{{违约责任条款}}

          充分的违约责任条款应当（依据民法典第577-585条）：
          1. 明确违约情形（如逾期付款、逾期交付、服务质量不合格等）
          2. 明确违约金计算方式或赔偿标准（如按日万分之几、赔偿实际损失等）
          3. 不能只是笼统的"违约要赔偿"之类的模糊表述
          4. 应当对双方（委托方和受托方）的违约责任都有约定
    messages:
      pass: 违约责任条款充分
      fail: 违约责任条款不充分，缺少具体违约情形或违约金计算方式

  - rule_id: WT-023
    name: 争议解决方式明确
    risk: medium
    score: 5
    stages:
      - {check: required, field: 争议解决条款}
      - check: ai
        prompt: |
          请判断以下争议解决条款是否符合法律要求。

          条款内容：{{争议解决条款}}

          合规的争议解决条款应当：
          1. 明确指定具体的争议解决方式（仲裁或诉讼，二选一）
          2. 如选择仲裁，应明确仲裁机构名称（如"XX仲裁委员会"）
          3. 如选择诉讼，应明确管辖法院（如"XX人民法院"）
          4. 不能同时约定仲裁和诉讼
          5. 不能是模糊表述（如"找人调解"、"双方商量"等）
    messages:
      pass: 争议解决方式明确
      fail: 争议解决条款缺失或未明确具体的仲裁机构/管辖法院

  - rule_id: WT-024
    name: 付款条款明确
    risk: medium
    score: 5
    stages:
      - {check: required, field: 付款方式}
      - check: ai
        prompt: |
          请判断以下付款条款是否明确。

          条款内容：{{付款方式}}

          明确的付款条款应当包含：
          1. 付款金额或比例（如"支付合同总额的30%"）
          2. 付款时间节点或触发条件（如"验收合格后15个工作日内"）
          3. 付款方式（如银行转账）
    messages:
      pass: 付款条款明确
      fail: 付款条款不够明确，缺少金额/时间/方式等关键信息
