metadata:
  type_id: 行政卷宗.行政处罚
  name: 烟草专卖行政处罚卷宗
  version: '1.0'
  last_updated: '2026-04-18'
  parent: 行政卷宗
  inherits_from:
  - base.common
  - base.administrative_case
  classification_keywords:
  - 行政处罚
  - 烟草专卖
  - 处罚决定书
  - 立案报告
  - 询问笔录
  description: '烟草专卖行政处罚卷宗审核。

    覆盖：立案、现场检查、证据先行登记保存、取证核价、询问笔录、权利告知、

    调查终结、处理审批、事先告知、处罚决定、送达、执行、结案全流程。

    '
  # 开 medium 风险规则的 LLM 救援（跨子文档对齐失败交给 rescue 模块
  # 的 L1 判定语义等价，如"投诉举报" vs "举报"）。
  rescue_profile:
    rescue_risk: [medium]

# TOC 页定位（dossier_segmenter 使用）
#   keywords:      本类卷宗的目录标题（OCR 空白自动规整，"卷 宗 目 录" 也命中）
#   anti_keywords: 卷内"内部目录"，避免被误判为卷宗级 TOC
# 两个列表均为"扩展默认值"，下面显式列出本类卷宗实际会遇到的项 ——
# 默认的 卷宗目录 / 卷内目录 / Contents 等仍自动生效。
toc:
  keywords:
    # 实际 OCR 观察到的目录标题（均为 defaults 一部分，显式列出作自注释）
    - 卷宗目录
    - 卷内目录
  anti_keywords:
    # 卷内子文档自带的"目录"标题，不是卷宗级 TOC —— 必须排除
    - 证据材料目录   # 重大执法行为法制审核送审表 里的证据清单
    - 物品目录        # 抽样取证物品清单等

# 跨子文档派生字段 —— 给规则里的 `activate_if` / 对级 `when` 用
derived_fields:
  # 当事人类型：决定一条规则里"个人字段 pair"还是"单位字段 pair"该不该对齐
  #
  #   按 USCC 第 2 位判定（GB 32100-2015 法人和其他组织统一社会信用代码）：
  #     1 = 机关   → 单位
  #     2 = 个体工商户 → 个人（法律归类：自然人工商业）
  #     3 = 农民专业合作社 → 单位
  #     4 = 事业单位 → 单位
  #     5 = 企业   → 单位
  #     8 = 社团   → 单位
  #     9 = 其他组织 → 单位
  #
  #   个体户虽然有 USCC 和营业执照，但当事人栏填个人信息（姓名/身份证），
  #   所以单位 pair 应跳过；执照字段作为辅助证据另行处理。
  #
  #   注：不看"字号"——当前 OCR 常把案件文号误抽到 字号 字段；
  #   执照名称/执照统一社会信用代码 在个体户里也存在，因此不作为单位标志。
  #   表达式必须单行（evaluate 不支持多行条件）。
  - name: 当事人类型
    type: string
    # 嵌套 IfExp 走短路（BoolOp 求值所有分支，`not None` 会走 null-propagation
    # 返回 None 而被 IfExp 当 False 走到 else，导致对 None 调 .startswith 崩溃）
    # - USCC 空/缺失              → 个人
    # - USCC 以 '92' 开头         → 个人（个体工商户）
    # - 其它 (91/93/94/95/… 开头) → 单位
    compute: "'个人' if 处罚决定书.统一社会信用代码 == None else ('个人' if 处罚决定书.统一社会信用代码.startswith('92') else '单位')"
    desc: 案件当事人类型（个人 / 单位）—— 按 USCC 第 2 位判，个体户 (92xxx) 判为个人

  # 证据复制（提取）单可能同时存在多张居民身份证（当事人、举报人、
  # 未成年人、相关人等）。抽取侧把整组居民身份证记录按 multi_entity 抽
  # 下来，由这里挑出归属当事人的那一份；规则再用
  # `证据复制（提取）单当事人.身份证*` 对齐处罚决定书/审批表/终结报告。
  # 只有一张身份证时引擎自动短路，不计 LLM 调用。
  - name: 证据复制（提取）单当事人
    type: object
    compute_by: llm
    prompt: |-
      以下是证据复制（提取）单中全部居民身份证记录：

      {居民身份证}

      当事人姓名：{处罚决定书.当事人}
      当事人身份证号：{处罚决定书.身份证号码}

      请挑出归属「当事人本人」（被处罚对象）的那一份身份证，按原字段
      结构返回一个 JSON 对象（严格包含 身份证姓名/身份证性别/身份证民族/
      身份证住址/身份证号/身份证背面，空值写 null）。

      优先以身份证号匹配当事人身份证号；若号码缺失，用姓名匹配。匹配不到
      或无法判断归属时返回 JSON null。除该 JSON 外不要输出任何解释文字。
    depends_on:
    - 居民身份证
    - 处罚决定书.当事人
    - 处罚决定书.身份证号码

  # 询问笔录可能包含多份笔录记录（同一卷宗针对多人询问）。抽取侧把所
  # 有被询问人按 multi_entity 抽下来，由这里挑当事人那份；规则再用
  # `询问笔录当事人.被询问人*` 做一致性校验。只有一份被询问人记录时
  # 引擎自动短路，不计 LLM 调用。
  - name: 询问笔录当事人
    type: object
    compute_by: llm
    prompt: |-
      以下是询问笔录中全部「被询问人」记录：

      {被询问人}

      当事人姓名：{处罚决定书.当事人}
      当事人身份证号（若有）：{处罚决定书.身份证号码}

      请挑出归属「当事人本人」（被处罚对象）的那一份笔录记录，按原字段
      结构返回一个 JSON 对象（严格包含 被询问人姓名/被询问人性别/被询问人民族/
      被询问人证件/被询问人电话/被询问人住址/被询问人经营地址，空值写 null）。

      优先以证件号匹配当事人身份证号；若号码缺失，用姓名匹配。匹配不到
      或无法判断归属时返回 JSON null。除该 JSON 外不要输出任何解释文字。
    depends_on:
    - 被询问人
    - 处罚决定书.当事人
    - 处罚决定书.身份证号码

sub_documents:
- id: 先行登记保存证据处理通知书
  name: 先行登记保存证据处理通知书
  required: false
  classifier:
    title_patterns:
    - 先行登记保存证据处理通知书
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 处理方式
      type: verbatim
      vlm_extract_mode: always
      desc: 证据做出如下处理→选中的选项，要看打勾的选项
- id: 卷内备考表
  name: 卷内备考表
  required: true
  classifier:
    title_patterns:
    - 卷内备考表
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 立卷时间
      type: verbatim
      desc: 立卷时间
- id: 卷宗封面
  name: 卷宗封面
  required: false
  classifier:
    title_patterns:
    - ^##?\s*卷\s*宗\s*$
    keywords:
    - 此卷共计
    - 归档日期
    - 保存期限
    min_score: 1.0
  extract:
  - group: 基本信息
    fields:
    - name: 处理结果
      type: string
      desc: 处理结果
- id: 处罚决定书
  name: 处罚决定书
  required: true
  classifier:
    title_patterns:
    - 处罚决定书
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 字号
      type: verbatim
      desc: 字号
    - name: 当事人
      type: verbatim
      desc: 当事人
    - name: 性别
      type: enum
      allowed:
      - 男
      - 女
      desc: 性别
    - name: 民族
      type: verbatim
      desc: 民族
    - name: 烟草专卖许可证号
      type: verbatim
      desc: 烟草专卖许可证号
    - name: 经营地址
      type: string
      desc: 经营地址
    - name: 统一社会信用代码
      type: uscc
      desc: 统一社会信用代码
    - name: 落款日期
      type: date
      desc: 落款日期
    - name: 身份证住址
      type: string
      desc: 身份证住址
    - name: 身份证号码
      type: chinese-id
      desc: 身份证号码
  - group: 罚款信息
    fields:
    - name: 罚款项目
      type: string
      desc: 正文→罚款项目
    - name: 罚款基数
      type: money
      desc: 正文→罚款项目金额基数
    - name: 罚款比例
      type: string
      desc: 正文→罚款百分比 保留原格式如"50%"
    - name: 罚款总额
      type: money
      desc: 正文→罚款总金额
    - name: 罚款说明
      type: string
      desc: 正文→罚款说明
    - name: 证据列举
      type: string
      desc: 正文→证据列举
  - group: 权利告知
    fields:
    - name: 救济途径
      type: string
      desc: 正文→救济途径
- id: 抽样取证物品清单
  name: 抽样取证物品清单
  required: false
  classifier:
    title_patterns:
    - 抽样取证物品清单
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 品种规格
      type: string
      desc: 表格内容→品种规格、样品基数
    - name: 表格有内容
      type: enum
      allowed:
      - 有
      - 无
      desc: 表格是否有内容 输出 有/无
    - name: 当事人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 当事人签名栏 输出 有/无
- id: 案件处理审批表
  name: 案件处理审批表
  required: true
  classifier:
    title_patterns:
    - 案件处理审批表
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 立案编号
      type: verbatim
      desc: 立案编号
    - name: 立案日期
      type: date
      desc: 立案日期
    - name: 案由
      type: string
      desc: 案由
    - name: 案件来源
      type: string
      desc: 案件来源
    - name: 违法事实
      type: string
      desc: 从案件处理审批表正文、承办人意见、承办部门意见或拟处理意见中提取违法事实上下文，包含违法行为、涉案物品、数量、金额、货值或违法所得、合法来源证明、许可证或准运证、初次违法、从轻从重等裁量相关事实；不要只输出案由。
  - group: 当事人-单位
    fields:
    - name: 单位名称
      type: string
      desc: 当事人→单位→名称
    - name: 单位法代
      type: verbatim
      desc: 当事人→单位→法定代表人（负责人）
    - name: 单位电话
      type: verbatim
      desc: 当事人→单位→联系电话
    - name: 单位地址
      type: string
      desc: 当事人→单位→地址
  - group: 当事人-个人
    fields:
    - name: 个人姓名
      type: verbatim
      desc: 当事人→个人（个体工商户）→姓名
    - name: 个人性别
      type: verbatim
      desc: 当事人→个人→性别
    - name: 个人年龄
      type: verbatim
      desc: 当事人→个人→年龄
    - name: 个人民族
      type: verbatim
      desc: 当事人→个人→民族
    - name: 个人证件
      type: verbatim
      desc: 当事人→个人→证件类型及号码
    - name: 个人电话
      type: verbatim
      desc: 当事人→个人→联系电话
    - name: 个人住址
      type: string
      desc: 当事人→个人→住址
  - group: 审批意见
    fields:
    - name: 承办人意见
      type: string
      desc: 承办人意见→内容
    - name: 承办人日期
      type: date
      desc: 承办人意见→日期
    - name: 承办人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人意见→签名1 输出 有/无
    - name: 承办人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人意见→签名2 输出 有/无
    - name: 承办部门意见
      type: string
      desc: 承办部门意见→内容
    - name: 承办部门日期
      type: date
      desc: 承办部门意见→日期
    - name: 承办部门签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办部门意见→签名 输出 有/无
    - name: 法制部门意见
      type: string
      desc: 法制部门意见→内容
    - name: 法制部门日期
      type: date
      desc: 法制部门意见→日期
    - name: 法制部门审核人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 法制部门意见→审核人签名 输出 有/无
    - name: 法制部门负责人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 法制部门意见→负责人签名 输出 有/无
    - name: 负责人意见
      type: string
      desc: 负责人意见→内容
    - name: 负责人日期
      type: date
      desc: 负责人意见→日期
    - name: 负责人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 负责人意见→签名 输出 有/无
