metadata:
  type_id: contract.lease
  name: 不动产租赁合同
  version: "1.0"
  last_updated: "2026-04-12"
  description: |
    依据《中华人民共和国民法典》合同编·通则（第470条）及租赁合同章（第703-734条）。
    适用于房屋、门店、办公场所等不动产租赁合同的评查。
    覆盖签署前审查（draft）和签署后审计（executed）两个阶段。
  tags: [合同, 租赁, 不动产]

# ══════════════════════════════════════════════════════════
# 字段抽取定义 — 30 个字段，按评查阶段分组
# ══════════════════════════════════════════════════════════
extract:
  # A. 合同成立要素 — required_from: draft
  - {name: 出租方, type: verbatim, description: "出租方（甲方）公司或个人全称"}
  - {name: 承租方, type: verbatim, description: "承租方（乙方）公司或个人全称"}
  - {name: 租赁物描述, type: string, description: "租赁物的名称、坐落地址、面积等完整描述"}
  - {name: 租赁用途, type: string, 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: "承租方注册地址或住址"}

  # C. 履约核心条款 — required_from: draft
  - {name: 租赁起始日期, type: date, description: "租赁期限的起始日期"}
  - {name: 租赁结束日期, type: date, description: "租赁期限的终止日期"}
  - {name: 租金支付方式, type: string, description: "租金的支付周期、方式、时间节点的完整描述"}
  - {name: 维修义务条款, type: string, description: "出租方和承租方的维修责任分工"}

  # D. 法定/必备条款 — required_from: draft
  - {name: 违约责任条款, type: string, description: "违约责任的完整条款内容"}
  - {name: 争议解决条款, type: string, description: "争议解决方式（法院/仲裁）"}

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

  # F. 建议条款 — required_from: executed
  - {name: 转租条款, type: string, required_from: executed, description: "关于转租、转借的约定"}
  - {name: 合同解除条款, type: string, required_from: executed, description: "合同提前解除/退租的条件和程序"}
  - {name: 不可抗力条款, type: string, 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: "出租方银行开户行名称"}
  - {name: 出租方银行账号, type: verbatim, required_from: executed, description: "出租方银行账号"}
  - {name: 合同份数, type: integer, required_from: executed, description: "合同正本份数"}

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

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

  - rule_id: MM-LEASE-001
    name: 当事人信息齐全
    risk: high
    score: 10
    stages:
      - {check: required, field: 出租方}
      - {check: required, field: 承租方}
    messages:
      pass: 出租方和承租方信息完整
      fail: 缺少出租方或承租方信息
    # 民法典§470①

  - rule_id: MM-LEASE-002
    name: 租赁物明确
    risk: high
    score: 10
    stages:
      - {check: required, field: 租赁物描述}
    messages:
      pass: 租赁物描述完整
      fail: 缺少租赁物描述（名称、地址、面积等）
    # 民法典§704

  - rule_id: MM-LEASE-003
    name: 租赁用途明确
    risk: medium
    score: 5
    stages:
      - {check: required, field: 租赁用途}
    messages:
      pass: 租赁用途已约定
      fail: 未约定租赁用途
    # 民法典§704

  - rule_id: MM-LEASE-004
    name: 租赁期限明确
    risk: high
    score: 8
    stages:
      - {check: required, field: 租赁起始日期}
      - {check: required, field: 租赁结束日期}
    messages:
      pass: 租赁期限起止日期齐全
      fail: 缺少租赁起始日期或结束日期
    # 民法典§704

  - rule_id: MM-LEASE-005
    name: 租金条款明确
    risk: high
    score: 10
    stages:
      - {check: required, field: 租金金额}
    messages:
      pass: 租金金额已约定
      fail: 缺少租金金额
    # 民法典§704

  - rule_id: MM-LEASE-006
    name: 租金支付方式存在
    risk: high
    score: 8
    stages:
      - {check: required, field: 租金支付方式}
    messages:
      pass: 租金支付方式已约定
      fail: 缺少租金支付方式
    # 民法典§704

  - rule_id: MM-LEASE-007
    name: 维修义务约定
    risk: medium
    score: 5
    stages:
      - {check: required, field: 维修义务条款}
    messages:
      pass: 维修义务已约定
      fail: 缺少维修义务约定
    # 民法典§704/§712

  - rule_id: MM-LEASE-008
    name: 违约责任条款存在
    risk: high
    score: 8
    stages:
      - {check: required, field: 违约责任条款}
    messages:
      pass: 违约责任条款存在
      fail: 缺少违约责任条款
    # 民法典§470⑦

  - rule_id: MM-LEASE-009
    name: 争议解决条款存在
    risk: medium
    score: 5
    stages:
      - {check: required, field: 争议解决条款}
    messages:
      pass: 争议解决条款存在
      fail: 缺少争议解决条款
    # 民法典§470⑧

  - rule_id: MM-LEASE-010
    name: 法定代表人齐全
    risk: medium
    score: 5
    stages:
      - {check: required, field: 出租方法定代表人}
      - {check: required, field: 承租方法定代表人}
    messages:
      pass: 双方法定代表人信息完整
      fail: 缺少出租方或承租方法定代表人信息

  - rule_id: MM-LEASE-011
    name: 签署要素齐全
    risk: high
    score: 8
    applies_in: [executed]
    stages:
      - {check: required, field: 签约日期}
      - {check: required, field: 合同编号}
    messages:
      pass: 签约日期和合同编号齐全
      fail: 缺少签约日期或合同编号
    # 民法典§490

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

  - rule_id: MM-LEASE-012
    name: 租赁期限不超20年
    risk: high
    score: 10
    stages:
      - check: assert
        expr: |
          parse_date(租赁起始日期) != None and parse_date(租赁结束日期) != None and (parse_date(租赁结束日期) - parse_date(租赁起始日期)).days <= 7300
    messages:
      pass: 租赁期限在20年以内
      fail: 租赁期限超过20年，超过部分无效（民法典§705）
    # 民法典§705 —— 租赁合同硬性法规

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

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

  - rule_id: MM-LEASE-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年

  # ── 合规性 · AI 语义判断（7 条）─────────────────

  - rule_id: MM-LEASE-016
    name: 违约责任条款充分
    risk: low
    score: 2
    stages:
      - check: required
        field: 违约责任条款
      - check: ai
        prompt: |
          请判断以下租赁合同的违约责任条款是否充分、合规。

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

          充分的租赁合同违约责任条款应当（依据民法典第577-585条）：
          1. 明确承租方违约情形（如逾期支付租金、擅自改变用途、擅自转租等）
          2. 明确出租方违约情形（如未按时交付租赁物、影响正常使用等）
          3. 明确违约金计算方式或赔偿标准（如按日计算逾期租金的违约金）
          4. 不能只是笼统的"违约要赔偿"之类的模糊表述
    messages:
      pass: 违约责任条款充分
      fail: 建议完善：违约责任条款可进一步明确双方对等的违约情形和违约金标准
    # 民法典§577-585

  - rule_id: MM-LEASE-017
    name: 争议解决方式明确
    risk: low
    score: 2
    stages:
      - check: required
        field: 争议解决条款
      - check: ai
        prompt: |
          请判断以下争议解决条款是否符合法律要求。

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

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

  - rule_id: MM-LEASE-018
    name: 租金支付条款明确
    risk: low
    score: 2
    stages:
      - check: required
        field: 租金支付方式
      - check: ai
        prompt: |
          请判断以下租金支付条款是否明确。

          条款内容：{{租金支付方式}}

          依据民法典第721条，明确的租金支付条款应当包含：
          1. 租金金额或计算方式
          2. 支付周期（月付/季付/年付）
          3. 支付时间节点（如每月N日前）
          4. 支付方式（银行转账/现金等）
          5. 逾期支付的后果
    messages:
      pass: 租金支付条款明确
      fail: 建议完善：租金支付条款可补充逾期付款的违约金比例和解除合同的触发条件
    # 民法典§721

  - rule_id: MM-LEASE-019
    name: 维修义务约定充分
    risk: low
    score: 2
    stages:
      - check: required
        field: 维修义务条款
      - check: ai
        prompt: |
          请判断以下租赁合同的维修义务约定是否充分。

          条款内容：{{维修义务条款}}

          依据民法典第712-713条，充分的维修义务约定应当：
          1. 明确出租方和承租方各自的维修范围（如主体结构由出租方、日常维修由承租方）
          2. 明确维修费用的承担方
          3. 明确紧急维修时的处理方式（如出租方未及时维修时承租方可自行维修并扣减租金）
    messages:
      pass: 维修义务约定充分
      fail: 建议完善：维修义务可明确主体结构与日常维修的分工及费用承担
    # 民法典§712-713

  - rule_id: MM-LEASE-020
    name: 转租限制明确
    risk: low
    score: 1
    stages:
      - check: required
        field: 转租条款
      - check: ai
        prompt: |
          请判断以下转租条款是否明确。

          条款内容：{{转租条款}}

          依据民法典第716条，明确的转租条款应当：
          1. 明确是否允许转租（禁止/经同意后可转租）
          2. 如允许转租，需明确转租的条件和程序
          3. 明确违反转租约定的法律后果
    messages:
      pass: 转租条款明确
      fail: 建议完善：转租条款可明确转租条件和违反后果
    # 民法典§716

  - rule_id: MM-LEASE-021
    name: 合同解除/退租条款完整
    risk: low
    score: 1
    stages:
      - check: required
        field: 合同解除条款
      - check: ai
        prompt: |
          请判断以下租赁合同的解除/退租条款是否完整。

          条款内容：{{合同解除条款}}

          依据民法典第722、724条，完整的合同解除条款应当：
          1. 明确提前解除/退租的条件（如逾期支付租金达到多久可解除）
          2. 明确解除合同的通知期限（如提前N天书面通知）
          3. 明确退租时的交还程序和恢复原状要求
    messages:
      pass: 合同解除/退租条款完整
      fail: 建议完善：退租条款可补充通知期限和恢复原状要求
    # 民法典§722/724

  - rule_id: MM-LEASE-022
    name: 不可抗力条款完整
    risk: low
    score: 1
    stages:
      - check: required
        field: 不可抗力条款
      - check: ai
        prompt: |
          请判断以下不可抗力条款是否完整。

          条款内容：{{不可抗力条款}}

          依据民法典第590条，完整的不可抗力条款应当包含：
          1. 不可抗力的定义或事件范围
          2. 发生不可抗力后的通知义务和时限
          3. 不可抗力的法律后果（免责范围、合同处理方式）
    messages:
      pass: 不可抗力条款完整
      fail: 建议完善：不可抗力条款可补充通知义务时限和法律后果
    # 民法典§590
