---
name: mqc-chronicle-master
description: 大事记表大师。把一批案件材料整理成《案件大事记》，产出 Word 交付版、Excel 母表与一份供下游 skill 读取的案件事实底稿。照录原文、每行挂出处、不作法律判断。适用于诉前评估、起诉与答辩的事实部分、庭前准备。
tags: [legal, litigation, chronicle, docx, xlsx, 大事记, 庭前三大法宝]
metadata:
  version: 1.0.0
  author: 缪奇川
  license: MIT
  deliverables: [docx, xlsx, pdf, svg, png, casefile.json]
  dependencies: none
---

# 庭前三大法宝 · 大事记表大师

## 它替你解决的那件事

重大复杂案件一上来材料特别多。一份卷宗里有合同、招标投标文件、验收记录、往来函件、
微信截图、判决书，你要在很短的时间里说清楚"这件事到底是怎么回事"，而且这个说法
要能进评估报告、进诉状的事实部分、进代理意见，最后还要在法庭上被对方质证。

大事记表大师做的是这件事里最费时、最不该费时的那一段：把材料里已有的事实一条不漏
地编满，每一条挂上日期、主体、出处和页码。删哪些、加黑哪些、主要内容怎么摘，留给你。

## 它不做判断

这一条不是保守，是这份表的用法决定的。中国法院的审判思路是事实归事实、判断写在
"本院认为"里面。事实部分掺进主观推断或倾向性表述，法官第一眼就会把它整体降权。

所以本 skill 不填：加黑、主要内容的删减、三方视角的摘录取舍、争点归属。
证据状态不由模型判断，由有无证据编号机械决定。主体的角色照录材料用词，
不归并同义、不改写成法律身份。

材料之间互相矛盾时报告，不修正。同一份合同里两处违约金比例不一致、供货时间早于
签订时间、保修期年数栏空白，这些照原样列出来，冲突自己就摆在表上。

## 照录到什么程度

主要内容是原文，不是概括。保真由子序列核验兜底：去掉标点之后，写进表里的每一个字
都必须按顺序出现在源文本里。实测在三百多字的段落里改一个数字就会被拦下。

扫描件与照片走另一条路：栅格化后逐页读图，写成转写稿并存档，转写稿作为材料进管线，
同一套核验原封不动生效。图像来源的行会标明未经逐字核验。

## 事项标题的写法是固定的

有对应文书的写「动词 + 《文书名》」，没有的写「动词 + 宾语」，动词取自封闭动词表。
表外动词一律拒绝并报出，由你补表，模型不自行造词。标题不超过 15 字，不含定性词。

## 日期认不准也不丢

四档精度：确切日、仅到月、仅到年、区间。认不准的按最粗的一档收入并标注，
不因为认不准就不收。判决书上有的事项一条都不许漏。

## 你会拿到什么

- **Word 交付版**：竖版 A4，四周页边距 2.4cm，五列（序号、日期、事项、主要内容、备注），
  表内宋体 11.5 磅单倍行距，英文与数字新罗马，中英文之间不留空格，事项标题加黑。
  给法院的制式。
- **Excel 母表**：备注拆成来源、争点、关联、说明、新证据、证据状态等列，可筛选、
  可按争点分组、序号用公式随增删自动调整。你的工作台。