- id: 案件调查终结报告
  name: 案件调查终结报告
  required: true
  classifier:
    title_patterns:
    - 案件调查终结报告
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 立案日期
      type: date
      desc: 立案日期
    - name: 案由
      type: string
      desc: 案由
    - name: 案件来源
      type: string
      desc: 案件来源
  - group: 当事人-单位
    fields:
    - name: 单位名称
      type: string
      desc: 当事人→单位→名称
    - name: 单位法代
      type: verbatim
      desc: 当事人→单位→法定代表人（负责人）
    - name: 单位电话
      type: verbatim
      desc: 当事人→单位→联系电话
    - name: 单位地址
      type: string
      desc: 当事人→单位→地址
  - group: 当事人-个人
    fields:
    - name: 个人姓名
      type: verbatim
      desc: 当事人→个人（个体工商户）→姓名
    - name: 个人性别
      type: enum
      allowed:
      - 男
      - 女
      desc: 当事人→个人→性别
    - name: 个人年龄
      type: verbatim
      desc: 当事人→个人→年龄
    - name: 个人民族
      type: verbatim
      desc: 当事人→个人→民族
    - name: 个人证件
      type: verbatim
      desc: 当事人→个人→证件类型及号码
    - name: 个人电话
      type: verbatim
      desc: 当事人→个人→联系电话
    - name: 个人住址
      type: string
      desc: 当事人→个人→住址
  - group: 处理意见
    fields:
    - name: 处理意见日期
      type: date
      desc: 处理意见→日期
    - name: 处理意见承办人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 处理意见→承办人签名1 输出 有/无
    - name: 处理意见承办人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 处理意见→承办人签名2 输出 有/无
- id: 涉案物品核价表
  name: 涉案物品核价表
  required: false
  classifier:
    title_patterns:
    - 涉案物品核价表
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 核价组印章
      type: enum
      allowed:
      - 有
      - 无
      desc: 涉案卷烟价格管理小组印章 输出 有/无
    - name: 核价明细
      type: string
      desc: 表格内容→品种规格、数量（单位：条）、单价（元）、合计（元）、备注
    - name: 表格全文
      type: string
      desc: 核价表完整内容
- id: 涉案物品返还清单
  name: 涉案物品返还清单
  required: false
  classifier:
    title_patterns:
    - 涉案物品返还清单
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 日期
      type: date
      desc: 日期
    - name: 补偿信息
      type: verbatim
      desc: 补偿信息
    - name: 返还明细
      type: string
      desc: 表格内容→品种规格、数量（单位：条）、单价（元）、合计（元）、备注
    - name: 返还确认
      type: verbatim
      desc: 返还确认
    - name: 接收人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 接收人→签名 输出 有/无
    - name: 接收单位印章
      type: enum
      allowed:
      - 有
      - 无
      desc: 接收单位→印章 输出 有/无
- id: 现场笔录
  name: 现场笔录
  required: true
  classifier:
    title_patterns:
    - 现场笔录
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 检查时间
      type: verbatim
      desc: 检查时间
    - name: 检查地点
      type: verbatim
      desc: 检查地点
  - group: 被检查人
    fields:
    - name: 单位名称
      type: string
      desc: 被检查人→单位→名称
    - name: 单位法代
      type: verbatim
      desc: 法定代表人（负责人）
    - name: 单位许可证号
      type: verbatim
      desc: 烟草专卖许可证号码
    - name: 个人姓名
      type: verbatim
      desc: 被检查人→个人→姓名
    - name: 个人性别
      type: enum
      allowed:
      - 男
      - 女
      desc: 被检查人→个人→性别
    - name: 个人证件
      type: verbatim
      desc: 被检查人→个人→证件类型及号码
    - name: 地址
      type: string
      desc: 被检查人→地址
    - name: 电话
      type: verbatim
      desc: 被检查人→联系电话
    - name: 现场负责人
      type: verbatim
      desc: 现场负责人→姓名、性别、证件类型及号码、与被检查人关系
  - group: 签名意见
    fields:
    - name: 意见
      type: verbatim
      desc: 被检查人或现场负责人→意见
    - name: 意见日期
      type: date
      desc: 被检查人或现场负责人（签名）→日期
    - name: 意见签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 被检查人或现场负责人（签名）输出 有/无
- id: 立案报告表
  name: 立案报告表
  required: true
  classifier:
    title_patterns:
    - 立案报告表
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 立案编号
      type: verbatim
      desc: 立案编号 如"郁烟立〔2024〕第35号"
    - name: 案由
      type: string
      desc: 案由
    - name: 案件来源
      type: string
      desc: 案件来源 如"投诉举报"
    - name: 案发时间
      type: verbatim
      desc: 案发时间
    - name: 案发地点
      type: verbatim
      desc: 案发地点
  - group: 当事人-单位
    fields:
    - name: 单位名称
      type: string
      desc: 当事人→单位→名称
    - name: 单位法代
      type: verbatim
      desc: 当事人→单位→法定代表人（负责人）
    - name: 单位电话
      type: verbatim
      desc: 当事人→单位→联系电话
    - name: 单位地址
      type: string
      desc: 当事人→单位→地址
  - group: 当事人-个人
    fields:
    - name: 个人姓名
      type: verbatim
      desc: 当事人→个人（个体工商户）→姓名
    - name: 个人性别
      type: verbatim
      desc: 当事人→个人→性别
    - name: 个人年龄
      type: verbatim
      desc: 当事人→个人→年龄
    - name: 个人民族
      type: verbatim
      desc: 当事人→个人→民族
    - name: 个人证件
      type: verbatim
      desc: 当事人→个人→证件类型及号码
    - name: 个人身份证号
      type: chinese-id
      desc: 当事人→个人→居民身份证号码
    - name: 个人电话
      type: verbatim
      desc: 当事人→个人→联系电话
    - name: 个人住址
      type: string
      desc: 当事人→个人→住址
  - group: 案情
    fields:
    - name: 案情摘要
      type: string
      desc: 案情摘要正文
    - name: 案情品种
      type: string
      desc: 案情摘要中的品种规格、单位、数量
  - group: 审批意见
    fields:
    - name: 承办人意见
      type: string
      desc: 承办人意见→意见
    - name: 承办人日期
      type: date
      desc: 承办人意见→日期
    - name: 承办人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人意见→签名1 输出 有/无
    - name: 承办人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人意见→签名2 输出 有/无
    - name: 承办部门意见
      type: string
      desc: 承办部门意见→意见
    - name: 承办部门日期
      type: date
      desc: 承办部门意见→日期
    - name: 承办部门签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办部门意见→签名 输出 有/无
    - name: 负责人意见
      type: string
      desc: 负责人意见→意见内容
    - name: 负责人日期
      type: date
      desc: 负责人意见→日期
    - name: 负责人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 负责人意见→签名 输出 有/无
- id: 结案报告表
  name: 结案报告表
  required: true
  classifier:
    title_patterns:
    - 结案报告表
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 当事人
      type: verbatim
      desc: 当事人
    - name: 执行情况
      type: string
      desc: 执行情况
  - group: 审批意见
    fields:
    - name: 承办人结案理由
      type: string
      desc: 承办人结案理由→内容
    - name: 承办人结案日期
      type: date
      desc: 承办人结案理由→日期
    - name: 承办人结案签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人结案理由→签名1 输出 有/无
    - name: 承办人结案签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人结案理由→签名2 输出 有/无
    - name: 承办部门意见
      type: string
      desc: 承办部门意见→内容
    - name: 承办部门日期
      type: date
      desc: 承办部门意见→日期
    - name: 承办部门签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办部门意见→签名 输出 有/无
    - name: 负责人意见
      type: string
      desc: 负责人意见→内容
    - name: 负责人日期
      type: date
      desc: 负责人意见→日期
    - name: 负责人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 负责人意见→签名 输出 有/无
- id: 缴款凭证
  name: 缴款凭证
  required: false
  classifier:
    title_patterns:
    - 缴款凭证
    - 广东省非税收入一般缴款书[（(]电子[）)]
    - 广东省非税收入一般缴款书(电子)
    keywords:
    - 非税收入
    - 缴款书
    - 收费项目
    - 收入项目
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 收入项目
      type: string
      desc: 收入项目名称（电子非税缴款书上可能写作"收费项目"）
    - name: 金额
      type: money
      desc: 金额
    - name: 备注
      type: verbatim
      desc: 备注
- id: 行政处罚事先告知书
  name: 行政处罚事先告知书
  required: true
  classifier:
    title_patterns:
    - 行政处罚事先告知书
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 当事人
      type: verbatim
      desc: 当事人
    - name: 正文前称呼
      type: string
      desc: 正文前称呼
    - name: 权利告知
      type: string
      desc: 正文→权利告知
- id: 证据先行登记保存批准书
  name: 证据先行登记保存批准书
  required: false
  classifier:
    title_patterns:
    - 证据先行登记保存批准书
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 标题下方文本
      type: string
      desc: 标题下方文本
    - name: 表格下方文字
      type: string
      desc: 表格下方文字 含"对先行登记保存的证据，应当在...日内处理"
    - name: 表格品规
      type: string
      desc: 表格内容→品种规格、单位、数量
    - name: 表格全文
      type: string
      desc: 表格完整内容
    - name: 盖章
      type: enum
      allowed:
      - 有
      - 无
      desc: 行政机关盖章 输出 有/无
  - group: 承办人
    fields:
    - name: 承办人日期
      type: date
      desc: 承办人→日期
    - name: 承办人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人→签名1 输出 有/无
    - name: 承办人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人→签名2 输出 有/无
  - group: 负责人
    fields:
    - name: 负责人意见
      type: verbatim
      desc: 负责人意见并签名→意见内容
    - name: 负责人意见有无
      type: enum
      allowed:
      - 有
      - 无
      desc: 负责人意见并签名→是否有意见 输出 有/无
    - name: 负责人日期
      type: date
      desc: 负责人意见并签名→日期
    - name: 负责人签名姓名
      type: verbatim
      desc: 负责人意见并签名→签名姓名
    - name: 负责人签名有无
      type: enum
      allowed:
      - 有
      - 无
      desc: 负责人意见并签名→是否有签名 输出 有/无
- id: 证据先行登记保存通知书
  name: 证据先行登记保存通知书
  required: false
  classifier:
    title_patterns:
    - 证据先行登记保存通知书
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 表格下方文字
      type: string
      desc: 表格下方文字
    - name: 表格品规
      type: string
      desc: 表格内容→品种规格、单位、数量
    - name: 表格全文
      type: string
      desc: 表格完整内容
    - name: 盖章
      type: enum
      allowed:
      - 有
      - 无
      desc: 行政机关盖章 输出 有/无
    - name: 拒绝签名说明
      type: string
      desc: 正文→拒绝签名说明
    - name: 当事人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 当事人签名 输出 有/无
  - group: 承办人
    fields:
    - name: 承办人日期
      type: date
      desc: 承办人→日期
    - name: 承办人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人→签名1 输出 有/无
    - name: 承办人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 承办人→签名2 输出 有/无
