
Case S10 Hallucination
- 1 installs
- 1 repo stars
- Updated August 4, 2026
- gcheng-001/legal-skills
Validates every statute citation from steps S1-S9 across three layers and runs an eight-consistency quality check, auto-blocking on detected hallucinations.
About
Step S10 of a nine-step civil-litigation method that independently verifies statute references and runs an eight-consistency check on the draft, blocking progress if a citation is fabricated. A Chinese-law lawyer uses it as the pre-final quality gate before producing a document.
- Three-layer statute verification with automatic blocking on hallucination
- Reads S9 output via prioritized paths and eight-consistency JSON check
Case S10 Hallucination by the numbers
- 1 all-time installs (skills.sh)
- Ranked #1,361 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/gcheng-001/legal-skills --skill case-s10-hallucinationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 1 |
| Last updated | August 4, 2026 |
| Repository | gcheng-001/legal-skills ↗ |
What it does
Validates every statute citation from steps S1-S9 across three layers and runs an eight-consistency quality check, auto-blocking on detected hallucinations.
Files
case-s10-hallucination(S10)幻觉校验和八个一致
工作定位
独立校验S1-S9中所有法条引用,三层校验确认法条存在且内容匹配,发现幻觉自动阻断。同时执行八个一致质量检查,评估裁判文书质量。
触发条件:S1-S9完成后、FINAL前必须执行;无法条引用时记录“无引用”,仍执行八个一致和 blocking_result 门禁 必须确认:自动阻断 执行后:调用Hook脚本更新状态 输出格式:JSON frontmatter + Markdown 正文(JSON frontmatter 包含 eight_consistency_check 对象)
---
S10 读取 S9 的多路径规范
S10 执行前需读取 S9 输出,按以下优先级尝试:
原告 S9 路径(按优先级): 1. intermediate/原告九步法/S9-要件归入与裁判预测/S9-要件归入与裁判预测.md 2. intermediate/原告九步法/S9-要件归入与裁判预测.md 3. intermediate/原告九步法/S9-要件归入.md
被告 S9 路径(按优先级): 1. intermediate/被告九步法/S9-要件归入与裁判预测/S9-要件归入与裁判预测.md 2. intermediate/被告九步法/S9-要件归入与裁判预测.md
读取流程: 1. 优先解析 JSON frontmatter(^---\n(.*?)\n---\n 匹配后 json.loads()) 2. 失败则回退 Markdown 正文提取,仍失败标记 s9_consumption_check.s9_read_status = "unresolved" 并 CRITICAL 阻断进入 FINAL 3. 不得补造 S9 结论
S9→S10 字段映射(四个关键 EC):
| EC | S9 来源字段 | 用途 |
|---|---|---|
| EC_02 | element_imputation[].element_id + element_imputation[].fact_match + S4/S2 构成要件 | 诉讼主张与基础规范一致 |
| EC_05 | element_imputation[].matched_fact_ids + S8.fact_findings | 认定事实与事实争点一致 |
| EC_06 | rationale + syllogistic_reasoning[] + element_imputation[].gap_analysis | 法律理由与法律争点一致 |
| EC_07 | S1.fixed_claims + judgment_conclusion.judgment_content.draft_text + amount_recommendation | 判决主文与诉讼请求一致 |
阻断条件:
- S9 unresolved → CRITICAL 阻断
predict_marker缺失 → CRITICAL 阻断finalization_language_detected(含confirmed/final/定论/胜诉/败诉) → CRITICAL 阻断- EC_02/EC_05/EC_06/EC_07 任一不合格 → CRITICAL 阻断
S10 守门员原则:S10 可以阻断进入 FINAL,但不得修改 S9 的 pending_review/predict_marker 或任何 S9 结论字段。
---
触发判断
扫描 intermediate/原告九步法/ 下所有已生成的 .md 文件 → 检测是否包含法条引用模式(如"第X条""《XXX法》""依据XX规定") → 有引用 → 触发 S10,执行法条校验和八个一致检查 → 无引用 → 仍触发 S10,但法条校验记录为"无引用",八个一致检查仍须执行 → S10 blocking_result.is_blocked=false 且 can_enter_final=true 时方可进入 FINAL → S10 blocking_result.is_blocked=true 时阻断进入 FINAL
重要:进入 FINAL 或生成诉讼文书前必须执行 S10。无法条引用时只记录无引用,不得跳过八个一致检查或 blocking_result 门禁。
---
执行流程
第一步:收集法条引用
从S1/S2/S3/S4/S5/S7/S9中提取所有法条引用:
| 步骤 | 引用法条 | 原文 |
|---|---|---|
| S2 | 《民法典》第577条 | "依据《民法典》第577条..." |
| S3 | 《民法典》第525条 | "根据《民法典》第525条..." |
第二步:三层校验
第一层:元典平台复验(优先)
cd ~/.claude/skills/law-search
python3 scripts/yd_search.py search "民法典 第577条" --sxx 现行有效
python3 scripts/yd_search.py detail "民法典" --ft-name "第577条"确认法条存在且内容匹配。
第二层:北大法宝复验(备用,需手动启用)
⚠️ 北大法宝MCP当前已禁用。如需使用,请在 settings.local.json 中添加相应权限。
# 需要先在 settings.local.json 中启用:
# "mcp__pkulaw-law-search__search_article"
# "mcp__pkulaw-law-search__get_article"
mcp__pkulaw-law-search__search_article(text="民法典 第577条")
mcp__pkulaw-law-search__get_article(title="中华人民共和国民法典", number="577")第三层:DeepSeek兜底
调用 review_with_deepseek.py 做独立质疑(仅在前两层有分歧时)。
第二步A:八个一致质量检查(新增)
说明:基于 live case-os 资源执行八个一致质量检查
检查依据
- 引用资源(不复制):
../case-os/references/eight_consistency_rules.json - 引用资源(不复制):
../case-os/schema/eight_consistency_check_schema.json - 引用资源(不复制):
../case-os/examples/nine_step_loan_case/expected_s10_consistency_check.json
八个一致检查项
1. 当事人诉辩一致:检查原告的诉讼主张应与其起诉状一致,被告的诉讼主张应与其答辩状及笔录记载的相一致 2. 诉讼主张与基础规范一致:检查原告诉讼主张应包含请求权基础规范涵盖的所有构成要件,被告抗辩主张应包含抗辩权基础规范涵盖的所有构成要件 3. 诉讼争点与诉讼主张一致:检查判决书是否在全面反映当事人诉辩意见的基础上,准确概括当事人的争议焦点 4. 诉讼证据与诉讼主张一致:检查所有要件事实是否均有证据证明,认诺和自认是否经当事人明示 5. 认定事实与事实争点一致:检查裁判文书是否对事实争点作出认定,对事实争点的认定是否完整 6. 法律理由与法律争点一致:检查对于当事人的法律争点,是否逐一写明法院是否采纳,并写明理由 7. 判决主文与诉讼请求一致:检查判决主文是否与原告的诉讼请求完全对应 8. 引用条文与判决主文一致:检查引用的法律条文是否与判决主文相对应
执行方式
# 引用 live case-os 资源执行八个一致检查
import json
from pathlib import Path
# 加载八个一致规则(引用,不复制)
rules_path = Path("../case-os/references/eight_consistency_rules.json")
with open(rules_path) as f:
consistency_rules = json.load(f)
# 执行八个一致检查
consistency_check_results = {}
for rule_id, rule_content in consistency_rules["principles"]:
rule_name = rule_content["name"]
consistency_check_results[rule_name] = {
"检查结果": check_consistency(rule_name, rule_content),
"具体问题": identify_issues(rule_name)
}
# 计算质量评分
quality_score = calculate_quality_score(consistency_check_results)输出格式
八个一致检查结果输出到 JSON frontmatter:
{
"eight_consistency_check": {
"当事人诉辩一致": {
"检查结果": "通过",
"具体问题": []
},
"诉讼主张与基础规范一致": {
"检查结果": "通过",
"具体分析": []
},
"诉讼争点与诉讼主张一致": {
"检查结果": "通过",
"具体问题": []
},
"诉讼证据与诉讼主张一致": {
"检查结果": "通过",
"具体问题": []
},
"认定事实与事实争点一致": {
"检查结果": "通过",
"具体问题": []
},
"法律理由与法律争点一致": {
"检查结果": "通过",
"具体问题": []
},
"判决主文与诉讼请求一致": {
"检查结果": "通过",
"具体问题": []
},
"引用条文与判决主文一致": {
"检查结果": "通过",
"具体问题": []
}
},
"quality_score": {
"total_consistency_score": 85,
"critical_rules_score": 90,
"form_rules_score": 75
},
"recommendations": []
}第三步:生成校验报告
输出格式:JSON frontmatter + Markdown 正文
JSON frontmatter(新增,包含八个一致检查):
{
"step_id": "S10",
"status": "pending_review",
"input_refs": {
"s1_path": "intermediate/原告九步法/S1-固定权利请求/S1-固定权利请求.md",
"s2_path": "intermediate/原告九步法/S2-请求权基础/S2-请求权基础.md",
"s4_path": "intermediate/原告九步法/S4-要件分析/S4-要件分析.md",
"s8_path": "intermediate/原告九步法/S8-事实认定/S8-事实认定.md",
"s9_path": "intermediate/原告九步法/S9-要件归入与裁判预测/S9-要件归入与裁判预测.md",
"s9_reference_status": "resolved"
},
"hallucination_check": {
"statute_accuracy": [],
"case_consistency": [],
"logic_validity": {
"is_valid": true,
"fallacy_detected": false,
"fallacy_type": null
}
},
"eight_consistency_check": {
"当事人诉辩一致": {
"检查结果": "通过",
"具体问题": []
},
"诉讼主张与基础规范一致": {
"检查结果": "通过",
"具体分析": []
},
"诉讼争点与诉讼主张一致": {
"检查结果": "通过",
"具体问题": []
},
"诉讼证据与诉讼主张一致": {
"检查结果": "通过",
"具体问题": []
},
"认定事实与事实争点一致": {
"检查结果": "通过",
"具体问题": []
},
"法律理由与法律争点一致": {
"检查结果": "通过",
"具体问题": []
},
"判决主文与诉讼请求一致": {
"检查结果": "通过",
"具体问题": []
},
"引用条文与判决主文一致": {
"检查结果": "通过",
"具体问题": []
}
},
"s9_consumption_check": {
"s9_read_status": "resolved",
"s9_json_parse": true,
"s9_schema_validation": "passed",
"pending_review_status": "pending_review",
"predict_marker_present": true,
"handoff_to_s10_exists": true,
"handoff_required_fields_present": true,
"finalization_language_detected": false,
"input_read_errors": [],
"unresolved_reason": null
},
"quality_score": {
"total_consistency_score": 85,
"critical_rules_score": 90,
"form_rules_score": 75
},
"recommendations": [],
"blocking_result": {
"is_blocked": false,
"blocking_level": null,
"blocking_reasons": [],
"statute_hallucination_blocked": false,
"s9_unresolved_blocked": false,
"s9_finalization_blocked": false,
"ec_critical_failures": [],
"can_enter_final": true
},
"review_required": {
"hallucination_check_needs_review": true,
"eight_consistency_check_needs_review": true,
"s9_consumption_check_needs_review": true,
"quality_score_needs_review": true
}
}JSON frontmatter 说明:上方 JSON 块为 S10 输出格式示例,实际输出时前后各以 --- 分隔符包裹形成有效 YAML frontmatter。Markdown 正文(保留原有格式):
# S10 幻觉校验和八个一致质量检查报告
## 校验概要
- 扫描步骤:S1, S2, S3, S4, S5, S7, S9
- 法条引用总数:N 条
- 校验结果:✅ 全部通过 / ⚠️ 发现问题
## 法条幻觉校验
### 校验明细
| 步骤 | 引用法条 | 校验结果 | 说明 |
|------|----------|----------|------|
| S2 | 《民法典》第577条 | ✅ 通过 | 元典复验通过 |
| S3 | 《XX法》第XX条 | ❌ 幻觉 | 该法条不存在,建议修正为... |
## 八个一致质量检查
### 当事人诉辩一致
**检查结果**:通过/部分一致/不一致
**具体问题**:...
### 诉讼主张与基础规范一致
**检查结果**:通过/部分一致/不一致
**具体分析**:...
...(其余6项一致检查)
## 质量评分
- **总分**:XX/100
- **关键规则得分**:XX/100
- **形式规则得分**:XX/100
## 改进建议
1. ...
2. ...保存到 intermediate/原告九步法/S10-幻觉校验和八个一致报告.md
第四步:幻觉处理(守门员模式)
- ❌ 发现幻觉 → 自动阻断,不放行进入 FINAL
- 输出阻断提示:
⛔ S10 发现法条幻觉,已阻断。请律师修正后重新校验。 - 修正方式:律师人工修正,或调用元典平台检索真实法条替换
- 修正后重新执行 S10 校验,通过后方可进入 FINAL
第五步:调用Hook
~/.claude/skills/case-os/scripts/case-post-step.sh [案件路径] S10---
红线
- ❌ 发现幻觉自动阻断
- ❌ 不放行进入 FINAL
- ✅ 修正后必须重新校验
---
工具依赖
法条幻觉校验:
- 元典Skill(law-search)— 法条检索与内容获取
python3 scripts/yd_search.py search "检索词"
python3 scripts/yd_search.py detail "法律名" --ft-name "条号"备用选项(需手动启用):
mcp__pkulaw-law-search__search_article— 法条检索(北大法宝MCP,当前已禁用)mcp__pkulaw-law-search__get_article— 法条内容获取(北大法宝MCP,当前已禁用)~/.local/bin/review_with_deepseek.py— DeepSeek辅模型质疑
八个一致质量检查(引用 live case-os 资源,不复制):
../case-os/references/eight_consistency_rules.json— 八个一致规则详解../case-os/schema/eight_consistency_check_schema.json— 八个一致检查 schema../case-os/examples/nine_step_loan_case/expected_s10_consistency_check.json— 完整输出示例
本地资源(新增):
schema/s10_output_schema.json— S10 输出结构定义(含 schema 级语义约束)examples/s10_eight_consistency_example.md— 八个一致检查示例
Schema 语义约束(if-then 规则)
s10_output_schema.json 使用 JSON Schema Draft-07 的 if/then 实现语义约束。当以下条件满足时,blocking_result 必须设置对应阻断标志:
| 条件 | 要求的 blocking_result 状态 |
|---|---|
s9_consumption_check.s9_read_status = "unresolved" | is_blocked=true + s9_unresolved_blocked=true + can_enter_final=false |
s9_consumption_check.finalization_language_detected = true | is_blocked=true + s9_finalization_blocked=true + can_enter_final=false |
s9_consumption_check.predict_marker_present = false | is_blocked=true + can_enter_final=false |
eight_consistency_check.诉讼主张与基础规范一致.检查结果 ≠ "通过" | is_blocked=true + can_enter_final=false + ec_critical_failures 包含 "EC_02" |
eight_consistency_check.认定事实与事实争点一致.检查结果 ≠ "通过" | is_blocked=true + can_enter_final=false + ec_critical_failures 包含 "EC_05" |
eight_consistency_check.法律理由与法律争点一致.检查结果 ≠ "通过" | is_blocked=true + can_enter_final=false + ec_critical_failures 包含 "EC_06" |
eight_consistency_check.判决主文与诉讼请求一致.检查结果 ≠ "通过" | is_blocked=true + can_enter_final=false + ec_critical_failures 包含 "EC_07" |
这些约束确保 S10 作为守门员:当 S9 unresolved、S9 finalization language、predict_marker 缺失或 EC_02/EC_05/EC_06/EC_07 任一失败时,输出必须被 schema 拒绝(jsonschema.validate 抛出 ValidationError),不会出现在 can_enter_final=true 的不一致状态。
---
九步法资源接入(强制)
执行 S10 前必须读取 live case-os 的九步法资源,引用而不复制:
1. 读取 ../case-os/references/nine_step_output_schemas.json 中 steps.S10 的 input_schema、output_schema、handoff_to_next 与 blocking_conditions。 2. 读取 ../case-os/references/nine_step_checklist.json 中 steps.S10 的检查清单,并在 Markdown 正文中逐项说明覆盖、缺失或不适用。 3. 读取 ../case-os/references/nine_step_failure_modes.json 中 failure_modes.S10 的失败模式;命中 HIGH/CRITICAL 风险时必须阻断或标记待律师处理。 4. 按需读取 ../case-os/references/nine_step_chunks.jsonl 中 step_id == "S10" 或 skill_target 指向本步骤的切片;未找到匹配切片时记录 chunks_reference_status: "none_found",不得因此跳过步骤。 5. 读取 ../case-os/examples/nine_step_loan_case/expected_s10_consistency_check.json 作为结构参考;如本 skill 有 schema/s10_output_schema.json,同时按本地 schema 校验输出。
- 本 skill 本地示例(如存在):
examples/s10_*.md。
输出必须采用合法 JSON frontmatter + Markdown 正文。JSON 顶层 step_id、status/review_status、引用来源、律师确认口径、hook 写回状态必须与 case-os 总控一致。
- S1/S5/S6/S8/S9 只能进入
pending_review;S2/S4/S7 需完成权威复验/律师确认口径后才可交接;S10 只作 FINAL 阻断门禁,不得改写 S9 结论。
输出
输出文件:
intermediate/原告九步法/S10-幻觉校验和八个一致报告.md
输出格式:
- JSON frontmatter:包含 hallucination_check、eight_consistency_check、quality_score、recommendations
- Markdown 正文:保留原有格式,新增八个一致检查详细内容
字段说明:
eight_consistency_check包含 8 个一致性检查,字段名使用中文规则名quality_score.total_consistency_score:总分(0-100),critical 70% + form 30%recommendations:改进建议数组
---
操作入口
/幻觉校验— 手动触发 S10 校验/幻觉校验 --fix— 校验并自动修正(律师确认后执行)
S10 幻觉校验和八个一致质量检查示例报告
校验概要
- 扫描步骤:S1, S2, S3, S4, S5, S7, S9
- 法条引用总数:2 条
- 校验结果:⚠️ 发现问题
法条幻觉校验
法条准确性检查
| 引用法条 | 是否存在 | 内容匹配 | 风险等级 |
|---|---|---|---|
| 《民法典》第577条 | ✅ 存在 | ✅ 匹配 | 低 |
| 《民法典》第60条 | ✅ 存在 | ✅ 匹配 | 低 |
逻辑有效性检查
- 逻辑有效性:✅ 通过
- 逻辑谬误检测:未发现
八个一致质量检查
1. 当事人诉辩一致
检查结果:⚠️ 部分一致
具体问题:
- 违约金诉讼请求表述不完整,未明确计算期间范围
- 未反映庭审中诉讼请求的变更过程
- 被告对支付货款的认诺未予认定
2. 诉讼主张与基础规范一致
检查结果:⚠️ 部分一致
3. 诉讼争点与诉讼主张一致
检查结果:⚠️ 争点归纳过于笼统
4. 诉讼证据与诉讼主张一致
检查结果:⚠️ 举证质证认证过程过于简略
5. 认定事实与事实争点一致
检查结果:⚠️ 事实争点未作出认定
6. 法律理由与法律争点一致
检查结果:⚠️ 论证理由不充分
7. 判决主文与诉讼请求一致
检查结果:⚠️ 部分不一致
8. 引用条文与判决主文一致
检查结果:⚠️ 多引法条
质量评分
- 总分:60/100
- 关键规则得分:50/100
- 形式规则得分:80/100
---
校验完成时间:2026-05-21 校验依据:
../case-os/references/eight_consistency_rules.json../case-os/schema/eight_consistency_check_schema.json../case-os/examples/nine_step_loan_case/expected_s10_consistency_check.json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://codex.ai/skills/case-s10-hallucination/schema/s10_output_schema.json",
"title": "S10 幻觉校验输出Schema(Strict JSON Schema)",
"description": "S10幻觉校验和八个一致质量检查的输出结构定义,符合JSON Schema Draft-07标准,可通过jsonschema.validate()校验。包含schema级语义约束,确保blocking_result在特定条件下必须正确设置。",
"type": "object",
"required": [
"step_id",
"status",
"input_refs",
"hallucination_check",
"eight_consistency_check",
"s9_consumption_check",
"quality_score",
"blocking_result",
"review_required"
],
"additionalProperties": false,
"allOf": [
{
"description": "语义约束1:S9 unresolved 必须导致 blocking_result.s9_unresolved_blocked=true AND is_blocked=true AND can_enter_final=false",
"if": {
"properties": {
"s9_consumption_check": {
"properties": {
"s9_read_status": { "const": "unresolved" }
},
"required": ["s9_read_status"]
}
},
"required": ["s9_consumption_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"s9_unresolved_blocked": { "const": true },
"can_enter_final": { "const": false }
},
"required": ["is_blocked", "s9_unresolved_blocked", "can_enter_final"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束2:finalization_language_detected=true 必须导致 blocking_result.s9_finalization_blocked=true AND is_blocked=true AND can_enter_final=false",
"if": {
"properties": {
"s9_consumption_check": {
"properties": {
"finalization_language_detected": { "const": true }
},
"required": ["finalization_language_detected"]
}
},
"required": ["s9_consumption_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"s9_finalization_blocked": { "const": true },
"can_enter_final": { "const": false }
},
"required": ["is_blocked", "s9_finalization_blocked", "can_enter_final"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束3:predict_marker_present=false 必须导致 blocking_result.is_blocked=true AND can_enter_final=false",
"if": {
"properties": {
"s9_consumption_check": {
"properties": {
"predict_marker_present": { "const": false }
},
"required": ["predict_marker_present"]
}
},
"required": ["s9_consumption_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"can_enter_final": { "const": false }
},
"required": ["is_blocked", "can_enter_final"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束4:EC_02(诉讼主张与基础规范一致) 检查结果 != '通过' 必须导致 blocking_result.is_blocked=true AND ec_critical_failures 包含 'EC_02'",
"if": {
"properties": {
"eight_consistency_check": {
"properties": {
"诉讼主张与基础规范一致": {
"properties": {
"检查结果": { "not": { "const": "通过" } }
},
"required": ["检查结果"]
}
},
"required": ["诉讼主张与基础规范一致"]
}
},
"required": ["eight_consistency_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"can_enter_final": { "const": false },
"ec_critical_failures": {
"type": "array",
"contains": { "const": "EC_02" }
}
},
"required": ["is_blocked", "can_enter_final", "ec_critical_failures"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束5:EC_05(认定事实与事实争点一致) 检查结果 != '通过' 必须导致 blocking_result.is_blocked=true AND ec_critical_failures 包含 'EC_05'",
"if": {
"properties": {
"eight_consistency_check": {
"properties": {
"认定事实与事实争点一致": {
"properties": {
"检查结果": { "not": { "const": "通过" } }
},
"required": ["检查结果"]
}
},
"required": ["认定事实与事实争点一致"]
}
},
"required": ["eight_consistency_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"can_enter_final": { "const": false },
"ec_critical_failures": {
"type": "array",
"contains": { "const": "EC_05" }
}
},
"required": ["is_blocked", "can_enter_final", "ec_critical_failures"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束6:EC_06(法律理由与法律争点一致) 检查结果 != '通过' 必须导致 blocking_result.is_blocked=true AND ec_critical_failures 包含 'EC_06'",
"if": {
"properties": {
"eight_consistency_check": {
"properties": {
"法律理由与法律争点一致": {
"properties": {
"检查结果": { "not": { "const": "通过" } }
},
"required": ["检查结果"]
}
},
"required": ["法律理由与法律争点一致"]
}
},
"required": ["eight_consistency_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"can_enter_final": { "const": false },
"ec_critical_failures": {
"type": "array",
"contains": { "const": "EC_06" }
}
},
"required": ["is_blocked", "can_enter_final", "ec_critical_failures"]
}
},
"required": ["blocking_result"]
}
},
{
"description": "语义约束7:EC_07(判决主文与诉讼请求一致) 检查结果 != '通过' 必须导致 blocking_result.is_blocked=true AND ec_critical_failures 包含 'EC_07'",
"if": {
"properties": {
"eight_consistency_check": {
"properties": {
"判决主文与诉讼请求一致": {
"properties": {
"检查结果": { "not": { "const": "通过" } }
},
"required": ["检查结果"]
}
},
"required": ["判决主文与诉讼请求一致"]
}
},
"required": ["eight_consistency_check"]
},
"then": {
"properties": {
"blocking_result": {
"properties": {
"is_blocked": { "const": true },
"can_enter_final": { "const": false },
"ec_critical_failures": {
"type": "array",
"contains": { "const": "EC_07" }
}
},
"required": ["is_blocked", "can_enter_final", "ec_critical_failures"]
}
},
"required": ["blocking_result"]
}
}
],
"properties": {
"step_id": {
"type": "string",
"const": "S10",
"description": "步骤标识符,必须为S10"
},
"status": {
"type": "string",
"enum": ["pending_review", "confirmed", "rejected"],
"description": "S10状态"
},
"input_refs": {
"type": "object",
"description": "输入文件引用路径记录",
"required": ["s9_path"],
"properties": {
"s1_path": {
"type": "string",
"description": "S1固定权利请求文件路径"
},
"s2_path": {
"type": "string",
"description": "S2请求权基础文件路径"
},
"s4_path": {
"type": "string",
"description": "S4要件分析文件路径"
},
"s8_path": {
"type": "string",
"description": "S8事实认定文件路径"
},
"s9_path": {
"type": "string",
"description": "S9要件归入与裁判预测文件路径"
},
"s9_defendant_path": {
"type": "string",
"description": "被告S9要件归入与裁判预测文件路径"
},
"s9_reference_status": {
"type": "string",
"enum": ["resolved", "partial", "unresolved"],
"description": "S9引用状态"
},
"s9_read_errors": {
"type": "array",
"items": {"type": "string"},
"description": "S9读取错误列表"
}
}
},
"hallucination_check": {
"type": "object",
"description": "幻觉检测结果",
"required": ["statute_accuracy", "case_consistency", "logic_validity"],
"properties": {
"statute_accuracy": {
"type": "array",
"description": "法条准确性检查结果列表",
"items": {
"type": "object",
"required": ["statute_reference", "exists", "content_match", "risk_level"],
"properties": {
"statute_reference": {"type": "string"},
"exists": {"type": "boolean"},
"content_match": {"type": "boolean"},
"risk_level": {"type": "string", "enum": ["低", "中", "高", "CRITICAL"]}
}
}
},
"case_consistency": {
"type": "array",
"description": "案例一致性检查结果列表",
"items": {
"type": "object",
"required": ["case_reference", "relevance", "applicability"],
"properties": {
"case_reference": {"type": "string"},
"relevance": {"type": "string"},
"applicability": {"type": "string"}
}
}
},
"logic_validity": {
"type": "object",
"required": ["is_valid", "fallacy_detected"],
"properties": {
"is_valid": {"type": "boolean"},
"fallacy_detected": {"type": "boolean"},
"fallacy_type": {"type": ["string", "null"]}
}
}
}
},
"eight_consistency_check": {
"type": "object",
"description": "八个一致性检查结果",
"required": [
"当事人诉辩一致",
"诉讼主张与基础规范一致",
"诉讼争点与诉讼主张一致",
"诉讼证据与诉讼主张一致",
"认定事实与事实争点一致",
"法律理由与法律争点一致",
"判决主文与诉讼请求一致",
"引用条文与判决主文一致"
],
"properties": {
"当事人诉辩一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "部分一致", "不一致"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"问题类型": {"type": "string"},
"具体情况": {"type": "string"},
"判决书记载": {"type": "string"},
"问题": {"type": "string"}
}
}
}
}
},
"诉讼主张与基础规范一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "部分一致", "不一致"]},
"具体分析": {
"type": "array",
"items": {
"type": "object",
"properties": {
"主张类型": {"type": "string"},
"请求权基础": {"type": "string"},
"构成要件": {"type": "array", "items": {"type": "string"}},
"当事人主张": {"type": "array", "items": {"type": "string"}},
"比对结论": {"type": "string"},
"问题": {"type": "string"}
}
}
}
}
},
"诉讼争点与诉讼主张一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "争点归纳过于笼统", "争点归纳不准确"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"问题类型": {"type": "string"},
"庭审笔录中的争点": {"type": "string"},
"判决书归纳的争点": {"type": "string"},
"问题": {"type": "string"},
"改进建议": {"type": "string"}
}
}
}
}
},
"诉讼证据与诉讼主张一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "举证质证认证过程过于简略", "证据与主张不对应"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"问题类型": {"type": "string"},
"裁判文书表述": {"type": "string"},
"问题": {"type": "string"}
}
}
}
}
},
"认定事实与事实争点一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "事实争点未作出认定", "事实认定不完整"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"认定事实": {"type": "string"},
"对应争点": {"type": "string"},
"比对结论": {"type": "string"}
}
}
}
}
},
"法律理由与法律争点一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "论证理由不充分", "法律理由与争点不对应"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"法律争点": {"type": "string"},
"判决理由": {"type": "string"},
"问题": {"type": "array", "items": {"type": "string"}}
}
}
}
}
},
"判决主文与诉讼请求一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "部分不一致", "超出诉讼请求"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"诉讼请求": {"type": "string"},
"判决主文": {"type": "string"},
"比对结论": {"type": "string"},
"问题": {"type": "string"}
}
}
}
}
},
"引用条文与判决主文一致": {
"type": "object",
"required": ["检查结果"],
"properties": {
"检查结果": {"type": "string", "enum": ["通过", "多引法条", "漏引法条", "引用不准确"]},
"具体问题": {
"type": "array",
"items": {
"type": "object",
"properties": {
"判决主文": {"type": "string"},
"引用条文": {"type": "string"},
"比对结论": {"type": "string"},
"问题": {"type": "string"}
}
}
}
}
}
}
},
"s9_consumption_check": {
"type": "object",
"description": "S9消费状态检查记录",
"required": [
"s9_read_status",
"s9_schema_validation",
"pending_review_status",
"predict_marker_present",
"handoff_to_s10_exists",
"handoff_required_fields_present",
"finalization_language_detected",
"input_read_errors",
"unresolved_reason"
],
"properties": {
"s9_read_status": {
"type": "string",
"enum": ["resolved", "partial", "unresolved"],
"description": "S9读取状态"
},
"s9_schema_validation": {
"type": "string",
"enum": ["passed", "failed", "not_attempted"],
"description": "S9 schema校验结果"
},
"pending_review_status": {
"type": "string",
"enum": ["pending_review", "confirmed", "rejected"],
"description": "S9 pending_review状态"
},
"predict_marker_present": {
"type": "boolean",
"description": "predict_marker是否存在"
},
"handoff_to_s10_exists": {
"type": "boolean",
"description": "handoff_to_s10是否存在"
},
"handoff_required_fields_present": {
"type": "boolean",
"description": "handoff必需字段是否完整"
},
"finalization_language_detected": {
"type": "boolean",
"description": "是否检测到终局落定语言(confirmed/final/胜诉/败诉等)"
},
"input_read_errors": {
"type": "array",
"items": {"type": "string"},
"description": "输入读取错误列表"
},
"unresolved_reason": {
"type": ["string", "null"],
"description": "未解决原因"
}
}
},
"quality_score": {
"type": "object",
"description": "综合质量评分",
"required": ["total_consistency_score", "critical_rules_score", "form_rules_score"],
"properties": {
"total_consistency_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "总分(0-100)"
},
"critical_rules_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "关键规则得分(0-100)"
},
"form_rules_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "形式规则得分(0-100)"
}
}
},
"recommendations": {
"type": "array",
"description": "改进建议列表",
"items": {
"type": "object",
"properties": {
"type": {"type": "string"},
"content": {"type": "string"},
"priority": {"type": "string"}
}
}
},
"blocking_result": {
"type": "object",
"description": "阻断结果记录",
"required": [
"is_blocked",
"blocking_reasons",
"statute_hallucination_blocked",
"s9_unresolved_blocked",
"s9_finalization_blocked",
"ec_critical_failures",
"can_enter_final"
],
"properties": {
"is_blocked": {
"type": "boolean",
"description": "是否被阻断"
},
"blocking_level": {
"type": ["string", "null"],
"enum": ["CRITICAL", "HIGH", "MEDIUM", "LOW", null],
"description": "阻断级别"
},
"blocking_reasons": {
"type": "array",
"items": {"type": "string"},
"description": "阻断原因列表"
},
"statute_hallucination_blocked": {
"type": "boolean",
"description": "是否因法条幻觉被阻断"
},
"s9_unresolved_blocked": {
"type": "boolean",
"description": "是否因S9 unresolved被阻断"
},
"s9_finalization_blocked": {
"type": "boolean",
"description": "是否因S9终局落定被阻断"
},
"ec_critical_failures": {
"type": "array",
"items": {"type": "string"},
"description": "EC关键检查失败列表(EC_02/EC_05/EC_06/EC_07)"
},
"can_enter_final": {
"type": "boolean",
"description": "是否可以进入FINAL"
}
}
},
"review_required": {
"type": "object",
"description": "需要复核的检查项",
"required": [
"hallucination_check_needs_review",
"eight_consistency_check_needs_review",
"s9_consumption_check_needs_review",
"quality_score_needs_review"
],
"properties": {
"hallucination_check_needs_review": {"type": "boolean"},
"eight_consistency_check_needs_review": {"type": "boolean"},
"s9_consumption_check_needs_review": {"type": "boolean"},
"quality_score_needs_review": {"type": "boolean"}
}
}
}
}