mqc-trial-confrontation-master · v1.0.0 · 2026-09-15 · sha256 24a979355e588cc9

mqc-trial-confrontation-master v1.0.0A

Immutable. This exact content is served forever at /api/v1/blob/24a979355e588cc9.

---
name: mqc-trial-confrontation-master
description: 庭审对抗图大师。按要件审判九步法与请求权基础,把案件材料推成一张庭前对抗图与一份分析表。左为提出请求的一方、中为法院审查、右为抗辩的一方;深红标出决定性要件。供律师团队庭前推演与向当事人汇报,不对法院出示。
tags: [legal, litigation, 九步法, 请求权基础, 庭审对抗, 庭前三大法宝, svg, xlsx]
metadata:
  version: 1.0.0
  author: 缪奇川
  license: MIT
  deliverables: [svg, png, xlsx]
  dependencies: [openpyxl, cairosvg]
---

# 庭前三大法宝 · 庭审对抗图大师

## 它替你解决的那件事

庭前要把各方观点排布起来:谁提出什么请求、法院会审什么、对方会怎么应、哪一处是决定性要件。
这件事本来靠人在脑子里过,过完写进代理词,中间没有可核对的中间产物。

本 skill 出两样:一张主图,把对抗结构摆出来;一份分析表,把推演逐格落实。
图是表的渲染,表是唯一的信息源;图上看不清楚的,回表查对应行。

## 它做法律判断,但判断带标

另外两件法宝只照录材料。本 skill 不同:九步法与请求权基础的推演本就是判断。
所以纪律不是不判断,是**判断必须带标、边界必须划死**:

- 请求权基础、构成要件拆解、抗辩四分法归类——可以出,但每条带三标(法律层面置信/证据层面置信/来源)。
- 证明前景、决定性要件排序、法院另作定性的风险——只给方向,结论留空等律师填。
- 四段攻防的正文一律照录起诉状、答辩状、代理意见的原文,模型只摆位置不生成主张。
- 条号案号绝不编造,不确定的标【待核验】并转检索方向。

## 这张图不给法官看

给法官看等于替对方把观点摆上去提醒他。所以图内可以写我方薄弱点、待补证、风险等级,
用途是团队庭前推演与向当事人汇报。

## 你会拿到什么

- **主图**:三栏等宽,左为提出请求的一方、中为法院审查、右为抗辩的一方;
  一个争点板块占一个行组,同侧诸卡汇聚成母线进入中轴;深红标出决定性要件与其走线;
  底部索引表列出各板块与「详见」行号。SVG 与 PNG 各一份。
- **分析表**:一张表,17 列按九步法顺序从左往右读——要件名、法院审理标准、要件属性、
  争议状态、待证事实、四段攻防、法律上能否成立、初步研判、关键证据、证明前景、
  把握程度与依据、待补材料、对应图中位置。每个板块末尾有贯穿整行的小结。

## 不做的

不做分图(四段攻防本就是表的形状,分图只会把同样信息再框一遍),不做 Word,不做 PPT。

---

# 对内:执行管线

## 立场

模型读懂意思并作带标的判断,代码算几何与验一致性。任何一条判据不成立即拒绝出图。

## 先读什么

1. `references/intake.md` —— I 摄入 / J 诉请固定 / K 抗辩归类,前端的三组判据
2. `references/extraction.md` —— A 判断边界 / B 四段收口 / C 四分法 / D 决定性要件 / E 定性优先 / F 交付
3. `references/casefile-guide.md` —— 怎么把卷宗读成 casefile.json:次序、逐项填法、可粘贴骨架
4. `references/layout-constraints.md` —— M 版面 / R 走线 / T 索引表 / L 逻辑,共 32 条编号约束
5. `docs/adr/0004-scattered-decisives.md` —— 争点零散时为什么不排序、不封顶
6. `docs/adr/0005-rowgroup-is-the-element.md` —— 行组的单位为什么是争议要件而不是诉请
7. `docs/adr/0006-partial-materials.md`
8. `docs/adr/0007-scope-and-stance.md` —— 适用边界、攻击性防御与立场参数从何而来 —— 材料不全为什么要能跑完,以及跑完的代价怎么留痕