- id: 证据复制（提取）单
  name: 证据复制（提取）单
  required: true
  classifier:
    title_patterns:
    - 证据复制[（(]提取[）)]单
    - 证据复制(提取)单
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 复制时间
      type: verbatim
      desc: |-
        证据复制(提取)单每页末尾的「复制（提取）时间」字段。
        一份卷宗通常有多份证据（每页一份，说明事项各异）。
        当**多份存在**时，取**第一份**的时间（整体活动起点，
        通常也是询问笔录期间制作的那份）。
        示例："2024 年 4 月 19 日 19 时 30 分"。
    - name: 复制地点
      type: verbatim
      desc: |-
        证据复制(提取)单每页末尾的「复制（提取）地点」字段。
        多份存在时取**第一份**的地点（与 复制时间 同一页）。
        示例："郁南县南江口镇西江路 124 号"。
    - name: 现场时间
      type: verbatim
      desc: |-
        证据复制(提取)单中**现场检查相片**所属那份证据的
        「复制（提取）时间」。特征：说明事项含"现场/外观/
        查获时拍摄/查获违法走私卷烟时"等，与执法人员到场
        同一时段。用于和 现场笔录.检查时间 对齐。
        如没有纯"现场检查"相片，取第一份时间。
    - name: 现场地址
      type: string
      desc: |-
        证据复制(提取)单中**现场检查相片**所属那份证据的
        「复制（提取）地点」，与 现场时间 同一份。
        用于和 现场笔录.检查地点 对齐。
    - name: 邮件回执
      type: verbatim
      desc: 邮件回执
  - group: 居民身份证
    fields:
    - name: 居民身份证
      type: multi_entity
      desc: |-
        证据复制（提取）单中**每一张**居民身份证图片对应的一份记录。
        一份证据复制单通常包含多张身份证（当事人、举报人、未成年人、相关人等），
        请把每张身份证都抽取为数组中的一项，**不要**只抽"当事人那份"。
        由派生字段「证据复制（提取）单当事人」按姓名+身份证号挑出归属当事人的那一份。
        如果只有一张身份证，返回只包含一项的数组即可（引擎会自动把那一项判为当事人）。
      fields:
      - name: 身份证姓名
        type: verbatim
        desc: 该份身份证上印的姓名
      - name: 身份证性别
        type: verbatim
        desc: 该份身份证上印的性别（男/女）
      - name: 身份证民族
        type: verbatim
        desc: 该份身份证上印的民族
      - name: 身份证住址
        type: string
        desc: 该份身份证上印的住址
      - name: 身份证号
        type: chinese-id
        desc: 该份身份证上印的公民身份号码（18 位）
      - name: 身份证背面
        type: enum
        allowed:
        - 有
        - 无
        desc: 该份身份证是否包含背面（签发机关/有效期那面）有/无
  - group: 许可证
    fields:
    - name: 许可证企业名称
      type: string
      desc: 烟草专卖零售许可证→企业名称
    - name: 许可证经营场所
      type: string
      desc: 烟草专卖零售许可证→经营场所
    - name: 许可证号
      type: verbatim
      desc: 烟草专卖零售许可证→许可证号
    - name: 许可证负责人
      type: verbatim
      desc: 烟草专卖零售许可证→负责人姓名
  - group: 营业执照
    fields:
    - name: 执照名称
      type: string
      desc: 营业执照→名称
    - name: 执照住所
      type: string
      desc: 营业执照→住所
    - name: 执照法代
      type: verbatim
      desc: 营业执照→法定代表人
    - name: 执照统一社会信用代码
      type: uscc
      desc: 营业执照→统一社会信用代码
- id: 询问笔录
  name: 询问笔录
  required: true
  classifier:
    title_patterns:
    - 询问笔录
    keywords: []
    min_score: 0.5
  extract:
  - group: 基本信息
    fields:
    - name: 询问时间
      type: verbatim
      desc: 询问时间
    - name: 询问地点
      type: verbatim
      desc: 询问地点
  - group: 被询问人
    fields:
    - name: 被询问人
      type: multi_entity
      desc: |-
        询问笔录中**每一份**笔录记录对应的被询问人基本信息。
        一份卷宗可能包含多次询问笔录（针对不同人员），请把**每一份**笔录
        中的被询问人都抽取为数组中的一项，**不要**只抽"当事人那份"。
        由派生字段「询问笔录当事人」按姓名+证件号挑出归属当事人的那一份。
        只有一份被询问人记录时，引擎自动把那一份判为当事人。
      fields:
      - name: 被询问人姓名
        type: verbatim
        desc: 被询问人→姓名
      - name: 被询问人性别
        type: enum
        allowed:
        - 男
        - 女
        desc: 被询问人→性别
      - name: 被询问人民族
        type: verbatim
        desc: 被询问人→民族
      - name: 被询问人证件
        type: verbatim
        desc: 被询问人→证件类型及号码（通常是"居民身份证：xxx"）
      - name: 被询问人电话
        type: verbatim
        desc: 被询问人→联系电话
      - name: 被询问人住址
        type: string
        desc: 被询问人→住址
      - name: 被询问人经营地址
        type: string
        desc: 被询问人→经营地址
  - group: 笔录正文
    fields:
    - name: 执法人员信息
      type: string
      desc: 正文→执法人员信息
    - name: 权利告知
      type: string
      desc: 正文→权利告知内容
    - name: 被询问人核实
      type: string
      desc: 正文→被询问人核实
    - name: 拒绝签名说明
      type: string
      desc: 正文→拒绝签名说明
  - group: 签名
    fields:
    - name: 被询问人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 被询问人（签名）输出 有/无
    - name: 询问人签名1
      type: enum
      allowed:
      - 有
      - 无
      desc: 询问人（签名）1 输出 有/无
    - name: 询问人签名2
      type: enum
      allowed:
      - 有
      - 无
      desc: 询问人（签名）2 输出 有/无
- id: 送达回证
  name: 送达回证
  required: true
  classifier:
    title_patterns:
    - 送达回证
    keywords: []
    min_score: 0.5
  # 注意：本子文档内可能拼接多份送达回证表格（立案通知/先行登记保存通知/事先告知书/
  # 处罚决定书等各一份）。以下字段只抽取"送达文书名称"含"行政处罚决定书"的那份；
  # 其他送达回证忽略（由专门的规则处理）。
  extract:
  - group: 基本信息
    fields:
    - name: 受送达人
      type: verbatim
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份表格里的受送达人
    - name: 回证编号
      type: verbatim
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份表格上方的回证编号
    - name: 送达方式
      type: verbatim
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份的送达方式
    - name: 送达地点
      type: verbatim
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份的送达地点
    - name: 送达文书名称
      type: string
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"的那一项（作为后续其他字段的定位基准）
    - name: 送达文书文号
      type: verbatim
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份的送达文书文号
  - group: 签收
    fields:
    - name: 签收日期
      type: date
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份的签收日期
    - name: 代收理由
      type: string
      desc: 本子文档内若含多份送达回证，只抽"送达文书名称"含"行政处罚决定书"那份的代收人代收理由
    - name: 印章
      type: enum
      allowed:
      - 有
      - 无
      desc: 印章 输出 有/无
      vlm_extract_mode: always
    - name: 收件人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 收件人签名或盖章→签名 输出 有/无
      vlm_extract_mode: always
    - name: 收件人盖章
      type: enum
      allowed:
      - 有
      - 无
      desc: 收件人签名或盖章→盖章 输出 有/无
      vlm_extract_mode: always
  - group: 送达人
    fields:
    - name: 送达人签名
      type: enum
      allowed:
      - 有
      - 无
      desc: 送达人签名 输出 有/无
      vlm_extract_mode: always