- **大事记简表**：A4 竖版一张图，呈报给法官或当事人用。
  它是整条管线的最后一道，不另起逻辑：Word 与 Excel 都做完之后，
  把同一份「渲染输入.json」换一个格式呈现而已，不重新读材料、不重新判断，代价极小。
  结构承 Word 交付版，
  只去掉「主要内容」那一列——原文照录那一段是 Word 与 Excel 的活，搬上图就成了第二份 Word。
  四列与 Word 同名同序：序号、日期、事项、主要内容；去掉的是「备注」那一列——
  备注一格里塞着来源、争点、关联、标记好几段并列信息，排进图里必然乱，
  而主要内容是一段连续原文，折行就是自然的段落折行。来源与标记在 Word 与 Excel 里都有。
  主要内容在图上至多三行，**按句读边界取**：逐句累加，取到完整的句子为止，一句或两句。
  不按字截、不加省略号——这是呈报给法官与当事人的东西，半句话和省略号都会让人问
  「为什么不给我全的」。每个字仍是原文，只是少取几句，所以不违反「照录、不得改写」。
  第一句本身就超行时退到次级边界（逗号、顿号、冒号）并补句号收住；
  宁可多占一行，也不让半句话出现在呈报件上。
  一律以句号收尾：停在分号上的、原文本就没有句末标点的，都补成句号——
  呈报件上一句话必须是说完的。这是规范标点，不动内容。
  主要内容按正文段落排：一律左起、右侧除末行外都对齐，不居中；
  居中会让这一列每行的左边界都不一样，整列看着是散的。
  读的是 Word 与 Excel 同一份 渲染输入.json，
  所以日期写法、序号、备注里的标记与 Word 逐字一致。外面一个小圆角矩形把整表包住，
  内部只有横线，不画竖线。分了争点的，每组的标题做成红底白字的小圆角色块，
  摆在该组左上角，不压横线；全图的红只有这一处。一页放不下自动出第二页，页脚标页码。
  交 PDF（呈报）、SVG（可编辑源，字要改就改它）、PNG（预览）。
  律师在母表里填了争点就按争点分组，没填就按时序平铺，不额外要求他填。
  格内的排法：整块文字纵向居中；表头与整格一行的内容横向居中；
  多行时同一段落里折出来的行两端对齐、段末行靠左；折行避孤字，末行少于三字就从上一行借。
  中文宋体、英文数字新罗马，按字符集分段。
  标题用方正小标宋简体，本机若没装，导出时会换用替代族并在日志里报出来——
  SVG 里写的仍是方正小标宋，在装有该字体的机器上打开或重出 PDF 即可。
- **案件事实底稿**（casefile.json）：机器读的那一份。事实编号一旦分配不再变动，
  下游的法律关系图大师与攻防图大师读同一份底稿，三张图上的同一件事指向同一个编号。

## 它只做大事记

简表是这份大事记自己的索引，不是分析图：它不做请求权基础分析、不判断争议焦点。
图上出现的每一项都是底稿里已有的字段，或由字段机械算出——深红只给两处机械标记，
新证据与图像来源，都不是判断。真正的分析图交给法律关系图大师和攻防图大师，
它们读本 skill 产出的同一份底稿。

---

# 对内：执行管线

## 立场

模型读懂意思，代码算和验。模型只在第二步输出 JSON，其余全部确定性。
任何一条判据不成立即拒绝出表，不得降级硬填。

## 先读什么

0. `references/casefile-guide.md` —— 怎么把一批材料读成 casefile.json：次序、逐项填法、可粘贴骨架
1. `references/extraction.md` —— A 切分 / B 主要内容 / C 事项标题 / D 日期 / E 不作判断，五组条文
2. `references/verbs.json` —— 封闭动词表
3. `references/ban.json` —— 定性词表（只施加于模型撰写的字段）

## 工作流

    1 摄入   scripts/ingest.py        探测（逐页可读字符，剥页码标记，空白页不计）
                                      → 文字型直读 / 扫描件 150 DPI 栅格化
    2 读图   （模型，仅扫描件）        逐页读图 → 转写稿存档 → 作为材料进管线
    3 抽取   （模型）                  照 A-E 出事实行，写进 casefile.json
    4 校验   scripts/check_facts.py   A/B/C/D/E/I 六组判据 + 改坏验证（项数由脚本自报）
    5 渲染   scripts/to_render.py     底稿 → Word 交付版 + Excel 母表
    6 简表   scripts/build_brief.py   渲染输入.json → A4 竖版 SVG（分页、分组或平铺、出图前自证）
             scripts/export_brief.py  SVG → PDF（多页合一）+ PNG；正文、西文、标题三族各换各的
    7 自检   tests/                   渲染层判据 R 组（底稿到渲染输入不得改动内容）
                                      + 交付物自检 W 组（Word）与 X 组（Excel）
                                      + 简表自检（版心、A4、圆角外框、序号连号、中西文分族、
                                        红只用于分组色块、句号收尾、无内部痕迹、页码）

