chore: initial commit — leaudit-platform project skeleton

17-table PostgreSQL schema with full Chinese column comments,
FastAPI project structure (admin/common/modules),
DSL rule files, and schema migration scripts.
This commit is contained in:
wren
2026-04-27 16:48:22 +08:00
commit 535d97a70c
142 changed files with 25219 additions and 0 deletions
+283
View File
@@ -0,0 +1,283 @@
# ═════════════════════════════════════════════════════════════════
# 建设工程合同 · 回归测试用例
# ═════════════════════════════════════════════════════════════════
# 配套文件:contract_construction.yaml
target: contract_construction.yaml
fixtures:
# ═════════════════════════════════════════════════════════════
# GC-000 · 基础信息完整性
# ═════════════════════════════════════════════════════════════
GC-000:
- name: 完整合规
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园小区 A 区建设工程
合同金额: 50000000
expected: pass
- name: 缺工程名称
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: null
合同金额: 50000000
expected: fail
# ═════════════════════════════════════════════════════════════
# GC-001 · 承包人资质合法性
# ═════════════════════════════════════════════════════════════
GC-001:
- name: 资质完整
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园小区 A 区建设工程
合同金额: 50000000
承包人统一信用代码: "91310000MA1K3H5K8L"
承包人资质等级: 一级
承包人资质证书编号: 建总包字 001234
expected: pass
- name: USCC 校验失败
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园小区 A 区建设工程
合同金额: 50000000
承包人统一信用代码: "91310000MA1K3H5K80"
承包人资质等级: 一级
承包人资质证书编号: 建总包字 001234
expected: fail
- name: GC-000 失败时本规则跳过
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: null # GC-000 会失败
工程名称: 某某花园小区 A 区建设工程
合同金额: 50000000
承包人统一信用代码: "91310000MA1K3H5K8L"
承包人资质等级: 一级
承包人资质证书编号: 建总包字 001234
expected: skipped_dependency
# ═════════════════════════════════════════════════════════════
# GC-002 · 金额三处一致性(核心规则)
# ═════════════════════════════════════════════════════════════
GC-002:
- name: 三处完全一致
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
投标价: 50000000
中标价: 50000000
expected: pass
- name: 合同金额高于中标价(阴阳合同嫌疑)
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 55000000
投标价: 50000000
中标价: 50000000
expected: fail
- name: 中标价与投标价不一致
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
投标价: 48000000 # ← 差了 200 万
中标价: 50000000
expected: fail
# ═════════════════════════════════════════════════════════════
# GC-003 · 质量标准明确性
# ═════════════════════════════════════════════════════════════
GC-003:
- name: 有国标引用
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
质量标准: 本工程质量应符合现行国家标准 GB 50300-2013《建筑工程施工质量验收统一标准》的合格等级要求
expected: pass
- name: 质量标准过短
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
质量标准: 符合国标
expected: fail
- name: 长度够但无标准引用
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
质量标准: 本工程质量应符合发包人要求,达到完工条件,承包人应严格按照图纸和规范施工
expected: fail
# ═════════════════════════════════════════════════════════════
# GC-004 · 安全文明施工条款完备性
# ⭐ has_all_keywords 必须全部命中
# ═════════════════════════════════════════════════════════════
GC-004:
- name: 安全条款完备
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
安全文明施工要求: |
承包人应严格执行安全生产规定:
(1) 严格落实三宝四口五临边防护措施;
(2) 所有施工人员必须佩戴安全帽;
(3) 严格控制扬尘,采取洒水降尘等措施;
(4) 严格控制噪音,夜间禁止施工。
expected: pass
- name: 缺"三宝四口五临边"
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
安全文明施工要求: |
承包人应执行安全生产规定:佩戴安全帽,控制扬尘,降低噪音。
expected: fail # 缺"三宝四口五临边"关键词
# ═════════════════════════════════════════════════════════════
# GC-005 · 工期合理性
# ═════════════════════════════════════════════════════════════
GC-005:
- name: 正常工期
phase: executed
extract:
开工日期: "2024-06-01"
竣工日期: "2025-12-31"
# derived.工期天数 = 578
expected: pass
- name: 竣工早于开工
phase: executed
extract:
开工日期: "2024-12-01"
竣工日期: "2024-06-01" # ← 颠倒
expected: fail
# ═════════════════════════════════════════════════════════════
# GC-006 · 质保金比例
# ═════════════════════════════════════════════════════════════
GC-006:
- name: 比例 2%
phase: executed
extract:
质保金比例: 0.02
expected: pass
- name: 比例 5%(超限)
phase: executed
extract:
质保金比例: 0.05
expected: fail
- name: 比例 3%(恰好到上限)
phase: executed
extract:
质保金比例: 0.03
expected: fail # money.lt 严格小于
# ═════════════════════════════════════════════════════════════
# GC-SEAL-001 · 双方签章齐全
# ═════════════════════════════════════════════════════════════
GC-SEAL-001:
- name: 双方签章且文字匹配
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
visual_manifest:
seals:
- id: 发包人公章
detection_score: 0.95
ocr_text: 某某开发建设有限公司
- id: 承包人公章
detection_score: 0.94
ocr_text: 某某建工集团有限公司合同专用章
expected: pass
- name: 承包人印章文字不符
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
visual_manifest:
seals:
- id: 发包人公章
detection_score: 0.95
ocr_text: 某某开发建设有限公司
- id: 承包人公章
detection_score: 0.94
ocr_text: 其他不相关单位公章 # ← 不符
expected: fail
- name: 草稿阶段无印章(skipped
phase: draft
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
visual_manifest:
seals: []
expected: skipped_phase
# ═════════════════════════════════════════════════════════════
# GC-GROUP-QUALITY · 质量综合规则组
# ═════════════════════════════════════════════════════════════
GC-GROUP-QUALITY:
- name: 质量与安全全部合规
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
质量标准: 本工程质量应符合现行国家标准 GB 50300-2013 合格要求
安全文明施工要求: |
严格落实三宝四口五临边,佩戴安全帽,控制扬尘和噪音。
expected: pass
- name: 质量不合格导致组失败
phase: executed
extract:
发包人名称: 某某开发建设有限公司
承包人名称: 某某建工集团有限公司
工程名称: 某某花园
合同金额: 50000000
质量标准: 符合国标 # 过于简略
安全文明施工要求: 严格落实三宝四口五临边,佩戴安全帽,控制扬尘和噪音。
expected: fail