rules:
- group: JZG-JD
  rules:
  - rule_id: JZ-JD-001
    name: 当事人基本情况或立案情况记载准确性
    desc: 若当事人信息与证据复制（提取）单中信息不一致，则扣分。
    risk: medium
    score: 5
    scope:
    - 案件处理审批表
    - 案件调查终结报告
    - 立案报告表
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 案件处理审批表.案由
        target: 案件调查终结报告.案由
      - source: 案件处理审批表.案件来源
        target: 案件调查终结报告.案件来源
        # 案件来源是开放词汇（投诉举报/群众举报/电话举报/来电举报/上级交办…
        # 无穷枚举），不用 canonicalize 字典维护。字面不等时走 rescue L1
        # match 做语义等价判定。
      - source: 案件处理审批表.立案编号
        target: 立案报告表.立案编号
      - source: 案件处理审批表.立案日期
        target: 案件调查终结报告.立案日期
      - source: 案件处理审批表.单位名称
        target: 案件调查终结报告.单位名称
        when: "当事人类型 != '个人'"
      - source: 案件调查终结报告.单位名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 案件处理审批表.单位法代
        target: 案件调查终结报告.单位法代
        when: "当事人类型 != '个人'"
      - source: 案件调查终结报告.单位法代
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 案件处理审批表.单位地址
        target: 案件调查终结报告.单位地址
        when: "当事人类型 != '个人'"
      - source: 案件调查终结报告.单位地址
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '2'
      check: match
      pairs:
      - source: 案件处理审批表.案由
        target: 案件调查终结报告.案由
      - source: 案件处理审批表.案件来源
        target: 案件调查终结报告.案件来源
        # 案件来源是开放词汇（投诉举报/群众举报/电话举报/来电举报/上级交办…
        # 无穷枚举），不用 canonicalize 字典维护。字面不等时走 rescue L1
        # match 做语义等价判定。
      - source: 案件处理审批表.立案日期
        target: 案件调查终结报告.立案日期
      - source: 案件处理审批表.立案编号
        target: 立案报告表.立案编号
      - source: 案件处理审批表.个人姓名
        target: 案件调查终结报告.个人姓名
        when: "当事人类型 != '单位'"
      - source: 案件处理审批表.个人性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人民族
        target: 证据复制（提取）单当事人.身份证民族
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人证件
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
        method: substring
      - source: 案件处理审批表.个人住址
        target: 案件调查终结报告.个人住址
        when: "当事人类型 != '单位'"
    - id: '3'
      check: ai
      prompt: "请根据以下卷宗信息，判断当事人基本情况及立案情况的记载是否准确一致。\n\n  【第一步：判断案件类型】\n\n  检查\"案件处理审批表\"\
        中的当事人单位名称字段值：\n  {{案件处理审批表.单位名称}}\n\n  - 如果该值为 \"/\"、\"-\"、空或其他占位符 → 这是**个人案件**，执行个人案件检查\n\
        \  - 如果该值是真实的单位名称 → 这是**单位案件**，执行单位案件检查\n\n  ---\n\n  【第二步-A：单位案件检查】（当事人为单位时执行）\n\
        \n  请逐一比对以下字段，判断是否一致：\n\n  1. 案由\n - 案件处理审批表：{{案件处理审批表.案由}}\n - 案件调查终结报告：{{案件调查终结报告.案由}}\n\
        \n  2. 案件来源\n - 案件处理审批表：{{案件处理审批表.案件来源}}\n - 案件调查终结报告：{{案件调查终结报告.案件来源}}\n\n\
        \  3. 立案编号\n - 案件处理审批表：{{案件处理审批表.立案编号}}\n - 立案报告表：{{立案报告表.立案编号}}\n\n  4. 立案日期\n\
        \ - 案件处理审批表：{{案件处理审批表.立案日期}}\n - 案件调查终结报告：{{案件调查终结报告.立案日期}}\n\n  5. 单位名称（三方核对）\n\
        \ - 案件处理审批表：{{案件处理审批表.单位名称}}\n - 案件调查终结报告：{{案件调查终结报告.单位名称}}\n - 证据复制（提取）单-营业执照：{{证据复制（提取）单.执照名称}}\n\
        \n  6. 法定代表人（三方核对）\n - 案件处理审批表：{{案件处理审批表.单位法代}}\n - 案件调查终结报告：{{案件调查终结报告.单位法代}}\n\
        \ - 证据复制（提取）单-营业执照：{{证据复制（提取）单.执照法代}}\n\n  7. 单位地址（三方核对）\n - 案件处理审批表：{{案件处理审批表.单位地址}}\n\
        \ - 案件调查终结报告：{{案件调查终结报告.单位地址}}\n - 证据复制（提取）单-营业执照：{{证据复制（提取）单.执照住所}}\n\n \
        \ ---\n\n  【第二步-B：个人案件检查】（当事人为个人或个体工商户时执行）\n\n  请逐一比对以下字段，判断是否一致：\n\n  1.\
        \ 案由\n - 案件处理审批表：{{案件处理审批表.案由}}\n - 案件调查终结报告：{{案件调查终结报告.案由}}\n\n  2. 案件来源\n\
        \ - 案件处理审批表：{{案件处理审批表.案件来源}}\n - 案件调查终结报告：{{案件调查终结报告.案件来源}}\n\n  3. 立案编号\n\
        \ - 案件处理审批表：{{案件处理审批表.立案编号}}\n - 立案报告表：{{立案报告表.立案编号}}\n\n  4. 立案日期\n - 案件处理审批表：{{案件处理审批表.立案日期}}\n\
        \ - 案件调查终结报告：{{案件调查终结报告.立案日期}}\n\n  5. 姓名\n - 案件处理审批表：{{案件处理审批表.个人姓名}}\n -\
        \ 案件调查终结报告：{{案件调查终结报告.个人姓名}}\n\n  6. 性别\n - 案件处理审批表：{{案件处理审批表.个人性别}}\n - 证据复制（提取）单-居民身份证：{{证据复制（提取）单当事人.身份证性别}}\n\
        \n  7. 民族\n - 案件调查终结报告：{{案件调查终结报告.个人民族}}\n - 证据复制（提取）单-居民身份证：{{证据复制（提取）单当事人.身份证民族}}\n\
        \n  8. 证件号码（包含匹配）\n - 案件调查终结报告：{{案件调查终结报告.个人证件}}\n - 证据复制（提取）单-居民身份证：{{证据复制（提取）单当事人.身份证号}}\n\
        \ - 注意：审批表中证件字段格式可能为\"居民身份证：44xxxxxxxx\"，判断时应提取纯号码部分进行比对\n\n  9. 住址\n - 案件处理审批表：{{案件处理审批表.个人住址}}\n\
        \ - 证据复制（提取）单-居民身份证：{{证据复制（提取）单当事人.身份证住址}}\n\n  ---\n\n  【判断规则】\n\n  - \"/\"\
        、\"-\"、\"—\" 等符号代表该字段不适用，不是有效值，遇到此类值的比对项直接跳过\n  - 只要有任意一个有效字段不一致，判定为**不通过**\n\
        \  - 所有有效字段均一致（或均为占位符可跳过），判定为**通过**\n"
    logic: 1 OR 2 OR 3
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十九条
    type: ai_rule
  - rule_id: JZ-JD-002
    name: 处罚决定书证据列举
    desc: 若找不到"证据："或者"证据："之后无内容，则扣分。
    risk: medium
    score: 10
    scope:
    - 处罚决定书
    stages:
    - id: '1'
      check: required
      field: 处罚决定书.证据列举
    messages:
      pass: 处罚决定书已列出相关证据。
      fail: 罚决定书未列出相关证据，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十九条
    type: deterministic
  - rule_id: JZ-JD-003
    name: 救济途径或期限告知明确性
    desc: 若未找到文本匹配内容，则扣分。
    risk: medium
    score: 5
    scope:
    - 处罚决定书
    stages:
    - id: '1'
      check: required
      field: 处罚决定书.救济途径
    messages:
      pass: 已告知救济途径和期限。
      fail: 救济途径或期限告知不明确或不正确，请核对。
    references_laws:
    - 《中华人民共和国烟草专卖法》第四十一条
    type: deterministic
  - rule_id: JZ-JD-004
    name: 行政处罚决定当事人基本情况记载准确性
    desc: 检查首段信息是否填写齐全，若存在未填内容，（字号：可为空），若不齐全，则扣分。 若当事人信息与证据中提取的信息不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 处罚决定书
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 处罚决定书.当事人
        target: 证据复制（提取）单.许可证企业名称
        when: "当事人类型 != '个人'"
      - source: 处罚决定书.字号
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 处罚决定书.统一社会信用代码
        target: 证据复制（提取）单.执照统一社会信用代码
        when: "当事人类型 != '个人'"
      - source: 处罚决定书.经营地址
        target: 证据复制（提取）单.许可证经营场所
        when: "当事人类型 != '个人'"
      - source: 证据复制（提取）单.许可证经营场所
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '2'
      check: match
      pairs:
      - source: 处罚决定书.当事人
        target: 证据复制（提取）单当事人.身份证姓名
        when: "当事人类型 != '单位'"
      - source: 处罚决定书.性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 处罚决定书.民族
        target: 证据复制（提取）单当事人.身份证民族
        when: "当事人类型 != '单位'"
      - source: 处罚决定书.身份证住址
        target: 证据复制（提取）单当事人.身份证住址
        when: "当事人类型 != '单位'"
      - source: 处罚决定书.身份证号码
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
      - source: 处罚决定书.经营地址
        target: 证据复制（提取）单.许可证经营场所
        when: "当事人类型 != '个人'"
      - source: 证据复制（提取）单.许可证经营场所
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
      - source: 处罚决定书.字号
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
    logic: 1 OR 2
    messages:
      pass: 当事人的基本情况记载齐全且准确。
      fail: 当事人的基本情况记载不齐全或不准确，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十九条
    type: deterministic
  - rule_id: JZ-JD-005
    name: 案由及裁量标准适用准确性
    desc: 结合案件处理审批表违法事实上下文判断案由是否合理准确；案由准确时，继续核对卷宗封面处理结果及处罚决定书罚款项目、基数、比例、总额是否符合对应裁量标准。
    risk: high
    score: 10
    scope:
    - 案件处理审批表
    - 立案报告表
    - 案件调查终结报告
    - 处罚决定书
    - 卷宗封面
    - 涉案物品核价表
    stages:
    - id: '1'
      check: ai
      prompt: |
        请按以下顺序评查案由和裁量标准适用，不得跳步。

        一、先判断案由是否合理、准确
        1. 读取违法事实上下文：
        - 案件处理审批表.案由：{{案件处理审批表.案由}}
        - 案件处理审批表.违法事实：{{案件处理审批表.违法事实}}
        - 案件处理审批表.承办人意见：{{案件处理审批表.承办人意见}}
        - 案件处理审批表.承办部门意见：{{案件处理审批表.承办部门意见}}
        - 立案报告表.案由：{{立案报告表.案由}}
        - 立案报告表.案情摘要：{{立案报告表.案情摘要}}
        - 案件调查终结报告.案由：{{案件调查终结报告.案由}}
        - 涉案物品核价表.核价明细：{{涉案物品核价表.核价明细}}

        2. 根据违法事实判断案由是否与事实一致：
        - 若事实涉及经营无合法来源证明进口烟草专卖品、电子烟等新型烟草制品，优先判断是否适用案由“经营无合法来源证明进口烟草专卖品、电子烟等新型烟草制品”。
        - 若事实涉及市场服务管理机构或电子商务平台发现上述行为后未制止、未报告，优先判断是否适用案由“不履行经营无合法来源证明进口烟草专卖品、新型烟草制品行为制止、报告义务”。
        - 若事实涉及明知他人经营无合法来源证明进口烟草专卖品、电子烟等新型烟草制品而提供运输、寄递、储存、资金、账号、发票、证明、包装、说明书、合格证等便利或服务，优先判断是否适用案由“为他人经营无合法来源证明进口烟草专卖品、新型烟草制品提供便利及服务”。
        - 其他一般烟草专卖行政处罚事项，按《广东省烟草专卖行政处罚裁量执行标准》中的违法行为判断，例如擅自收购烟叶、无烟草专卖品准运证运输烟草专卖品、为无准运证的单位或个人运输烟草专卖品、超限量邮寄或异地携带烟叶/烟草制品、无证生产、无证批发、未在当地烟草专卖批发企业进货、销售非法生产的烟草专卖品、为无烟草专卖零售许可证的单位或个人提供烟草制品、向未成年人销售卷烟等。

        3. 若案由与违法事实不一致、过宽、过窄、遗漏反走私新案由，或仅凭处罚结果倒推案由而事实不支持，判定不通过，并说明应适用的案由及事实依据。案由不准确时，不再继续判断罚款比例和总额。

        二、案由准确后，判断处理结果和罚款要素是否符合标准
        1. 读取处罚内容：
        - 卷宗封面.处理结果：{{卷宗封面.处理结果}}
        - 处罚决定书.罚款项目：{{处罚决定书.罚款项目}}
        - 处罚决定书.罚款基数：{{处罚决定书.罚款基数}}
        - 处罚决定书.罚款比例：{{处罚决定书.罚款比例}}
        - 处罚决定书.罚款总额：{{处罚决定书.罚款总额}}
        - 处罚决定书.罚款说明：{{处罚决定书.罚款说明}}

        2. 选择正确依据：
        - 对“无合法来源证明进口烟草专卖品、电子烟等新型烟草制品”相关案件，优先适用《广东省反走私综合治理条例》及《广东省烟草专卖局实施〈广东省反走私综合治理条例〉配套规定》确定的三类案由和裁量分档。
        - 其他一般烟草专卖行政处罚案件，适用《广东省烟草专卖行政处罚裁量权管理办法》及《广东省烟草专卖行政处罚裁量执行标准》。
        - 若同一违法行为违反多个规范且均应罚款，注意不得重复罚款，应按罚款数额高的规定处罚。

        3. 重点校验：
        - 处理结果是否包含对应标准要求的处罚种类，如没收违法所得、没收涉案物品、责令停止违法行为、责令关闭或停止经营、公开销毁、责令限期改正、警告、暂停业务或取消资格等。
        - 罚款项目是否与案由和处罚依据一致，不得把“进货总额”“货值”“违法销售总额”“违法所得”“销售总额”等基数口径混用。
        - 罚款基数是否能从违法事实、核价明细或处罚决定书说明中得到支持。
        - 罚款比例是否落入对应违法情节的裁量幅度；存在从轻、从重、减轻情节时，应结合裁量权管理办法判断是否说明并适用相应幅度。
        - 罚款总额是否与罚款基数和罚款比例匹配；若存在四舍五入或金额表述差异，应说明是否合理。

        三、输出要求
        - 通过：案由与违法事实一致，处理结果、罚款项目、罚款基数、罚款比例、罚款总额均符合对应标准。
        - 不通过：任一环节不符合即不通过，并列明问题字段、正确依据、应适用的案由或处罚幅度。
        - 证据不足：若违法事实、金额、数量、货值、违法所得等关键事实缺失，导致无法判断案由或裁量幅度，应判定不通过并提示补充核对，而不是猜测通过。
    messages:
      pass: 案由与违法事实一致，处理结果和罚款要素符合对应裁量标准。
      fail: 案由、处理结果或罚款要素与违法事实及裁量标准不一致，请核对。
    references_laws:
    - 《广东省烟草专卖行政处罚裁量权管理办法》
    - 《广东省烟草专卖行政处罚裁量执行标准》
    - 《广东省反走私综合治理条例》
    - 《广东省烟草专卖局实施〈广东省反走私综合治理条例〉配套规定》
    type: ai_rule