## 集中红线

### 一、大事记本体（Word 交付版 · Excel 母表 · 底稿）

- 不填判断字段：加黑、删减、摘录取舍、争点归属
- **主要内容照录，模型不得省略或改写**；需要省略的由律师在母表内完成
- 动词表外的动词一律拒绝，不自行造词
- 完备性对账不平（有未读页）即拒绝出表
- 无证据编号的事实必须同时进入不确定清单；但这一类**不出尾注**——
  证据状态已由有无证据编号机械算出，备注里也写了「未见书证」，
  再出一条注说同一件事，六条事实就是六条同样的话。清单留在底稿里供律师查，不上交付面
- 尾注同一句话只出一条，多条事实共用注号
- 材料名在交付面去掉扩展名与上传时间戳前缀；要更规范的名称直接改 materials[].name
- 材料自身的矛盾报告不修正；算术自校是证据不是判据
- 事实编号一旦分配不再变动，删行不回收（下游已引用）
- 渲染层一个字都不许动底稿：事项、主要内容、证据状态、日期精度、来源、主体
  逐项有判据（R 组）。这一层是三件产物的共同上游，一错三件一起错，
  而全量自检原先压根不跑它——实测把它逐项改坏，九项里九项全漏
- 简表同理：事项与日期逐条进图，主要内容必须是原文的前缀且停在句读上。
  判据要盯真正画进去的那份数据，不能只查生成函数的返回值——
  实测绕开函数直接改渲染数据，只查函数的判据一条都不报

### 二、简表（呈报件）

- 读 渲染输入.json，与 Word、Excel 同源；另起一套映射必然与 Word 对不上
- 四列与 Word 同名同序，不设备注列
- **主要内容由代码按句读边界取**，取到完整句子为止，一律以句号收尾。
  这与上面「不得省略或改写」不冲突：那条管的是模型，这里是代码少取几句，
  每个字仍是原文，且 Word 与 Excel 上的全文一字未动
- 是呈报件，不出现省略号，也不出现内部痕迹（Word 交付版、Excel 母表、节录、
  本程序新证据、读图转写未经逐字核验）。那些标注在 Word 与 Excel 上保留，红线仍然守住
- 文字一律不得越出版心，出图前扫产物自证
- 全图的红只用在争点分组的标题色块上
- 中文走宋体、英文数字走新罗马，按字符集分段；每段显式定位，不靠 text-anchor
- 序号、日期、事项逐行居中，折了行也不拉伸——它们是标签性的内容，
  区间日期一被两端对齐就成了「2 0 2 0 . 0 5 . 0 9 至」
- 只有主要内容是正文：按段落排、一律左起、同段折出来的行两端对齐、段末行靠左
- 字族被替换时必须在日志里报出来，不得让人以为产物上就是规范里那个字体。
  SVG 里的字体名只是引用，渲染成 PDF／PNG 需要本机装有同名字体；
  装了方正小标宋与 Times New Roman 的机器上重出即为规范样式，这也是必须交 SVG 源的原因

## 环境

摄入用 poppler 自带命令（pdfinfo / pdftotext / pdftoppm / pdfimages）。
Word 生成走 docx（Node），Excel 生成走 openpyxl，简表的 SVG 生成零第三方依赖。
**简表导出 PDF／PNG 需要 cairosvg**；多页合并成一个 PDF 需要 pypdf，
没装就按页分开出、不阻断。此前 README 与本节都写着「零第三方依赖」，
那是简表进来之前的说法，照着跑会在导出那一步失败。
Excel 不要过 LibreOffice 重算：它会就地重写工作簿并替换本机未装的字体，
公式缓存值由 `cache_formulas.py` 直接写入工作表 XML。