## 工作流

    1 摄入    scripts/ingest.py         按格式分派(PDF/图片/docx/纯文本,其余拒绝)
                                        PDF 探测(逐页可读字符、剥页码标记、空白页不计)
                                        → 文字型直读 / 扫描件 150DPI 栅格化待读图
                                        图片本身即一页待读图;docx 零依赖抽正文
    2 推演    (模型)按九步法填 matrix-input.json,三标随行
    3 前端校验 scripts/check_claims.py   诉请固定(J)与抗辩归类(K),两组可机验
    4 出表    scripts/build_matrix.py   → 庭审对抗分析表.xlsx
    5 出图    scripts/render_main.py    → SVG(几何由不等式反解,走线只走 R1–R4)
    6 光栅    scripts/rasterize.py      → PNG(换单一字族,避开静默的字体回退)
    7 自检    tests/run_checks.py       图几何 15 条 + 图表一致 7 条 + J/K/B/S 组 10 项
                                        + 编排结构 6 项 + 摄入 9 项 + 配色 6 项 + 字段出口 1 项
    母表不用底色,层级靠字号、加粗与线
                                        + 摄入 9 项 + 改坏 8 项

## 集中红线

- 版面跟着材料走:左2右2 / 左2右1 / 左1右1 / 左1右0 四种;左1右2 不成立,两层各拦一道
- 空段不在图上立框,归因落在分析表与图底的材料范围里
- 深红只有 #991B1B 一个值,图与表共用,且只标决定性要件,不做列头与小标题
- 至多标两处;三处及以上转入分散态,图上不用深红、表里不作单点标注,改写明共几处
- 诉请金额附结构化构成明细,合计与主张额必须算得平;差额须作显式调整项
- 一个有争议待证的要件占一个行组;四段的来源标注取自数据,不套用默认文书名
- 走线不得穿过非端点卡片与边标签(出图前逐段自证,全部走线都送检)
- 卡高与卡内每一行基线同源;标题贴卡顶、正文在剩余空间居中;卡底留白不小于卡顶留白
- 圆角=2.4×线宽;箭头固定 10px,refX 按 cover 算;红灰箭头同大小
- 首尾腿与母线必须是同一条连续折线(两条独立路径端点对接必缺角)
- 图表编号必须一一对应
- 诉请类型与抗辩归类取自封闭表,表外一律拒绝;举证责任由归类机械决定,不由模型另判
- **吸收外部方法的前提是不把本 skill 改坏**。本 skill 的主体目的只有一个:出一张庭审攻防的
  可视化图表。外部方法(要件审判九步法、被告代理打法手册)的纪律,只在不损害这个目的时吸收;
  与主体目的冲突的,改判据、不改目的。踩过的坑:材料成熟度那条纪律曾用「改写证明前景」来表达
  材料薄,而证明前景正是决定性判定的输入——结果表里标着决定性、图上却不再强调,图表就此不一致。
  降级只降精确度,不降结构:判定照算,降的是证据置信并列明待补。
- 确认之诉/形成之诉不按要件拆,标出边界转法律关系分析法
- 反诉/抵销/违约金酌减/另案主张是反攻不是抗辩,单列,不入四分法
- 每条要件带三标:法律置信、证据置信、立场方向;法律层面与证据层面分开评级
- 全案标明立场(原告向/被告向);图上只呈现客观研判,立场打法不进此图
- 程序站先过管辖/主体/重复起诉三项,再谈要件
- 材料成熟度只改变证明前景能推到多深,不改变结构;L0/L1 下不对争议要件下硬判断
- 完备性对账份数与页数两轨都要平;对账分三态(已读/明示不读/该读没读),只有第三态拒绝出图
- 材料不全允许出图,但每处空段须在 scope 里表态,且图底如实写明材料范围
- 「无书面记载」与「未获取」严格分开,不得混写

## 环境与两个静默的坑

- **字体回退是静默的**:cairosvg 解析不了带引号的多字族栈,会退到无中文的字体,
  文字还在、字形全是豆腐块,没有任何报错。故 SVG 保留完整栈,PNG 由 `rasterize.py`
  换成本机确实装着的单一字族后再出。
- **Excel 的空白文本节点**:按字符集拆段时若把换行单独切成一段,会生出 `<t>\n</t>`
  纯空白节点,Excel 判为字符串属性有问题并弹修复。空白须跟随前一段,且含空白的
  文本节点必须带 `xml:space="preserve"`。颜色必须传八位 rgb,六位会被补成 alpha=00。