- group: JZG-SD
  rules:
  - rule_id: JZ-SD-001
    name: 法定时限送达
    desc: 若处罚决定书文尾的日期与处罚决定书的送达回证中的"签收日期"，之间的范围不在法定时限内，则扣分。
    risk: medium
    score: 10
    scope:
    - 处罚决定书
    - 送达回证
    stages:
    - id: '1'
      check: required
      fields:
      - 送达回证.签收日期
      - 处罚决定书.落款日期
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第六十一条
    type: deterministic
  - rule_id: JZ-SD-002
    name: 送达回证基本信息规范
    desc: 若收件人签名、签收时间、送达人签名、印章任意一项不存在，则扣分
    risk: medium
    score: 10
    scope:
    - 送达回证
    stages:
    - id: '1'
      check: required
      fields:
      - 送达回证.回证编号
      - 送达回证.送达文书名称
      - 送达回证.送达方式
      - 送达回证.签收日期
    messages:
      pass: 办案单位印章、送达人签名、收件人签名及签收时间填写规范。
      fail: 填写不规范，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第六十一条
    type: deterministic
- group: JZG-XC
  rules:
  - rule_id: JZ-XC-001
    name: 现场笔录时间地点完整性
    desc: 若现场笔录中时间或地点未记载，则扣分；若记载的时间与证据提取单中的时间、地点不一致，也扣分。
    risk: medium
    score: 10
    scope:
    - 现场笔录
    - 证据复制（提取）单
    stages:
    # 地点是文字型字段，用确定性 match 足够（fuzzy 可容忍小差异）
    - id: '1'
      check: match
      pairs:
      - source: 现场笔录.检查地点
        target: 证据复制（提取）单.现场地址
        method: fuzzy
    # 时间是语义型字段 —— 现场笔录.检查时间常是时间段（"16:10至17:00"），
    # 证据复制（提取）单.现场时间常是时间点（"16:20"）。不写字符串 parser，
    # 直接让 LLM 按业务语义判定（点落在段内视为一致）。
    - id: '2'
      check: ai
      prompt: |
        判断以下两个时间在业务上是否一致：

        - 现场笔录.检查时间：{{现场笔录.检查时间}}
        - 证据复制（提取）单.现场时间：{{证据复制（提取）单.现场时间}}

        判断原则：
        - 若两者都是时间点且值相同 → 一致
        - 若一方是时间段，另一方是时间点，且**点落在段内** → 一致
        - 若两者都是时间段且有重叠 → 一致
        - 若完全无关或对不上 → 不一致

        只判时间业务语义，不判格式差异（"2024 年 11 月 18 日"和"2024-11-18"视为同日）。
    logic: 1 AND 2
    messages:
      pass: 时间地点记录准确。
      fail: 时间地点记录缺失或与实际不一致，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
  - rule_id: JZ-XC-002
    name: 被检查人基本情况记载完整性-有无
    desc: 被检查人基本情况记载
    risk: medium
    score: 10
    scope:
    - 现场笔录
    stages:
    - id: '1'
      check: required
      fields:
      - 现场笔录.单位名称
      - 现场笔录.单位法代
      - 现场笔录.地址
      - 现场笔录.电话
      - 现场笔录.单位许可证号
    - id: '2'
      check: required
      fields:
      - 现场笔录.个人姓名
      - 现场笔录.个人性别
      - 现场笔录.个人证件
      - 现场笔录.地址
      - 现场笔录.电话
    - id: '3'
      check: required
      fields:
      - 现场笔录.现场负责人
      - 现场笔录.电话
      - 现场笔录.地址
    logic: (1 OR 2) AND 3
    messages:
      pass: 被检查人姓名、身份证号、地址、许可证号与证据一致，请检查其余基本信息是否完整准确。
      fail: 被检查人基本情况记录有误或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
  - rule_id: JZ-XC-003
    name: 被检查人基本情况记载完整性-一致
    desc: 检查现场笔录中被检查人信息与身份证/营业执照/许可证信息是否一致
    risk: medium
    score: 10
    scope:
    - 现场笔录
    - 立案报告表
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 现场笔录.单位名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 现场笔录.单位法代
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 现场笔录.单位许可证号
        target: 证据复制（提取）单.许可证号
        when: "当事人类型 != '个人'"
      - source: 证据复制（提取）单.许可证企业名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 证据复制（提取）单.许可证负责人
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 立案报告表.单位名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 立案报告表.单位法代
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 立案报告表.单位地址
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '2'
      check: match
      pairs:
      - source: 现场笔录.个人姓名
        target: 立案报告表.个人姓名
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人姓名
        target: 证据复制（提取）单当事人.身份证姓名
        when: "当事人类型 != '单位'"
      - source: 现场笔录.个人性别
        target: 立案报告表.个人性别
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 现场笔录.个人证件
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
      - source: 现场笔录.地址
        target: 立案报告表.个人住址
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人住址
        target: 证据复制（提取）单当事人.身份证住址
        when: "当事人类型 != '单位'"
    logic: 1 OR 2
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
  - rule_id: JZ-XC-004
    name: 被检查人签署意见合规性
    desc: 若被检查人拒绝签署意见及姓名，且执法人员未说明情况，则扣分。
    risk: medium
    score: 10
    scope:
    - 现场笔录
    stages:
    - id: '1'
      check: required
      fields:
      - 现场笔录.意见
      - 现场笔录.意见日期
      - 现场笔录.意见签名
    - id: '2'
      check: required
      field: 现场笔录.意见
    messages:
      pass: 被检查人已签署意见及姓名，或执法人员已说明拒绝签署的情况。
      fail: 被检查人拒绝签署但执法人员未说明情况，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
- group: JZG-DJ
  rules:
  - rule_id: JZ-DJ-001
    name: 批准保存时间记载完整性
    desc: 若负责人意见并签名栏后没有日期信息，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: required
      field: 证据先行登记保存批准书.负责人日期
    messages:
      pass: 已记载批准保存时间。
      fail: 批准保存时间未记载，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None
  - rule_id: JZ-DJ-002
    name: 证据先行登记保存批准书负责人意见并签名
    desc: 若行政机关负责人没有签署意见或姓名，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.负责人签名姓名
      - 证据先行登记保存批准书.负责人意见
      - 证据先行登记保存批准书.负责人日期
    messages:
      pass: 行政机关负责人已签署意见和姓名。
      fail: 行政机关负责人未签署意见或姓名，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None
  - rule_id: JZ-DJ-003
    name: 先行登记保存证据期限记载
    desc: 若没有文中"对先行登记保存的证据，应当在.....日内及时作出处理决定。"的描述，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.表格下方文字
      - 证据先行登记保存通知书.表格下方文字
    messages:
      pass: 已注明先行登记保存证据期限和处理决定期限。
      fail: 未注明相关期限，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None and 证据先行登记保存通知书 != None
  - rule_id: JZ-DJ-004
    name: 先行登记保存批准书或通知书文件校验
    desc: 若现场笔录中的情况说明中出现物品名称及规格描述，且文件中无批准书或通知书，则扣分。
    risk: medium
    score: 10
    scope:
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.表格品规
      - 证据先行登记保存通知书.表格品规
    - id: '2'
      check: ai
      prompt: '请判断以下 {{证据先行登记保存批准书.表格全文}} 和  {{证据先行登记保存通知书.表格全文}} 表述和数量一致

        '
    messages:
      pass: 存在先行登记保存批准书或通知书。
      fail: 缺少先行登记保存批准书或通知书，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
    activate_if: 证据先行登记保存批准书 != None and 证据先行登记保存通知书 != None
  - rule_id: JZ-DJ-005
    name: 批准书与通知书内容一致性
    desc: 若批准书和通知书内容不一致，则直接扣分；若一致，则与抽样清单中的物品数量进行比对，如果抽样清单中同一品种有多条记录则提示。 若当事人和见证人栏均无签名，则扣分
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 证据先行登记保存通知书.表格品规
        target: 证据先行登记保存批准书.表格品规
    messages:
      pass: 批准书与通知书内容一致
      fail: 批准书与通知书内容不一致，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None and 证据先行登记保存通知书 != None
  - rule_id: JZ-DJ-006
    name: 证据先行登记保存批准/通知书承办人签名日期
    desc: 若没有证据先行登记保存批准/通知书承办人签字或盖章，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.承办人日期
      - 证据先行登记保存通知书.承办人日期
      - 证据先行登记保存批准书.承办人签名1
      - 证据先行登记保存批准书.承办人签名2
      - 证据先行登记保存通知书.承办人签名1
      - 证据先行登记保存通知书.承办人签名2
    messages:
      pass: 有日期，案件承办人已签字或盖章。
      fail: 缺少印章、日期或承办人签字盖章，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None and 证据先行登记保存通知书 != None
  - rule_id: JZ-DJ-007
    name: 证据先行登记保存批准书负责人意见并签名
    desc: 若没有填写两名承办人意见及签名，负责人意见及签名，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.负责人日期
      - 证据先行登记保存批准书.负责人签名有无
      - 证据先行登记保存批准书.负责人意见有无
    messages:
      pass: 两名承办人签名，负责人意见及签名完整。
      fail: 两名承办人签名或负责人意见及签名缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None
  - rule_id: JZ-DJ-008
    name: 保存理由和内容记载完整性
    desc: 若首部没有保存理由描述，表格中没有规格和数量信息，则扣分。
    risk: medium
    score: 10
    scope:
    - 立案报告表
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: ai
      prompt: '{{立案报告表.案由}}

        {{证据先行登记保存批准书.标题下方文本}}

        案由应该要和标题下方文本同一个意思，案由会比较少字。帮我评查这个案由是否存在 在标题下方文本 中

        '
    - id: '2'
      check: ai
      prompt: '{{立案报告表.案情品种}}中提及的具体规格品种、数量应出现在{{证据先行登记保存批准书.表格品规}}中，但案情摘要中不一定会将全部规格品种都写全，评查尺度可以适当放松

        '
    - id: '3'
      check: ai
      prompt: '请根据以下信息判断案件类型，对个人（个体工商户）案件单独评查证据先行登记保存批准书内容是否完整。


        当事人-单位-名称: {{立案报告表.单位名称}}

        当事人-个人（个体工商户）-姓名: {{立案报告表.个人姓名}}

        证据先行登记保存批准书-表格内容-品种规格、单位、数量: {{证据先行登记保存批准书.表格品规}}


        判断逻辑：

        1. 如果单位-名称为空或为"/"，且个人-姓名不为空，则这是个人（个体工商户）案件

        2. 对于个人案件：只要证据先行登记保存批准书-表格内容-品种规格、单位、数量有内容（非空）；若为空

        3. 如果单位-名称有实际值（非空、非"/"）

        '
    logic: (1 AND 2) OR 3
    messages:
      pass: 已注明保存理由和内容。
      fail: 保存理由和内容未注明，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
    activate_if: 证据先行登记保存批准书 != None
  - rule_id: JZ-DJ-009
    name: 先行登记保存物品处理通知书当事人签字
    desc: 若通知书中当事人未签字或没有其他内容说明，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: required
      field: 证据先行登记保存通知书.当事人签名
    - id: '2'
      check: required
      field: 证据先行登记保存通知书.拒绝签名说明
    logic: 1 OR 2
    messages:
      pass: 当事人已在先行登记保存物品处理通知书上签字。
      fail: 当事人未签字或i没有情况说明，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存通知书 != None
  - rule_id: JZ-DJ-010
    name: 证据先行登记保存批准书负责人意见并签名
    desc: 检查涉案物品返还清单接收人签名、日期和印章是否完整，并通过正则检查损耗/返还信息
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.负责人意见
      - 证据先行登记保存批准书.负责人签名姓名
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None
  - rule_id: JZ-DJ-011
    name: 证据先行登记保存批准/通知书盖章
    desc: 检查先行登记保存批准书和通知书是否加盖行政机关印章
    risk: medium
    score: 5
    scope:
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: required
      fields:
      - 证据先行登记保存批准书.盖章
      - 证据先行登记保存通知书.盖章
    messages:
      pass: 有行政机关印章
      fail: 缺少印章，请核对
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 证据先行登记保存批准书 != None and 证据先行登记保存通知书 != None
- group: JZG-QR
  rules:
  - rule_id: JZ-QR-001
    name: 陈述申辩权利告知和听取
    desc: 若表述中不包含"享有陈述权和申辩权"、"...日内"、"...视为放弃"，任意一项，则扣分，
    risk: medium
    score: 10
    scope:
    - 行政处罚事先告知书
    stages:
    - id: '1'
      check: required
      field: 行政处罚事先告知书.权利告知
    messages:
      pass: 已告知当事人陈述申辩权利。
      fail: 未告知当事人陈述申辩相关权力，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第四十四条
    type: deterministic
  - rule_id: JZ-QR-002
    name: 行政处罚事先告知对象准确性
    desc: 若告知书首句中的姓名与当事人意见中的签名不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 行政处罚事先告知书
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 行政处罚事先告知书.当事人
        target: 行政处罚事先告知书.正文前称呼
    messages:
      pass: 行政处罚事先告知对象正确。
      fail: 行政处罚事先告知对象错误，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第四十四条
    type: deterministic
