feat: add tenant-scoped rule and permission management
This commit is contained in:
@@ -0,0 +1,612 @@
|
||||
metadata:
|
||||
type_id: contract.construction.general
|
||||
name: 建设工程合同
|
||||
version: 'v3'
|
||||
last_updated: '2026-05-07'
|
||||
parent: contract
|
||||
inherits_from:
|
||||
- base.common
|
||||
- base.party_info
|
||||
classification_keywords:
|
||||
- 建设工程
|
||||
- 工程承包
|
||||
- 施工合同
|
||||
- 总承包
|
||||
tags:
|
||||
- compliance
|
||||
- high_priority
|
||||
- prc_civil_code
|
||||
- construction_specific
|
||||
- safety_critical
|
||||
applies_to_jurisdictions:
|
||||
- prc
|
||||
references_laws:
|
||||
- 《民法典》第 788-808 条(建设工程合同章)
|
||||
- 《建筑法》第 25-41 条
|
||||
- 《建设工程质量管理条例》
|
||||
description: 建设工程施工合同评查规则。
|
||||
confidence_profile:
|
||||
allow_weight_override: false
|
||||
field_confidence_defaults:
|
||||
合同金额: 0.95
|
||||
投标价: 0.95
|
||||
中标价: 0.95
|
||||
extract:
|
||||
- group: 当事人
|
||||
fields:
|
||||
- name: 发包人名称
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 发包人统一信用代码
|
||||
type: uscc
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- name: 承包人名称
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 承包人统一信用代码
|
||||
type: uscc
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- name: 承包人资质等级
|
||||
type: enum
|
||||
allowed:
|
||||
- 特级
|
||||
- 一级
|
||||
- 二级
|
||||
- 三级
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 承包人资质证书编号
|
||||
type: verbatim
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- group: 合同基本信息
|
||||
fields:
|
||||
- name: 合同编号
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 签订日期
|
||||
type: date
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- group: 项目信息
|
||||
fields:
|
||||
- name: 工程名称
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 工程地点
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 工程规模
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 开工日期
|
||||
type: date
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- name: 竣工日期
|
||||
type: date
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- group: 金额(三处一致性检查的核心)
|
||||
fields:
|
||||
- name: 合同金额
|
||||
type: money
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 投标价
|
||||
type: money
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 中标价
|
||||
type: money
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 合同金额大写
|
||||
type: verbatim
|
||||
required_from: executed
|
||||
desc: ""
|
||||
- group: 招投标信息
|
||||
fields:
|
||||
- name: 招标文件编号
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 中标通知书编号
|
||||
type: verbatim
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- group: 质量条款
|
||||
fields:
|
||||
- name: 质量标准
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 质量等级
|
||||
type: enum
|
||||
allowed:
|
||||
- 合格
|
||||
- 优良
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 保修期限
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- group: 安全条款
|
||||
fields:
|
||||
- name: 安全文明施工要求
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- group: 工程款支付
|
||||
fields:
|
||||
- name: 预付款比例
|
||||
type: money
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 进度款支付方式
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 质保金比例
|
||||
type: money
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- group: 违约与争议
|
||||
fields:
|
||||
- name: 违约责任
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
- name: 争议解决
|
||||
type: string
|
||||
required_from: draft
|
||||
desc: ""
|
||||
derived_fields:
|
||||
- name: 工期天数
|
||||
type: integer
|
||||
compute: (竣工日期 - 开工日期).days
|
||||
depends_on:
|
||||
- 开工日期
|
||||
- 竣工日期
|
||||
- name: 质保金金额
|
||||
type: money
|
||||
compute: 合同金额 * 质保金比例
|
||||
depends_on:
|
||||
- 合同金额
|
||||
- 质保金比例
|
||||
visual_elements:
|
||||
seals:
|
||||
- id: 发包人公章
|
||||
name: 发包人公章回归
|
||||
required: true
|
||||
required_from: executed
|
||||
expected_text_match:
|
||||
field: 发包人名称
|
||||
allowed_types:
|
||||
- 公章
|
||||
- 合同专用章
|
||||
- id: 承包人公章
|
||||
name: 承包人公章或合同专用章
|
||||
required: true
|
||||
required_from: executed
|
||||
expected_text_match:
|
||||
field: 承包人名称
|
||||
allowed_types:
|
||||
- 公章
|
||||
- 合同专用章
|
||||
signatures: []
|
||||
cross_page_seals:
|
||||
- id: 骑缝章
|
||||
name: 建设工程合同骑缝章
|
||||
required: true
|
||||
required_from: executed
|
||||
expected_text_match:
|
||||
field: 发包人名称
|
||||
rules:
|
||||
- group: 基础检查
|
||||
rules:
|
||||
- rule_id: GC-000
|
||||
name: 基础信息完整性
|
||||
risk: high
|
||||
score: "10"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
fields:
|
||||
- 发包人名称
|
||||
- 承包人名称
|
||||
- 工程名称
|
||||
- 合同金额
|
||||
logic: and
|
||||
logic: "1"
|
||||
messages:
|
||||
pass: 基础信息完整
|
||||
fail: 缺少发包人/承包人/工程名称/合同金额
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 主体资质
|
||||
rules:
|
||||
- rule_id: GC-001
|
||||
name: 承包人资质合法性
|
||||
risk: high
|
||||
score: "15"
|
||||
version: 1
|
||||
depends_on:
|
||||
- when: GC-000.passed
|
||||
stages:
|
||||
- id: "1"
|
||||
check: format
|
||||
field: 承包人统一信用代码
|
||||
format: uscc
|
||||
- id: "2"
|
||||
check: required
|
||||
field: 承包人资质证书编号
|
||||
- id: "3"
|
||||
check: required
|
||||
field: 承包人资质等级
|
||||
logic: 1 AND 2 AND 3
|
||||
messages:
|
||||
pass: 承包人资质信息完整
|
||||
fail: 承包人资质信息不完整或 USCC 无效
|
||||
references_laws:
|
||||
- 《建筑法》第 13 条(施工企业资质)
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 金额合规
|
||||
rules:
|
||||
- rule_id: GC-002
|
||||
name: 金额三处一致性
|
||||
risk: high
|
||||
score: "20"
|
||||
version: 1
|
||||
depends_on:
|
||||
- when: GC-000.passed
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
fields:
|
||||
- 合同金额
|
||||
- 投标价
|
||||
- 中标价
|
||||
logic: and
|
||||
- id: "2"
|
||||
check: match
|
||||
pairs:
|
||||
- source: 合同金额
|
||||
target: 中标价
|
||||
method: exact
|
||||
- source: 中标价
|
||||
target: 投标价
|
||||
method: exact
|
||||
logic: 1 AND 2
|
||||
messages:
|
||||
pass: 合同金额与投标价、中标价一致
|
||||
fail: 合同金额与投标价/中标价不一致,涉嫌虚假招标
|
||||
references_laws:
|
||||
- 《招标投标法》第 46 条(不得背离实质性内容订立合同)
|
||||
- 《招标投标法实施条例》第 57 条
|
||||
remediation:
|
||||
suggestions:
|
||||
- 合同金额 {{合同金额}} / 中标价 {{中标价}} / 投标价 {{投标价}}
|
||||
- 三者应完全一致。不一致时涉嫌"阴阳合同"或变相抬价
|
||||
- 建议立即核对招标文件原件
|
||||
actions:
|
||||
- type: upload_file
|
||||
label: 上传招标文件原件
|
||||
file_type: 招标文件
|
||||
accept:
|
||||
- pdf
|
||||
- type: escalate
|
||||
label: 涉嫌阴阳合同,上报合规
|
||||
role: 合规专员
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 质量条款
|
||||
rules:
|
||||
- rule_id: GC-003
|
||||
name: 质量标准明确性
|
||||
risk: high
|
||||
score: "10"
|
||||
version: 1
|
||||
depends_on:
|
||||
- when: GC-000.passed
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
field: 质量标准
|
||||
- id: "2"
|
||||
type: string.min_length
|
||||
field: 质量标准
|
||||
min: 30
|
||||
- id: "3"
|
||||
check: contains
|
||||
field: 质量标准
|
||||
any_of:
|
||||
- GB 50
|
||||
- GB/T
|
||||
- 合格
|
||||
- 优良
|
||||
- 现行国家标准
|
||||
logic: 1 AND 2 AND 3
|
||||
messages:
|
||||
pass: 质量标准明确
|
||||
fail: 质量标准过于简略或未引用具体标准
|
||||
references_laws:
|
||||
- 《民法典》第 802 条
|
||||
- 《建设工程质量管理条例》第 14 条
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- rule_id: GC-OLD-003
|
||||
name: 旧版质量标准检查
|
||||
risk: medium
|
||||
score: "5"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
field: 质量标准
|
||||
logic: "1"
|
||||
messages:
|
||||
pass: 有质量条款(注意:本规则已弃用,请使用 GC-003)
|
||||
fail: 缺少质量条款
|
||||
type: deterministic
|
||||
deprecated:
|
||||
since: 2025-06-01
|
||||
replacement: GC-003
|
||||
reason: |
|
||||
旧版仅检查质量条款存在性,不检查标准引用的具体性。
|
||||
GC-003 增加了对 GB/GB-T 国标引用的要求。
|
||||
desc: ""
|
||||
- group: 安全条款
|
||||
rules:
|
||||
- rule_id: GC-004
|
||||
name: 安全文明施工条款完备性
|
||||
risk: high
|
||||
score: "15"
|
||||
version: 1
|
||||
depends_on:
|
||||
- when: GC-000.passed
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
field: 安全文明施工要求
|
||||
- id: "2"
|
||||
type: string.min_length
|
||||
field: 安全文明施工要求
|
||||
min: 50
|
||||
- id: "3"
|
||||
check: contains
|
||||
field: 安全文明施工要求
|
||||
all_of:
|
||||
- 三宝四口五临边
|
||||
- 安全帽
|
||||
- 扬尘
|
||||
- 噪音
|
||||
logic: 1 AND 2 AND 3
|
||||
messages:
|
||||
pass: 安全文明施工条款完备
|
||||
fail: 安全文明施工条款不完备,缺少关键要素
|
||||
references_laws:
|
||||
- 《建筑法》第 36-41 条
|
||||
- 《建设工程安全生产管理条例》
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 工期条款
|
||||
rules:
|
||||
- rule_id: GC-005
|
||||
name: 工期合理性
|
||||
risk: medium
|
||||
score: "5"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
fields:
|
||||
- 开工日期
|
||||
- 竣工日期
|
||||
logic: and
|
||||
- id: "2"
|
||||
type: date.after
|
||||
field: 竣工日期
|
||||
ref_field: 开工日期
|
||||
- id: "3"
|
||||
check: compare
|
||||
left: derived.工期天数
|
||||
op: ">"
|
||||
right: 0
|
||||
logic: 1 AND 2 AND 3
|
||||
messages:
|
||||
pass: 工期 {{derived.工期天数}} 天合理
|
||||
fail: 开工/竣工日期颠倒或工期异常
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 金额条款
|
||||
rules:
|
||||
- rule_id: GC-006
|
||||
name: 质保金比例不超过 3%
|
||||
risk: medium
|
||||
score: "5"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
field: 质保金比例
|
||||
- id: "2"
|
||||
check: compare
|
||||
left: 质保金比例
|
||||
op: <
|
||||
right: 0.03
|
||||
logic: 1 AND 2
|
||||
messages:
|
||||
pass: 质保金比例 {{质保金比例}} 合规
|
||||
fail: 质保金比例超过 3% 上限
|
||||
references_laws:
|
||||
- 《建设工程质量保证金管理办法》第 7 条
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 招投标合规
|
||||
rules:
|
||||
- rule_id: GC-007
|
||||
name: 招投标文件齐全
|
||||
risk: high
|
||||
score: "10"
|
||||
version: 1
|
||||
depends_on:
|
||||
- when: GC-000.passed
|
||||
stages:
|
||||
- id: "1"
|
||||
check: required
|
||||
fields:
|
||||
- 招标文件编号
|
||||
- 中标通知书编号
|
||||
logic: and
|
||||
logic: "1"
|
||||
messages:
|
||||
pass: 招投标文件齐全
|
||||
fail: 缺少招标文件或中标通知书编号
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 印章合规
|
||||
rules:
|
||||
- rule_id: GC-SEAL-001
|
||||
name: 双方签章齐全
|
||||
risk: high
|
||||
score: "15"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
type: seal.present
|
||||
seal_id: 发包人公章
|
||||
- id: "2"
|
||||
type: seal.present
|
||||
seal_id: 承包人公章
|
||||
- id: "3"
|
||||
type: seal.text_match
|
||||
seal_id: 发包人公章
|
||||
- id: "4"
|
||||
type: seal.text_match
|
||||
seal_id: 承包人公章
|
||||
logic: 1 AND 2 AND 3 AND 4
|
||||
messages:
|
||||
pass: 双方签章齐全且文字匹配
|
||||
fail: 缺少签章或印章文字与当事人名称不符
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- rule_id: GC-SEAL-002
|
||||
name: 骑缝章完整
|
||||
risk: high
|
||||
score: "10"
|
||||
version: 1
|
||||
stages:
|
||||
- id: "1"
|
||||
type: cross_page_seal.complete
|
||||
seal_id: 骑缝章
|
||||
logic: "1"
|
||||
messages:
|
||||
pass: 骑缝章完整
|
||||
fail: 骑缝章缺失,合同可能被替换页
|
||||
type: deterministic
|
||||
desc: ""
|
||||
- group: 质量综合
|
||||
rules:
|
||||
- rule_id: GC-GROUP-QUALITY
|
||||
name: 质量条款综合评查
|
||||
risk: high
|
||||
score: "25"
|
||||
logic: GC-003 AND GC-004
|
||||
messages:
|
||||
pass: 质量与安全条款完备
|
||||
fail: 质量或安全条款有瑕疵
|
||||
type: rule_group
|
||||
rules:
|
||||
- GC-003
|
||||
- GC-004
|
||||
desc: ""
|
||||
- group: 印章综合
|
||||
rules:
|
||||
- rule_id: GC-GROUP-SEAL
|
||||
name: 印章综合评查
|
||||
risk: high
|
||||
score: "25"
|
||||
logic: GC-SEAL-001 AND GC-SEAL-002
|
||||
messages:
|
||||
pass: 签章与骑缝章齐全合规
|
||||
fail: 印章有瑕疵,合同可能被篡改
|
||||
type: rule_group
|
||||
rules:
|
||||
- GC-SEAL-001
|
||||
- GC-SEAL-002
|
||||
desc: ""
|
||||
- group: 我方权益保护
|
||||
rules:
|
||||
- rule_id: GC-OUR-001
|
||||
name: 我方缔约地位及不利条款审查
|
||||
risk: high
|
||||
score: "10"
|
||||
stages:
|
||||
- id: "1"
|
||||
check: ai
|
||||
field: ctx
|
||||
prompt: |-
|
||||
请基于合同全文判断我方(中国烟草相关公司/专卖局)在本合同中的缔约地位,并审查是否存在强势条款或不利于我方的条款。
|
||||
|
||||
合同全文字段来源:ctx。该字段由后端负责注入和匹配。
|
||||
合同全文:{{ctx}}
|
||||
|
||||
评查步骤:
|
||||
1. 识别合同中是否存在中国烟草相关主体,包括但不限于“中国烟草”“烟草公司”“烟草专卖局”“中烟”“卷烟厂”“烟草工业”“烟草商业”等名称或其分支机构。
|
||||
2. 判断该主体是我方,并识别我方在合同中的地位:甲方、乙方、发包人、承包人、委托方、受托方、出租方、承租方、出借人、借款人、赠与方、受赠方或其他。
|
||||
3. 从合同全文审查是否存在明显偏向对方、加重我方责任、限制我方权利、降低对方责任、增加我方付款/赔偿/解除限制/验收风险/知识产权风险/保密风险/争议解决不利风险的条款。
|
||||
4. 若无法识别我方主体或我方地位,应返回无法判断,并说明原因,不得臆测。
|
||||
|
||||
强势或不利条款示例:
|
||||
- 对方可单方变更、解除、延期履行,而我方缺少对应权利。
|
||||
- 我方承担高额违约金、无限责任、连带责任或无上限赔偿,对方责任明显较轻。
|
||||
- 付款条件、验收、交付、质量、质保、知识产权、保密、争议解决、管辖地等安排明显不利于我方。
|
||||
- 排除或限制我方依法解除、抗辩、追偿、索赔、验收异议或审计监督权利。
|
||||
|
||||
请以JSON格式回答:{"passed": true/false, "our_party": "我方主体名称或无法判断", "our_position": "甲方/乙方/发包人/承包人/委托方/受托方/出租方/承租方/出借人/借款人/赠与方/受赠方/其他/无法判断", "has_strong_terms": true/false, "has_unfavorable_terms": true/false, "risk_terms": ["风险条款摘要"], "reason": "判断理由", "suggestion": "修改建议"}
|
||||
schema:
|
||||
type: object
|
||||
required:
|
||||
- passed
|
||||
- our_party
|
||||
- our_position
|
||||
- has_strong_terms
|
||||
- has_unfavorable_terms
|
||||
- reason
|
||||
properties:
|
||||
passed:
|
||||
type: boolean
|
||||
our_party:
|
||||
type: string
|
||||
our_position:
|
||||
type: string
|
||||
has_strong_terms:
|
||||
type: boolean
|
||||
has_unfavorable_terms:
|
||||
type: boolean
|
||||
risk_terms:
|
||||
type: array
|
||||
reason:
|
||||
type: string
|
||||
suggestion:
|
||||
type: string
|
||||
pass_when: passed == True
|
||||
logic: "1"
|
||||
messages:
|
||||
pass: 未发现明显强势条款或不利于我方的条款
|
||||
fail: 存在强势条款、不利于我方的条款或无法判断我方缔约地位
|
||||
type: ai_rule
|
||||
desc: 基于ctx合同全文识别我方缔约地位并评查我方权益风险。
|
||||
sub_documents: []
|
||||
Reference in New Issue
Block a user