- group: JZG-QZ
  rules:
  - rule_id: JZ-QZ-001
    name: 当事人身份证明提取规范性
    desc: 若没有提取当事人身份证明，则扣分。
    risk: medium
    score: 10
    scope:
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: required
      fields:
      - 证据复制（提取）单当事人.身份证号
      - 证据复制（提取）单当事人.身份证背面
    messages:
      pass: 当事人身份证明已规范提取。
      fail: 当事人身份证明提取不规范或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
  - rule_id: JZ-QZ-002
    name: 查获物品情况记载准确性、合规性
    desc: 若批准书和通知书内容不一致，则直接扣分；若一致，则与抽样清单中的物品数量进行比对，如果抽样清单中同一品种有多条记录则提示。 若当事人和见证人栏均无签名，则扣分
    risk: medium
    score: 10
    scope:
    - 抽样取证物品清单
    - 涉案物品核价表
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: ai
      prompt: '请判断{{抽样取证物品清单.品种规格}}（若有）或{{涉案物品核价表.核价明细}}，以及{{证据先行登记保存批准书.表格品规}}、{{证据先行登记保存通知书.表格品规}}表述和数量一致。

        如果{{抽样取证物品清单.品种规格}}、{{涉案物品核价表.核价明细}}都不存在，则只需判断{{证据先行登记保存批准书.表格品规}}和{{证据先行登记保存通知书.表格品规}}的一致性

        '
    messages:
      pass: 查获物品情况、数量及当事人或见证人姓名记录准确。
      fail: 记录不准确或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
  - rule_id: JZ-QZ-003
    name: 核价文书记录的准确性（盖章）
    desc: 检查涉案物品核价表是否有涉案卷烟价格管理小组印章
    risk: medium
    score: 5
    scope:
    - 涉案物品核价表
    stages:
    - id: '1'
      check: required
      field: 涉案物品核价表.核价组印章
    messages:
      pass: 已正确加盖印章。
      fail: 印章加盖错误，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 涉案物品核价表 != None
  - rule_id: JZ-QZ-004
    name: 抽样取证物品清单完整性
    desc: 先行登记保存证据处理通知书"处理"方式选择第2项"送交...鉴定"时，卷宗内没有抽样取证物品清单，则扣分。
    risk: medium
    score: 10
    scope:
    - 先行登记保存证据处理通知书
    - 抽样取证物品清单
    stages:
    - id: '1'
      check: required
      field: 先行登记保存证据处理通知书.处理方式
    - id: '2'
      check: required
      fields:
      - 抽样取证物品清单.表格有内容
      - 抽样取证物品清单.当事人签名
    logic: (1 AND 2) OR (NOT 1)
    messages:
      pass: 抽样提取物证时有完整的物品清单。
      fail: 抽样提取物证时缺少物品清单，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 先行登记保存证据处理通知书 != None
  - rule_id: JZ-QZ-005
    name: 核价文书记录准确性
    desc: 若核价文书或记录中没有准确记载（计算核价结果错误）涉案物品情况，核价错误，则扣分。
    risk: medium
    score: 5
    scope:
    - 涉案物品核价表
    stages:
    - id: '1'
      check: ai
      prompt: '{{涉案物品核价表.表格全文}}

        请判断以表格中各品种规格的数量、单价计算的合计金额是否正确，各品种规格合计金额计算总计金额是否正确，请在计算的时候保留小数点后两位

        '
    messages:
      pass: 涉案物件核价表存在
      fail: 涉案物件核价表不存在或者信息内容有误
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
  - rule_id: JZ-QZ-006
    name: 价格证明合规性
    desc: 若批准书与通知书内容不一致，核价表中数量与批准书或通知书中不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 涉案物品核价表
    - 证据先行登记保存批准书
    - 证据先行登记保存通知书
    stages:
    - id: '1'
      check: ai
      prompt: '请判断以下三个表格物品和数量是否对应

        {{涉案物品核价表.核价明细}}

        {{证据先行登记保存批准书.表格品规}}

        {{证据先行登记保存通知书.表格品规}}

        '
    messages:
      pass: 价格证明符合要求，且有涉案物品核价依据或价格来源。
      fail: 价格证明不符合要求或缺少依据，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
- group: JZG-XW
  rules:
  - rule_id: JZ-XW-001
    name: 被询问人签署"记录属实"合规性
    desc: 若每页页尾被询问人处没有签名，则扣分；如果最后一页没有手写内容则提示。
    risk: medium
    score: 10
    scope:
    - 询问笔录
    stages:
    - id: '1'
      check: required
      field: 询问笔录.被询问人核实
    messages:
      pass: 被询问人已签署"记录属实"且逐页签名。
      fail: 被询问人未签署或未逐页签名，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十五条
    type: deterministic
  - rule_id: JZ-XW-002
    name: 询问笔录合规性
    desc: 通过AI判断询问笔录格式是否符合规范要求
    risk: medium
    score: 10
    scope:
    - 询问笔录
    stages:
    - id: '1'
      check: ai
      prompt: '请判断以下询问笔录中是否只有一名被询问人。被询问人信息：{{询问笔录当事人.被询问人姓名}}

        '
    messages:
      pass: 笔录仅询问一名被询问人。
      fail: 一份笔录询问多名被询问人，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十五条
    type: ai_rule
  - rule_id: JZ-XW-003
    name: 执法人员身份表明和权利告知
    desc: 若未在询问开始时表明执法人员身份，并告知当事人享有陈述申辩权和申请回避权，则扣分。
    risk: medium
    score: 5
    scope:
    - 询问笔录
    stages:
    - id: '1'
      check: required
      fields:
      - 询问笔录.执法人员信息
      - 询问笔录.权利告知
    messages:
      pass: 执法人员已表明身份并告知相关权利。
      fail: 未表明身份或未告知权利，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十五条
    type: deterministic
  - rule_id: JZ-XW-004
    name: 执法人员签名合规性
    desc: 若执法人员没有签名或只有一人签名，则扣分。
    risk: medium
    score: 10
    scope:
    - 询问笔录
    stages:
    - id: '1'
      check: required
      fields:
      - 询问笔录.询问人签名1
      - 询问笔录.询问人签名2
    messages:
      pass: 执法人员已签名，且有两人以上签名。
      fail: 执法人员签名缺失或不足两人，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第四十二条
    type: deterministic
  - rule_id: JZ-XW-005
    name: 被询问人基本情况记载全面性
    desc: 被询问人基本情况填写不全，或询问时间、地点未准确记载，则扣分。
    risk: medium
    score: 5
    scope:
    - 证据复制（提取）单
    - 询问笔录
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 询问笔录.询问地点
        target: 证据复制（提取）单.复制地点
      - source: 询问笔录当事人.被询问人姓名
        target: 证据复制（提取）单当事人.身份证姓名
        when: "当事人类型 != '单位'"
      - source: 询问笔录当事人.被询问人性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 询问笔录当事人.被询问人民族
        target: 证据复制（提取）单当事人.身份证民族
        when: "当事人类型 != '单位'"
      - source: 询问笔录当事人.被询问人证件
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
      - source: 询问笔录当事人.被询问人住址
        target: 证据复制（提取）单当事人.身份证住址
        when: "当事人类型 != '单位'"
      - source: 询问笔录.询问时间
        target: 证据复制（提取）单.复制时间
        method: fuzzy
      - source: 询问笔录当事人.被询问人经营地址
        target: 证据复制（提取）单.许可证经营场所
        when: "当事人类型 != '个人'"
    messages:
      pass: 被询问人基本情况、询问时间地点记录完整准确。
      fail: 记录不完整或不准确，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十五条
    type: deterministic
  - rule_id: JZ-XW-006
    name: 被询问人拒绝签署处理合规性
    desc: 检查被询问人拒绝签名时是否有情况说明记录
    risk: medium
    score: 10
    scope:
    - 询问笔录
    stages:
    - id: '1'
      check: required
      field: 询问笔录.被询问人签名
    - id: '2'
      check: required
      field: 询问笔录.拒绝签名说明
    logic: 1 OR 2
    messages:
      pass: 被询问人已签署或已记载拒绝情况。
      fail: 被询问人未签署且未记录情况说明，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十五条
    type: deterministic
- group: JZG-LA
  rules:
  - rule_id: JZ-LA-001
    name: 当事人基本情况记载完整、准确
    desc: 若当事人姓名、有效证件号码和地址未记载或与身份证中信息不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 立案报告表
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: required
      fields:
      - 立案报告表.单位名称
      - 立案报告表.单位法代
      - 立案报告表.单位电话
      - 立案报告表.单位地址
    - id: '2'
      check: required
      fields:
      - 立案报告表.个人姓名
      - 立案报告表.个人性别
      - 立案报告表.个人年龄
      - 立案报告表.个人民族
      - 立案报告表.个人证件
      - 立案报告表.个人电话
      - 立案报告表.个人住址
    - id: '3'
      check: match
      pairs:
      - source: 立案报告表.个人姓名
        target: 证据复制（提取）单当事人.身份证姓名
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人民族
        target: 证据复制（提取）单当事人.身份证民族
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人住址
        target: 证据复制（提取）单当事人.身份证住址
        when: "当事人类型 != '单位'"
      - source: 立案报告表.个人证件
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
    - id: '4'
      check: match
      pairs:
      - source: 立案报告表.单位名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 立案报告表.单位法代
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 立案报告表.单位地址
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '5'
      check: match
      pairs:
      - source: 立案报告表.个人姓名
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 立案报告表.个人住址
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '6'
      check: ai
      prompt: '请根据以下信息判断案件类型（个人案件或单位案件），并评查当事人基本情况是否记载完整。


        当事人-单位-名称: {{立案报告表.单位名称}}

        当事人-单位-法定代表人（负责人）: {{立案报告表.单位法代}}

        当事人-个人（个体工商户）-姓名: {{立案报告表.个人姓名}}

        当事人-个人（个体工商户）-性别: {{立案报告表.个人性别}}

        当事人-个人（个体工商户）-年龄: {{立案报告表.个人年龄}}

        当事人-个人（个体工商户）-民族: {{立案报告表.个人民族}}

        当事人-个人（个体工商户）-证件类型及号码: {{立案报告表.个人证件}}

        当事人-个人（个体工商户）-联系电话: {{立案报告表.个人电话}}

        当事人-个人（个体工商户）-住址: {{立案报告表.个人住址}}


        判断逻辑：

        1. 如果单位-名称为空或为"/"，且个人-姓名不为空，则这是个人（个体工商户）案件

        2. 对于个人案件：检查个人字段（姓名、性别、年龄、民族、证件类型及号码、联系电话、住址）是否都不为空——

        3. 如果单位-名称有实际值（非空、非"/"）

        '
    logic: (1 AND 4) OR 6
    messages:
      pass: 当事人基本情况记录完整，与身份证信息一致。
      fail: 当事人基本情况记录有误或缺失，请核对。
    references_laws:
    - 《中华人民共和国烟草专卖法》第三十八条
    type: ai_rule
  - rule_id: JZ-LA-002
    name: 案由、发案时间和发案地点记载准确性-有无
    desc: 若案由、发案时间和发案地点未记载或错误记载，则扣分。
    risk: medium
    score: 10
    scope:
    - 立案报告表
    stages:
    - id: '1'
      check: required
      field: 立案报告表.案由
    messages:
      pass: 案由、发案时间和发案地点记录准确。
      fail: 案由、发案时间和发案地点记录有误或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十四条
    type: deterministic
  - rule_id: JZ-LA-003
    name: 案件来源有无一致性校验
    desc: 若三处文档中的案件来源信息不一致或者存在未填写的情况，则扣分。
    risk: medium
    score: 5
    scope:
    - 案件处理审批表
    - 案件调查终结报告
    - 立案报告表
    stages:
    - id: '1'
      check: required
      fields:
      - 立案报告表.案件来源
      - 案件处理审批表.案件来源
      - 案件调查终结报告.案件来源
    - id: '2'
      check: match
      pairs:
      - source: 立案报告表.案件来源
        target: 案件处理审批表.案件来源
      - source: 案件处理审批表.案件来源
        target: 案件调查终结报告.案件来源
        # 案件来源是开放词汇（投诉举报/群众举报/电话举报/来电举报/上级交办…
        # 无穷枚举），不用 canonicalize 字典维护。字面不等时走 rescue L1
        # match 做语义等价判定。
    messages:
      pass: 案件来源完整
      fail: 没有记载案件来源或案件来源与其他文书不一致，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十四条
    type: deterministic
  - rule_id: JZ-LA-004
    name: 案由、发案时间和发案地点记载准确性-一致
    desc: 检查立案报告表案发时间/地点与现场笔录检查时间/地点是否一致
    risk: medium
    score: 10
    scope:
    - 现场笔录
    - 立案报告表
    stages:
    - id: '1'
      check: required
      fields:
      - 立案报告表.案发时间
      - 立案报告表.案发地点
      - 现场笔录.检查时间
      - 现场笔录.检查地点
    - id: '2'
      check: match
      pairs:
      - source: 立案报告表.案发时间
        target: 现场笔录.检查时间
        method: substring
    - id: '3'
      check: match
      pairs:
      - source: 现场笔录.检查地点
        target: 立案报告表.案发地点
    messages:
      pass: 案由、发案时间和发案地点记录准确。
      fail: 案由、发案时间和发案地点记录有误或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
  - rule_id: JZ-LA-005
    name: 承办人和承办部门意见
    desc: 承办人栏无描述、无签名、承办部门处无描述、无签名，出现任一一项则扣分。
    risk: medium
    score: 5
    scope:
    - 立案报告表
    stages:
    - id: '1'
      check: required
      fields:
      - 立案报告表.承办部门意见
      - 立案报告表.承办部门日期
      - 立案报告表.承办人意见
      - 立案报告表.承办人日期
      - 立案报告表.承办部门签名
      - 立案报告表.承办人签名2
      - 立案报告表.承办人签名1
    messages:
      pass: 承办人和承办部门意见及签名完整。
      fail: 承办人和承办部门意见及签名存在缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十四条
    type: deterministic
  - rule_id: JZ-LA-006
    name: 行政机关负责人明确意见、签字和日期
    desc: 若"负责人意见"栏中存在"不同意"或"不同意和意见描述"，留空则扣分。；负责人意见栏无描述、无签名、无日期，出现任一一项则扣分。
    risk: medium
    score: 10
    scope:
    - 立案报告表
    stages:
    - id: '1'
      check: required
      fields:
      - 立案报告表.负责人意见
      - 立案报告表.负责人签名
    messages:
      pass: 行政机关负责人意见、签字和日期完整。
      fail: 行政机关负责人意见、签字和日期缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
  - rule_id: JZ-LA-007
    name: 立案文书完整性检查（签名）
    desc: 检查立案报告表负责人意见处是否有签名
    risk: medium
    score: 10
    scope:
    - 立案报告表
    stages:
    - id: '1'
      check: required
      field: 立案报告表.负责人签名
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
  - rule_id: JZ-LA-008
    name: 案件情况清晰
    desc: 通过AI检查立案报告表案由和案情摘要表述是否清晰；若案件情况描述中，需出现案件时间、货物名称、（案由描述+条款引用）中所有信息，未出现任一一项则扣分。
    risk: low
    score: 1
    scope:
    - 立案报告表
    stages:
    - id: '1'
      check: ai
      prompt: |
        检查 案情摘要 是否覆盖以下 4 项要素（任一缺失才扣分）：
        1. 案件时间（检查/发案时间）
        2. 涉案货物名称或品种
        3. 案由描述（违法行为的事实陈述）
        4. 相关条款或法律依据的引用

        案由：{{立案报告表.案由}}
        案情摘要：{{立案报告表.案情摘要}}

        判定规则：
        - 4 项要素齐全 → pass
        - 有缺项 → fail
        - **不要**对文字风格、段落重复、句式冗余等格式问题扣分，只看内容是否齐全。
    messages:
      pass: 案件情况描述清晰。
      fail: 案件情况记录不清晰或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十四条
    type: ai_rule
- group: JZG-ZJ
  rules:
  - rule_id: JZ-ZJ-001
    name: 调查终结报告文件校验
    desc: 若没有调查终结报告，则扣分
    risk: medium
    score: 10
    scope:
    - 案件调查终结报告
    stages:
    - id: '1'
      check: required
      field: 案件调查终结报告.案由
    messages:
      pass: 存在完整的调查终结报告。
      fail: 缺少调查终结报告，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
  - rule_id: JZ-ZJ-002
    name: 案由、立案时间和当事人基本情况记载
    desc: 若当事人信息与提取出的信息不一致，则扣分。
    risk: medium
    score: 5
    scope:
    - 案件调查终结报告
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: required
      fields:
      - 案件调查终结报告.案件来源
      - 案件调查终结报告.案由
      - 案件调查终结报告.立案日期
      - 案件调查终结报告.单位名称
      - 案件调查终结报告.单位法代
      - 案件调查终结报告.单位电话
      - 案件调查终结报告.单位地址
    - id: '2'
      check: required
      fields:
      - 案件调查终结报告.案件来源
      - 案件调查终结报告.案由
      - 案件调查终结报告.立案日期
      - 案件调查终结报告.个人姓名
      - 案件调查终结报告.个人性别
      - 案件调查终结报告.个人年龄
      - 案件调查终结报告.个人民族
      - 案件调查终结报告.个人电话
      - 案件调查终结报告.个人证件
      - 案件调查终结报告.个人住址
    - id: '3'
      check: match
      pairs:
      - source: 案件调查终结报告.单位名称
        target: 证据复制（提取）单.执照名称
        when: "当事人类型 != '个人'"
      - source: 案件调查终结报告.单位法代
        target: 证据复制（提取）单.执照法代
        when: "当事人类型 != '个人'"
      - source: 案件调查终结报告.单位地址
        target: 证据复制（提取）单.执照住所
        when: "当事人类型 != '个人'"
    - id: '4'
      check: match
      pairs:
      - source: 案件调查终结报告.个人姓名
        target: 证据复制（提取）单当事人.身份证姓名
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人性别
        target: 证据复制（提取）单当事人.身份证性别
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人民族
        target: 证据复制（提取）单当事人.身份证民族
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人住址
        target: 证据复制（提取）单当事人.身份证住址
        when: "当事人类型 != '单位'"
      - source: 案件调查终结报告.个人证件
        target: 证据复制（提取）单当事人.身份证号
        when: "当事人类型 != '单位'"
    logic: (1 AND 3) OR (2 AND 4)
    messages:
      pass: 当事人基本情况记载准确。请检查案后及时间是否正确。
      fail: 记载不准确或缺失，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
  - rule_id: JZ-ZJ-003
    name: 当事人基本情况记载-一致
    desc: 检查调查终结报告中当事人基本信息与身份证信息是否一致
    risk: medium
    score: 1
    scope:
    - 案件调查终结报告
    - 证据复制（提取）单
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 案件调查终结报告.个人姓名
        target: 证据复制（提取）单当事人.身份证姓名
      - source: 案件调查终结报告.个人性别
        target: 证据复制（提取）单当事人.身份证性别
      - source: 案件调查终结报告.个人民族
        target: 证据复制（提取）单当事人.身份证民族
      - source: 案件调查终结报告.个人住址
        target: 证据复制（提取）单当事人.身份证住址
      - source: 案件调查终结报告.个人证件
        target: 证据复制（提取）单当事人.身份证号
    messages:
      pass: 文档检查通过，符合规范要求。
      fail: 文档存在以下问题，请修改后重新提交。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
  - rule_id: JZ-ZJ-004
    name: 案件调查终结报告承办人及承办部门负责人签字日期
    desc: 若没有承办人及承办人负责人签字、或者没有签字日期，则扣分。
    risk: medium
    score: 5
    scope:
    - 案件调查终结报告
    stages:
    - id: '1'
      check: required
      fields:
      - 案件调查终结报告.处理意见日期
      - 案件调查终结报告.处理意见承办人签名1
      - 案件调查终结报告.处理意见承办人签名2
    messages:
      pass: 承办人及承办部门负责人已签字并签署日期。
      fail: 缺少签字或日期，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
- group: JZG-CL
  rules:
  - rule_id: JZ-CL-001
    name: 法制部门或法制员意见明确性
    desc: 若法制部门意见栏无文字描述内容，则扣分。
    risk: medium
    score: 10
    scope:
    - 案件处理审批表
    stages:
    - id: '1'
      check: required
      fields:
      - 案件处理审批表.法制部门意见
      - 案件处理审批表.法制部门日期
      - 案件处理审批表.法制部门审核人签名
      - 案件处理审批表.法制部门负责人签名
    messages:
      pass: 法制部门或法制员意见明确。
      fail: 法制部门或法制员意见缺失或不明确，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十八条
    type: deterministic
  - rule_id: JZ-CL-002
    name: 案件处理审批表承办人意见和签名
    desc: 若承办人意见栏中无文字内容或无签名日期，则扣分。
    risk: medium
    score: 5
    scope:
    - 案件处理审批表
    stages:
    - id: '1'
      check: required
      fields:
      - 案件处理审批表.承办人意见
      - 案件处理审批表.承办人日期
      - 案件处理审批表.承办部门意见
      - 案件处理审批表.承办部门日期
      - 案件处理审批表.承办部门签名
      - 案件处理审批表.承办人签名1
      - 案件处理审批表.承办人签名2
    messages:
      pass: 承办人意见和签名完整。
      fail: 缺少承办人意见或签名，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十八条
    type: deterministic
  - rule_id: JZ-CL-003
    name: 案件处理审批表负责人审批意见明确性
    desc: 检查案件处理审批表负责人审批意见内容和日期是否完整
    risk: medium
    score: 10
    scope:
    - 案件处理审批表
    stages:
    - id: '1'
      check: required
      fields:
      - 案件处理审批表.负责人日期
      - 案件处理审批表.负责人意见
      - 案件处理审批表.负责人签名
    messages:
      pass: 行政机关负责人审批意见明确，签名和审批时间规范。
      fail: 审批意见不明确或签名审批时间不规范，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十七条
    type: deterministic
- group: JZG-ZG
  rules:
  - rule_id: JZ-ZG-001
    name: 行政处罚事先告知书送达
    desc: 若送达方式为"直接送达"，则收件人签名或盖章栏无信息，则扣分。 若送达方式为"邮寄送达"，则校验证据复制（提取）中是否有邮件回执，若不存在，则扣分。
    risk: medium
    score: 10
    scope:
    - 证据复制（提取）单
    - 送达回证
    stages:
    - id: '1'
      check: contains
      field: 送达回证.送达方式
      value: 直接送达
    - id: '2'
      check: contains
      field: 送达回证.送达方式
      value: 邮寄送达
    - id: '3'
      check: required
      field: 证据复制（提取）单.邮件回执
    logic: 1 OR (2 AND 3)
    messages:
      pass: 事先告知书已送达当事人。
      fail: 事先告知书可能未送达当事人，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第六十一条
    type: deterministic
- group: JZG-ZX
  rules:
  - rule_id: JZ-ZX-001
    name: 罚款、没收违法所得处罚执行规范性
    desc: 若不存在《缴款凭证》（含《广东省非税收入一般缴款书(电子)》及其收款证明等任何形式的缴款凭证），则扣分。若缴款书中金额与处罚决定书中金额总计不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 处罚决定书
    - 缴款凭证
    stages:
    - id: '1'
      check: required
      fields:
      - 缴款凭证.金额
      - 缴款凭证.收入项目
      - 处罚决定书.罚款项目
      - 处罚决定书.罚款基数
      - 处罚决定书.罚款比例
      - 处罚决定书.罚款总额
    - id: '2'
      check: ai
      prompt: '请分析{{处罚决定书.罚款项目}}对应{{处罚决定书.罚款基数}}乘{{处罚决定书.罚款比例}}，计算并校对与{{处罚决定书.罚款总额}}一致，同时{{处罚决定书.罚款总额}}与{{缴款凭证.金额}}需一致

        '
    messages:
      pass: 罚款、没收违法所得处罚已开具缴款书，有银行缴费收款证明，且与处罚决定书一致。
      fail: 未开具缴款书或无银行缴费证明，或与处罚决定书不一致，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第六十六条、第六十七条
    type: ai_rule
    activate_if: 缴款凭证 != None
  - rule_id: JZ-ZX-002
    name: 发还当事人物品与先行登记保存物品-一致
    desc: 若两份文件表格中，数量不一致，则涉案物品返还清单中备注一列需要有内容，没有内容则扣分。
    risk: medium
    score: 10
    scope:
    - 涉案物品返还清单
    - 证据先行登记保存批准书
    stages:
    - id: '1'
      check: ai
      prompt: '{{证据先行登记保存批准书.表格品规}}和{{涉案物品返还清单.返还明细}}表格中的物品和数量应当一致，若 涉案物品返还清单表格中的具体的品种规格和数量行列数据不一致，则通过涉案物品返还清单的备注的内容进一步判断是否一致（即数量+损耗数量）

        '
    messages:
      pass: 发还物品与先行登记保存物品一致，或不一致时已说明原因。
      fail: 发还物品与先行登记保存物品不一致且未说明原因，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: ai_rule
  - rule_id: JZ-ZX-003
    name: 损耗费用返还合规性
    desc: 若签名或盖章不存在，或日期未填写，则扣分。
    risk: medium
    score: 10
    scope:
    - 卷宗封面
    - 涉案物品返还清单
    stages:
    - id: '1'
      check: contains
      field: 卷宗封面.处理结果
      value: 销毁
    - id: '2'
      check: required
      field: 卷宗封面.处理结果
    - id: '3'
      check: required
      fields:
      - 涉案物品返还清单.日期
      - 涉案物品返还清单.补偿信息
      - 涉案物品返还清单.返还确认
      - 涉案物品返还清单.接收人签名
    - id: '4'
      check: required
      fields:
      - 涉案物品返还清单.日期
      - 涉案物品返还清单.接收单位印章
      - 涉案物品返还清单.补偿信息
      - 涉案物品返还清单.返还确认
    logic: (1 AND 2) OR ((NOT 1) AND 2 AND (3 OR 4))
    messages:
      pass: 已全部返还留样卷烟或鉴别检验损耗费用。
      fail: 未全部返还，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十六条
    type: deterministic
    activate_if: 涉案物品返还清单 != None or (卷宗封面 != None and 卷宗封面.处理结果 != None)
  - rule_id: JZ-ZX-004
    name: 缴款凭证填写规范性
    desc: 若处罚中有没收而文件中不存在没收收据，则扣分。
    risk: medium
    score: 5
    scope:
    - 处罚决定书
    - 缴款凭证
    stages:
    - id: '1'
      check: required
      fields:
      - 处罚决定书.罚款说明
      - 缴款凭证.备注
    messages:
      pass: 存在缴款凭证，请进一步确认填写是否规范。
      fail: 未找到缴款凭证，请核对文书是否齐全
    references_laws:
    - 《中华人民共和国行政处罚法》第六十七条
    type: deterministic
    activate_if: 缴款凭证 != None
- group: JZG-JA
  rules:
  - rule_id: JZ-JA-001
    name: 当事人名称、违法事实和处罚内容记载准确性
    desc: 若两份文书中的当事人名称不一致，则扣分。
    risk: medium
    score: 10
    scope:
    - 处罚决定书
    - 结案报告表
    stages:
    - id: '1'
      check: match
      pairs:
      - source: 结案报告表.当事人
        target: 处罚决定书.当事人
    messages:
      pass: 当事人名称、处罚内容记载一致，请进一步检查违法事实是否一致。
      fail: 当事人记载不准确，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十九条
    type: deterministic
  - rule_id: JZ-JA-002
    name: 行政处罚决定的执行结果记载
    desc: 若执行情况栏后不存在描述内容，则扣分。
    risk: medium
    score: 10
    scope:
    - 结案报告表
    stages:
    - id: '1'
      check: required
      field: 结案报告表.执行情况
    messages:
      pass: 行政处罚决定的执行结果存在对应记载内容。
      fail: 执行结果记载不准确，请核对。
    references_laws:
    - 《中华人民共和国行政处罚法》第七十一条
    type: deterministic
  - rule_id: JZ-JA-003
    name: 结案意见、签名及其时间填写规范性
    desc: 若承办人、承办机构负责人和办案单位负责人的意见、签名及其时间任意一项未找到，则扣分。
    risk: medium
    score: 10
    scope:
    - 结案报告表
    stages:
    - id: '1'
      check: required
      fields:
      - 结案报告表.承办人结案理由
      - 结案报告表.承办人结案日期
      - 结案报告表.承办部门意见
      - 结案报告表.承办部门日期
      - 结案报告表.负责人意见
      - 结案报告表.负责人日期
      - 结案报告表.负责人签名
      - 结案报告表.承办人结案签名1
      - 结案报告表.承办人结案签名2
      - 结案报告表.承办部门签名
    messages:
      pass: 意见、签名及其时间填写规范。
      fail: 填写不规范，请核对并更正。
    references_laws:
    - 《中华人民共和国行政处罚法》第五十四条
    type: deterministic
  - rule_id: JZ-JA-004
    name: 结案后按期立卷归档
    desc: 通过AI检查结案后是否在10日内立卷归档
    risk: medium
    score: 10
    scope:
    - 卷内备考表
    - 结案报告表
    stages:
    - id: '1'
      check: ai
      prompt: '请你判断{{卷内备考表.立卷时间}}与{{结案报告表.负责人日期}}是否相差小于10天

        '
    messages:
      pass: 结案后已按期立卷归档。
      fail: 结案后未按期立卷归档，请核对。
    references_laws:
    - 《烟草专卖行政处罚程序规定》
    type: ai_rule
