feat: export core Hermes skills
This commit is contained in:
@@ -0,0 +1,954 @@
|
||||
---
|
||||
name: litigation-document-preparation
|
||||
description: 诉讼案件文书制作工作流程。包括起诉状、委托代理合同、授权委托书、律师事务所函、证据目录的制作规范。
|
||||
version: 1.1.0
|
||||
author: Doro
|
||||
metadata:
|
||||
hermes:
|
||||
tags: [法律, 诉讼, 起诉状, 证据目录, 文书制作]
|
||||
---
|
||||
|
||||
## 法律文书写作铁律(2026-06-09 张华丽法律分析v2教训)
|
||||
|
||||
### 四条底线——不可触碰
|
||||
1. **法律法规必须是引用时有效的**——引用前检查是否废止/修订,还需判断适用新法还是旧法
|
||||
2. **事实必须有来源**——不得在没有证据支撑的情况下写事实性断言。事实来自案件材料(起诉状、协议、证据等),不是AI推断。来源不明确时标注"(待确认:来源不明)"
|
||||
3. **案例引用必须有准确来源**——案号、法院、日期缺一不可。不能写"某法院判决"或"司法实践中普遍认为"
|
||||
4. **法条引用必须查原文**——不得凭记忆归纳或缩写法条内容
|
||||
|
||||
### 典型错误回顾
|
||||
- 引用"最高人民法院审判参考第12条"——表述不精确,应标明具体出处(哪一期、哪篇文章)
|
||||
- 写"张华丽本人亦为大洋路199号房屋的共同受让人"——实际来源是起诉状P034,但文件中没有标注来源,被质疑为无中生有
|
||||
- 引用浙高法〔2018〕89号时未核实其是否仍有效,也未标注全称和发布日期
|
||||
|
||||
### 正确做法
|
||||
- 每一个事实性陈述后标注来源(如"(见起诉状第X段)""(见还款协议第X条)")
|
||||
- 引用地方法院文件时标注:全称、文号、发布日期、发布机关、效力状态
|
||||
- 引用案例时标注:案号、审理法院、裁判日期、案例来源(如"《商事审判指导》2019年第2辑")
|
||||
- 不确定的事实用条件句式("若……属实,则……"),而非直接断言
|
||||
|
||||
### 参考文件
|
||||
- `references/spousal-joint-debt-legal-basis.md` — 夫妻共同债务法律依据汇编(民法典1064条、浙高法〔2018〕89号、上海一中院审理思路、案例)
|
||||
|
||||
## 诉讼文书制作流程
|
||||
|
||||
## 触发条件
|
||||
- Doro在「Doro诉讼案件任务」文件夹中放入待处理案件材料
|
||||
- 需要制作起诉状、委托代理合同、授权委托书、律师事务所函、证据目录等诉讼文书
|
||||
|
||||
## 零、任务交接流程(Doro专用)
|
||||
|
||||
**文件服务:** Nextcloud(`https://maggie-share.shazhou.work`)
|
||||
**目录结构:**
|
||||
- `Doro诉讼案件任务/参考文件/` — 模板和参考案例
|
||||
- `Doro诉讼案件任务/待处理案件/` — 案件材料(PDF证据等)
|
||||
- `Doro诉讼案件任务/交付文件/` — 完成后的文书
|
||||
|
||||
**流程:**
|
||||
0. ⚠️ **每次开始任务前,先用WebDAV扫描参考文件目录**,检查Doro是否有更新:
|
||||
- `doro/参考文件/` — 全局参考资料,适用于Doro布置的所有任务(如文书格式规范)
|
||||
- `doro/Doro诉讼案件任务/参考文件/` — 诉讼案件专用参考资料(模板、参考案例等)
|
||||
- 发现新文件或更新时,主动下载并同步到本地
|
||||
1. 从Nextcloud下载参考文件和待处理案件材料
|
||||
2. 学习参考文件的格式和内容
|
||||
3. ⚠️ **先穷尽审查所有证据材料**(包括PDF中的二维码链接、视频取证内容),完整理解案情事实
|
||||
4. ⚠️ **确认关键事实后再起草文书**——侵权平台、侵权方式、侵权内容必须与证据一致,不能推测
|
||||
5. 根据案件材料制作全套文书
|
||||
6. 上传到「交付文件/」
|
||||
7. 企业微信通知Doro
|
||||
|
||||
⚠️ **绝对禁止**:未查看完所有证据就开始起草文书。证据是事实的基础,文书是事实的表达,顺序不能颠倒。
|
||||
|
||||
## 一、起诉状撰写规范
|
||||
|
||||
### 当事人信息格式
|
||||
- ⚠️ **自然人原告**:只写姓名、性别、民族、出生日期,**不写身份证号码和家庭住址**,只写送达地址(律师事务所地址)。这是为了保护原告个人信息不被被告获取
|
||||
- **法人被告**:需写明企业全称、统一社会信用代码、注册地址、法定代表人及职务
|
||||
- 送达地址统一为:上海市徐汇区长乐路989号26楼(华诚律师事务所)
|
||||
|
||||
### 管辖法院选择
|
||||
- 侵权案件:侵权行为地或被告住所地法院
|
||||
- **信息网络侵权**(网站/APP/平台侵权):
|
||||
- 法律依据:《民事诉讼法》第29条 + 《民诉法司法解释》第24条、第25条
|
||||
- 侵权结果发生地包括**被侵权人住所地**(即原告户籍地/经常居住地)
|
||||
- 可以在原告住所地法院起诉,不必去被告所在地
|
||||
- 原告夏诗文户籍地在**青浦区**→ 管辖法院为**上海市青浦区人民法院**
|
||||
|
||||
### 诉讼请求(肖像权侵权案标准诉请)
|
||||
1. 判令被告立即停止使用原告的肖像
|
||||
2. 判令被告立即删除未经许可使用的包含原告肖像的广告宣传
|
||||
3. 判令被告赔偿原告经济损失人民币100,000.00元
|
||||
4. 判令被告赔偿原告精神损失费100,000.00元
|
||||
5. 判令被告在侵权平台首页显著位置连续3日刊登致歉声明(声明内容需经原告审核)
|
||||
6. 判令被告赔偿原告律师费10,000.00元
|
||||
7. 本案诉讼费由被告承担
|
||||
|
||||
### 事实与理由
|
||||
- 介绍原告身份和知名度(粉丝数、平台影响力)
|
||||
- 描述侵权行为(何时发现、在哪个平台、如何使用肖像)
|
||||
- 阐述侵权性质(未经授权、商业用途、攀附影响力)
|
||||
- 引用法律依据
|
||||
|
||||
## 二、证据目录规范
|
||||
|
||||
### 标准三组证据结构(肖像权侵权案)
|
||||
- **第一组**:原告知名度证据(微博、抖音、百度搜索等截图)→ 证明肖像商业价值
|
||||
- **第二组**:侵权行为证据(时间戳取证、企业信息、ICP备案)→ 证明侵权事实
|
||||
- **第三组**:维权费用证据(委托代理合同、发票、银行回单)→ 证明合理费用
|
||||
|
||||
### 时间戳证据
|
||||
- 来源:联合信任时间戳服务中心
|
||||
- PDF证书中有二维码,可扫码查看取证内容
|
||||
- 注意记录取证时间和证据名称
|
||||
|
||||
## 三、其他文书
|
||||
|
||||
### 委托代理合同
|
||||
- 基于华诚律师事务所模板
|
||||
- 填写甲方(委托人)、对方当事人、案由、承办律师
|
||||
|
||||
### 授权委托书
|
||||
- 一式三份,逐份落款盖章
|
||||
- 特别授权代理
|
||||
- 包含法定代表人身份证明书(仅法人当事人需要)
|
||||
|
||||
### 律师事务所函
|
||||
- 致受理法院
|
||||
- 告知委托关系
|
||||
|
||||
## 四、格式要求
|
||||
|
||||
### docx修订模式操作要点(非合同类文书)
|
||||
|
||||
合同审查用ContractEditor脚本库(contract_docx_lib.py),但法律分析文书等**非合同类文件不能用ContractEditor**,需直接操作XML:
|
||||
|
||||
1. **用zipfile+lxml直接操作document.xml**,不用python-docx保存(会破坏格式)
|
||||
2. **开启trackRevisions**:在settings.xml中确认或添加`<w:trackRevisions/>`
|
||||
3. **DEL操作**:创建`<w:del w:author="WB">`包裹`<w:r><w:delText>`
|
||||
4. **INS操作**:创建`<w:ins w:author="WB">`包裹`<w:r><w:t>`
|
||||
5. **拆分run**:原文run如果包含要删除的文字,必须先拆分run(保留部分+DEL部分+后续保留部分),不能整个run替换
|
||||
6. **新增段落**:复制原文的pPr结构(行距、缩进、对齐等),rPr字体必须匹配原文
|
||||
7. **碎片化run的处理**:Word文档中一段话可能被拆成100+个runs,定位目标文字时需逐run遍历,不能假设一个run包含完整句子
|
||||
8. **ID唯一性**:每个ins/del的`w:id`必须全文唯一,用递增计数器
|
||||
|
||||
### 格式要求
|
||||
|
||||
### 核心原则:纯zipfile+lxml操作XML,绝不用python-docx读写
|
||||
- **python-docx的Document.save()会重建run结构**,导致字体、字号、加粗、下划线等格式丢失
|
||||
- 正确做法:`zipfile.ZipFile`读取docx,`lxml.etree`解析XML,修改后`zipfile`写回
|
||||
- **只修改w:t节点的text属性**,绝不碰w:rPr(格式)、w:pPr(段落格式)
|
||||
|
||||
### 字体规范
|
||||
- 中文统一**仿宋体**,英文**Times New Roman**
|
||||
- 表格内文字**两端对齐**
|
||||
|
||||
### 从模板生成文件
|
||||
1. **模板填空法**:模板中用「带格式的空格run」做占位符(如加粗+下划线的空格),填写时直接修改该run的w:t.text,格式自动保留
|
||||
2. **逐run精确定位**:先dump所有run的index、text、格式标记(B/U),然后按index精确修改目标run
|
||||
3. **绝不做整段文本替换再重建run**——这是格式丢失的根源
|
||||
|
||||
### ⚠️ 用同案件已有docx作母版生成"全新文书"——页眉/边框继承陷阱(2026-06-23 邹家案)
|
||||
为让新文书(如《情况反映》)与同案件已有文书(如检察申请书)字体/字号/行距/页边距同源,常把已有docx当母版、克隆其段落模板(标题/正文/落款/附件段的pPr+rPr)重建body。**正文这样做是对的,但 `word/header1.xml`、`footer1.xml` 会原样继承、张冠李戴**:申请书页眉写的是"申请监督案号/受理法院",套到情况反映上称谓全错;清掉页眉文字后还残留一条页眉横线(来自段落 `<w:pBdr>`,删文字删不掉)。**交付前必须OnlyOffice逐页看页眉页脚**,确认页眉属于新文书类型、无横线、无残留。修法(清空页眉run + 删pBdr + 去pStyle + 关trackRevisions)、段落模板克隆 `mk()` 要点见 `references/new-doc-from-sibling-template.md`。
|
||||
|
||||
### 必检清单(交付前逐项核查)
|
||||
- [ ] 页眉页脚内容是否已更新(word/header*.xml, word/footer*.xml)
|
||||
- [ ] 年份是否正确(可能分布在多个run中,需逐run检查)
|
||||
- [ ] 关键文字的加粗+下划线是否保留(填入占位run而非新建run)
|
||||
- [ ] 中文引号`\u201c\u201d`与ASCII引号不要混用
|
||||
- [ ] 签字/盖章、法定代表人等是否匹配当事人类型(自然人用签字)
|
||||
|
||||
### 证据目录表格样式(Doro确认版)
|
||||
- 表头:浅绿(#CAE0D6)填充 + 黑色加粗文字
|
||||
- 线条:全部黑色
|
||||
- 其余行:无填充
|
||||
- 单倍行距,前后段距各2pt
|
||||
|
||||
## 五、本息计算说明撰写规范
|
||||
|
||||
### 触发条件
|
||||
- 涉及多笔借款/债务的利息计算
|
||||
- 需要计算部分还款的抵充分配
|
||||
- 诉讼请求中包含本金+利息+违约金的分项计算
|
||||
|
||||
### 先息后本原则(民法典第561条)
|
||||
|
||||
还款不足以清偿全部债务时,按以下顺序抵充:
|
||||
1. 实现债权的有关费用
|
||||
2. 利息
|
||||
3. 主债务(本金)
|
||||
|
||||
**实务要点**:
|
||||
- 每笔还款先冲抵截至还款日的应付利息,利息全部冲抵后剩余部分才冲本金
|
||||
- 多笔债务的还款分配顺序:能全额冲抵的先全额冲抵(金额小的项优先),剩余冲大额项
|
||||
- 利息计算必须逐段、逐日精确计算,不能粗算
|
||||
|
||||
### 多笔债务抵充顺序(民法典第560条)
|
||||
|
||||
债务人未指定抵充顺序时:
|
||||
1. 优先履行已到期的债务
|
||||
2. 数项债务均到期的,优先履行缺乏担保的
|
||||
3. 担保相同的,优先履行负担较重的
|
||||
4. 负担相同的,按到期时间先后
|
||||
5. 到期时间相同的,按比例
|
||||
|
||||
### 利息计算公式
|
||||
|
||||
**月利率型**(如借款约定月利率1%):
|
||||
```
|
||||
利息 = 本金 × 月利率 × 12 ÷ 365 × 天数
|
||||
```
|
||||
|
||||
**LPR年利率型**:
|
||||
```
|
||||
利息 = 本金 × 年利率 ÷ 365 × 天数
|
||||
```
|
||||
|
||||
⚠️ 利息公式重叠检测方法见 `references/interest-overlap-detection.md`
|
||||
|
||||
### 本息计算说明的文书结构
|
||||
|
||||
参照判决书写作习惯,本息计算说明应包括:
|
||||
|
||||
1. **债务概述**:列明各笔债务的本金、利率、起算日、约定还款期限
|
||||
2. **还款事件逐笔说明**:按时间顺序逐笔描述每次还款,说明:
|
||||
- 还款日期和金额
|
||||
- 截至还款日各项应付利息(附计算公式:本金×利率÷365×天数)
|
||||
- 按先息后本原则的冲抵分配
|
||||
- 冲抵后各项剩余未清偿金额
|
||||
3. **最终汇总**:截至暂计日各项本金和利息余额
|
||||
|
||||
### 写作要点
|
||||
|
||||
- 每个数字必须有计算过程(公式+天数+结果)
|
||||
- 用"冲抵"而非"偿还"描述利息抵扣
|
||||
- 利息未冲完的,明确写"尚余利息XXX元未获清偿"
|
||||
- LPR的称呼:股权/分红类用"逾期违约金",借款类用"利息"
|
||||
- 最后一段注明"暂计至XXXX年X月X日"+"此后至实际清偿之日止按XXX继续计算"
|
||||
|
||||
### 表达清晰性要求(Doro 2026-06-09:"尽量表达准确,不要产生歧义")
|
||||
|
||||
**利息累计计算的正确表述**:当某笔借款经历"利息→还款冲抵→利息继续累积"时,必须用递进结构表达,确保读者能验证算术:
|
||||
|
||||
✅ 正确:
|
||||
> "截至2023年7月5日应计利息2,686,027.40元,当日还款2,000,000元冲抵利息后,尚余未清偿利息686,027.40元。此后自2023年7月5日起至2025年8月27日止继续产生利息1,288,767.12元,累计应付利息1,974,794.52元。"
|
||||
>(算术清晰:2,686,027.40 - 2,000,000 = 686,027.40;686,027.40 + 1,288,767.12 = 1,974,794.52 ✓)
|
||||
|
||||
✗ 错误:
|
||||
> "利息1,288,767.12元,加上此前未清偿利息686,027.40元,扣除2023年7月5日还款2,000,000元,累计应付利息1,974,794.52元。"
|
||||
>("扣除"制造歧义:读者可能理解为 1,288,767.12 + 686,027.40 - 2,000,000 = -25,205.48,与结论矛盾)
|
||||
|
||||
**核心原则**:如果某个数字已经是净额(如686,027.40 = 2,686,027.40 - 2,000,000),就不要在同一句中再次出现被减数和减数——要么展开全部计算过程,要么只用净额。混合使用会让读者无法验证算术。
|
||||
|
||||
### Excel配套计算表
|
||||
|
||||
通常配合xlsx表格使用,表格结构:
|
||||
- 列:各笔债务(本金列+利息列交替)
|
||||
- 行:时间事件(利息计算行+还款行交替)
|
||||
- 最后一行:SUM汇总
|
||||
- 注意:xlsx中的公式可能有跨期间重复计算的问题——修改前**必须逐列检查所有利息行的时间范围是否重叠**。同一列的利息行时间段必须首尾相连,SUM才正确。具体检测和修复方法见"还款分摊顺序修改"一节
|
||||
|
||||
### 追溯"剩余还款清偿了哪些利息"——抵充去向追溯表(2026-06-24 梁永案)
|
||||
|
||||
Doro 可能要求在已有计算表里**加一个明细块**回答"某些债务结清后,剩余还款一共清偿了未结清的另几笔债务的多少利息",且"公式要加进计算表中方便核对"。做法:
|
||||
|
||||
1. **先对齐术语再动手**——"几笔结清/几笔未结清"必须从起诉状+本息计算说明里读出准确定义,别用自己数的列数硬套(梁永案:7笔债务,1笔被更早的500万还清不在表里,6笔用700万抵充,到暂计日3笔结清=2016借款/转让余款/租金,剩4笔未结清=2019两借款/股权/分红)。
|
||||
2. **逐笔追溯700万还款的去向**,分类记账:抵充到"已结清笔"的 vs 抵充到"未结清四笔"的,两类相加必须=还款总额(差额0.00才下结论)。
|
||||
3. **三方勾稽**:本息计算说明 ↔ 独立 Python 追溯 ↔ 主表抵充单元格(如 D10/F12/L14),三者数字一致。
|
||||
4. **法律口径据实区分**:借款获偿的是"利息"(月息),股权/分红/转让款/租金获偿的是"逾期违约金"(LPR)——表里用"性质"列区分,汇报时也点明,别都叫"利息"。
|
||||
5. **明细块做成独立 sheet**(不要塞进宽主表的 A–F 列,会被主表的列宽和横向分页拆散);**金额列用跨表公式 `=-Sheet1!D10`**(感叹号,不是点号),让律师在 OnlyOffice 点一下就能核对来源。
|
||||
6. **交付前**:① 逐格 diff 确认共享主表零改动;② 覆盖 Nextcloud 前先备份原文件(隐藏文件 `.原名_备份_时间戳.xlsx`);③ `occ files:scan`。
|
||||
7. ⚠️ **自己写进单元格的派生数字也要回算复核**——梁永案我在批注里把"租金本息599,698.35"与"转让余款利息74,564.39"两个标签写反,重新推导才抓出。凡手写进表的派生数,回算一遍再交付。
|
||||
|
||||
**OnlyOffice 渲染验收这个 xlsx 明细块**(x2t 默认只渲染活动 sheet、`fitToWidth=1` 会丢列、宽表横向分页、用 pdftotext 关键词探针而非 vision 验证等专属坑)详见 `print-ready-pdf` skill 的 `references/onlyoffice-xlsx-to-pdf.md`。
|
||||
|
||||
### 追溯\"协议后一共还了多少 / 每笔还了多少本金多少利息\"——全口径还款拆解(2026-06-24 梁永案)
|
||||
|
||||
与上面的\"剩余还款抵充\"相邻但口径更大:Doro 要的是**协议签订后对方还款总额**+**每笔欠款各清偿了多少本金、多少利息/违约金**,公式同样要加进计算表。
|
||||
|
||||
⚠️ **最大的坑=\"还款总额\"的口径范围**:xlsx 主表里最显眼的是\"五次还款共700万\",但那只是**第二批**。协议后还款往往**跨多批、不同时间、不同收款人**——梁永案第一批是 2021 年 4 次还款共 **5,024,100 元(本金500万+利息24,100)还给赵素珍**,清偿 2016 借款(这笔早被还清、根本不在 xlsx 计算表里,只在起诉状/说明文档的文字里);第二批才是 2022-2025 的 700 万。**协议后还款总额=5,024,100+7,000,000=12,024,100 元,不是 700 万。** 别被主表的 700 万带偏——必须回起诉状+本息计算说明逐字读出\"协议后总共还了几批、每批多少、还给谁、清偿哪笔\",把不在 xlsx 里的早期批次也算进去。
|
||||
|
||||
做法:
|
||||
1. **先把\"几批还款\"在起诉状+说明里读全**(含 xlsx 没列的早期批次),逐批列:时间/金额/收款人/清偿哪笔债务。
|
||||
2. **每笔欠款拆\"本金 vs 利息/违约金\"两列**:用先息后本规则判断每次还款冲了本金还是利息。梁永案结果=已结清3笔有本金(2016借款500万、转让余款300万、租金54万)、未结清4笔本金分文未动(获偿全是利息/违约金)。
|
||||
3. **双向勾稽**:①清偿本金合计+清偿利息合计=还款总额(梁永案 8,540,090.15+3,484,009.85=12,024,100,差额0.00);②同时与\"按批次\"的总额对平。
|
||||
4. **法律口径据实分列**(同上:借款=利息、价款类=逾期违约金),表里\"性质\"列区分,别都叫\"利息\"。
|
||||
5. **渲染**:这种表常是 6 列(债务项/状态/本金/利息/小计/说明),窄的\"状态\"列会被 x2t 整列丢弃——把状态折进\"债务项\"单元格(换行写\"2016-11-1借款/(已结清)\")降到 5 列,或列宽超 98 就横向 landscape+压行高。详见 `print-ready-pdf/references/onlyoffice-xlsx-to-pdf.md` 坑 6/7。
|
||||
|
||||
### 还款分摊顺序修改(xlsx+docx联动)
|
||||
|
||||
修改某次还款的抵充分配顺序时,**牵一发动全身**,必须同步处理:
|
||||
|
||||
1. **修改分配行本身**(如Row 14):清空不再冲抵的列,新增之前未冲抵的列,确保行合计=还款总额
|
||||
2. **检查下游利息行**(如Row 15):本金被清偿为0的债项,对应的利息公式应删除或改为0(否则仍按原本金计息)
|
||||
3. **检查利息公式重叠(关键!)**:
|
||||
- 有两种利息公式模式——
|
||||
- **期间利息**:`(当前日-上次事件日)*利率*本金`,只算本期新增
|
||||
- **累计利息**:`(当前日-起算日)*利率*本金`,从头算总额
|
||||
- ⚠️ **重叠检测铁律**:逐列检查每一列的所有利息行公式的时间范围,如果两行的起止日有重叠,SUM会重复计算
|
||||
- 2026-06-09教训(梁永案):D13公式覆盖2023-7-5→2025-1-23,D15公式覆盖2023-7-5→2025-8-27,D15完全包含D13的时间范围,D16=SUM(D4:D15)导致重复计算933,698.63元。修复:删除D13(让D15覆盖全段),或将D15改为期间公式(A15-A13)只算2025-1-23→2025-8-27
|
||||
- **修复方法**:同一列内所有利息行的时间段必须首尾相连不重叠。如果删除了中间的扣减行,要将后续累计公式改为期间公式
|
||||
4. **同步修改docx本息计算说明**,受影响的段落通常包括:
|
||||
- 分摊描述段("本次还款X元依次冲抵……")
|
||||
- ⚠️ 分摊描述后必须写清**冲抵后截至当日的各项剩余利息**(Doro要求,2026-06-09确认)
|
||||
- 各笔债务的累计利息汇总段
|
||||
- 两笔合计段
|
||||
- 违约金汇总段
|
||||
5. **未被冲抵的债项,利息计算不要分段**——直接从起算日算到暂计日,不需要以冲抵日为分界拆成两段再相加(Doro指示:「未冲抵就不要分开计算了,直接计算到8月27日」)
|
||||
6. **验证数字一致**:xlsx的SUM结果必须与docx中写出的数字完全一致(四舍五入到分)
|
||||
7. **交叉校验**:改完后逐项核对xlsx各列SUM与docx中每个数字,列表检查
|
||||
|
||||
⚠️ **不要假设诉讼请求段(P2-P8)的数字与xlsx同步**——可能是不同版本。除非Doro明确要求,只改本息计算说明部分,不改诉讼请求段。
|
||||
|
||||
### 部分抵充的两种模式
|
||||
|
||||
Doro可能要求的分摊模式不总是"全部债务重新排序",有时只调整部分项目:
|
||||
|
||||
**模式A:本息全扣**——"先把X的本息扣完"
|
||||
- 该项应付利息+本金全部用还款冲抵
|
||||
- 冲抵后该项本金余额=0,利息余额=0
|
||||
- xlsx中该项后续行不再计利息
|
||||
|
||||
**模式B:只扣利息**——"如有剩余,去扣减Y的利息"
|
||||
- 只冲抵该项已产生的利息(部分或全部),不碰本金
|
||||
- 本金保持不变,继续按原利率计息至暂计日
|
||||
- xlsx中该项本金列不动,利息列扣减冲抵金额
|
||||
- docx中表述为"冲抵XXX利息XXX元",不涉及本金
|
||||
|
||||
**模式C:本息先扣+剩余扣利息**——"先把X的本息、Y的本息扣完,如有剩余,去扣减Z的利息"(2026-06-12 梁永案)
|
||||
- 优先级最高的项(如房屋租金、转让款余款):本金+利息全部冲抵
|
||||
- 次优先级的项(如股权转让款):仅冲抵利息,不碰本金
|
||||
- 最低优先级的项(如借款):前面的项扣完后才轮到,且可能只够部分冲抵利息
|
||||
- xlsx分摊行逐列填写:高优先级列=本金+利息全扣,次优先级列=仅利息冲抵额,最低优先级列=0或剩余
|
||||
- docx分摊描述段必须体现层次:"首先冲抵X本息……,其次冲抵Y本息……,剩余XXX元冲抵Z利息"
|
||||
|
||||
**联动要点**:
|
||||
- 修改xlsx分摊行时先确认每一项是"本息全扣"还是"只扣利息"
|
||||
- docx的分摊描述段必须与xlsx结构精确对应:哪些项扣了本金、哪些只扣了利息
|
||||
- 利息只被部分冲抵时,docx要写明"尚余利息XXX元未获清偿"
|
||||
- **修改分摊顺序时docx和xlsx必须同步**:不能只改Excel不改本息计算说明,也不能只改说明不改Excel
|
||||
|
||||
## 六、法律分析文书撰写
|
||||
|
||||
### 触发条件
|
||||
- Doro要求针对案件中的法律争点做专题分析
|
||||
- 需要论证某一主张的法律依据(如共同被告资格、夫妻共同债务认定等)
|
||||
|
||||
### 专题法律框架库
|
||||
- `references/single-shareholder-property-independence-defense.md` — 一人公司股东"财产独立"抗辩(公司法第23条第3款举证责任倒置)。债权人把唯一股东列共同被告主张连带责任时,代理股东方的完整框架:法条与举证边界、质证意见/答辩状/证据目录三类文书的论证落点、审计报告的5个风险点、补强证据链。
|
||||
|
||||
### 格式要求
|
||||
- **套用同案件已有文书的格式**:如有本息计算说明,直接用其docx作为模板(复制后替换内容)
|
||||
- 标题:居中、加粗、sz=30
|
||||
- 小标题(如"一、基本事实"):加粗、段前间距
|
||||
- 正文:两端对齐、首行缩进、1.5倍行距
|
||||
- 法条引用:完整引用条文原文,不截断不概括
|
||||
|
||||
### 内容结构
|
||||
1. **基本事实**——从案件材料中提炼与论点相关的事实(当事人关系、债务形成、还款记录等)
|
||||
2. **法律依据分析**——每条理由独立成节,结构为:法条原文→涉案事实对应→结论
|
||||
3. **结论**——总结全部论证线索
|
||||
|
||||
### 写作原则
|
||||
- 用事实说话,每个论点必须有案件材料中的事实支撑
|
||||
- 数字必须与xlsx/本息计算说明一致,直接引用已核验的数字
|
||||
- 法条引用必须完整准确(如民法典第1064条全文,不是概括)
|
||||
- 行文风格跟随Doro习惯:严谨、简洁、不用过度修辞
|
||||
- 引用判例时必须注明案号和裁判法院(如"江苏省南通市中级人民法院(2019)苏06民终355号"),不能只说"某法院判决"
|
||||
- 权威依据优先级:法条原文 > 最高法审判参考/司法解释 > 省高院指导文件 > 中院判例
|
||||
- 浙江管辖案件优先引用浙江高院的指导文件(如浙高法〔2018〕89号)
|
||||
|
||||
### 法律依据验证交付规范(2026-06-10 Doro要求后确立)
|
||||
当Doro要求提供某条引用的"官方来源"时:
|
||||
1. 用浏览器访问官方网站原文URL,确认内容存在
|
||||
2. 用JS高亮关键段落(红框+浅红背景),截图保存
|
||||
3. 同时提供:全称、发布机关、发布日期、URL、在文件中的具体位置(第几部分第几节)
|
||||
4. 截图作为MEDIA发给Doro
|
||||
- 示例:上海一中院《夫妻共同债务类案件的审理思路和裁判要点》原文URL: https://www.a-court.gov.cn/xxfb/no1court_412/docs/202009/d_3645567.html
|
||||
|
||||
### 法院官网PDF截图制作方法(2026-06-10实测)
|
||||
法院官网中文字体编码特殊,wkhtmltopdf直接转PDF产生乱码。正确做法:
|
||||
1. browser_navigate加载官网页面
|
||||
2. browser_console用JS高亮关键段落(`p.style.border='3px solid red'; p.style.backgroundColor='#fff0f0'`)
|
||||
3. browser_vision截图(即使vision分析失败,screenshot_path仍可用)
|
||||
4. PyMuPDF (fitz) 将PNG转PDF:`img=fitz.open("screenshot.png"); pdfbytes=img.convert_to_pdf(); ...`
|
||||
5. ⚠️ browser session可能在多次调用间丢失(页面变空白),需重新navigate
|
||||
|
||||
### 铁律:事实性断言必须标注来源(2026-06-09 Doro质问后确立)
|
||||
- **每一个事实性断言**(某人做了什么、某人是什么身份、某公司的股东是谁)必须标注具体信息来源(起诉状第X段、还款协议第X条、证据X等)
|
||||
- **绝不从案件背景推断事实**——如果案件材料中没有直接记载,不能写。"合理推断"在法律文书中等于"编造"
|
||||
- **引用司法解释/法规前必须核实**:(1)全称是什么 (2)文号是什么 (3)是否现行有效 (4)被引条文原文是什么。不能凭记忆引用
|
||||
- **已废止法规处理**:法释〔2018〕2号在民法典施行后已废止,其核心内容被民法典1064条吸收。引用时应以民法典条文为主,浙高法〔2018〕89号等地方文件作为裁判思路参考
|
||||
- 2026-06-09教训:张华丽法律分析v2中写了"张华丽本人亦为大洋路199号房屋的共同受让人及丽水国际车城开发有限公司的股东",Doro问来源时才发现该事实虽然在起诉状P034中有记载,但生成时未查证也未标注来源,属于凭推断写入的事实性断言
|
||||
- 2026-06-10追问教训:Doro对v2追问三个问题——"司法解释是否失效""从哪里得知张华丽是股东""给我官方来源"。暴露三层问题:(1)引用不精确(2)事实无标注(3)无法当场提供原始出处验证。修正后v3中逐一修复,并用浏览器截图提供上海一中院官网原文验证
|
||||
|
||||
### 量词精确性原则(2026-06-09 Doro纠正)
|
||||
- 法律文书中的量词("均""全部""每次""部分""多次"等)必须与事实**完全匹配**
|
||||
- 典型错误:10次转账中只有部分有备注"还款",却写"转账备注**均**注明'还款'"
|
||||
- 正确做法:不确定是否全部时,用"部分"而非"均";能确认全部时才用"均"
|
||||
- 这不是措辞偏好问题,而是事实准确性问题——"均"意味着每一笔都有,对方律师可以逐笔核查
|
||||
|
||||
### 反向论证技巧
|
||||
对于存在"二择一"逻辑的法律争点,可以用反向论证夯实论点——即论证对方如果否认己方主张,则其自身立场会产生更不利的逻辑后果。典型场景:配偶否认还款系清偿本案债务→举债方构成完全违约。详见 `references/spousal-debt-case-law.md`
|
||||
|
||||
### 法律文书复核(修订模式输出)
|
||||
|
||||
当Doro要求对已有法律文书做复核并用修订模式标注修改时:
|
||||
1. **阅读原文并分析写作风格**:字体(仿宋/Times New Roman)、字号、行距、缩进、小标题样式(numPr编号列表)、段落结构
|
||||
2. **全面复核**包括:法条引用准确性(核实原文)、表述是否有歧义、论述是否充分、是否有更有利的规定和判例
|
||||
3. **用修订模式标注**:author=WB,DEL删除原文+INS插入新文字,精准到字
|
||||
4. **新增段落格式必须与原文一致**:复制原文的pPr结构(spacing/ind/jc等),rPr字体必须匹配(eastAsia='仿宋'等)
|
||||
5. **小标题用原文样式**:如原文用pStyle='af9'+numPr自动编号,新增小标题必须复制同样的pPr
|
||||
6. **模仿写作风格**:法律文书的论证节奏(引法条→对事实→得结论)、用语习惯("案涉""诉争""二被告"等)、不添加原文没有的修辞风格
|
||||
7. **检索判例支撑**:提供案号+法院+裁判要旨+来源,优先最高法案例
|
||||
|
||||
### 参考判例库
|
||||
- `references/spousal-debt-case-law.md` — 夫妻共同债务中配偶还款行为认定为"事后追认"的裁判规则、支持/反面判例汇编、反向论证技巧、权利义务一致原则论证、追认vs知情区分
|
||||
|
||||
## 八、再审申请书复核与附件清单制作
|
||||
|
||||
### 触发条件
|
||||
- Doro放入再审申请书要求全方位复核
|
||||
- 需要制作附件清单(事实→原审证据位置映射)
|
||||
- 需要将引用的证据合并成一份带书签的PDF
|
||||
|
||||
### 复核流程
|
||||
|
||||
### 再审申请书审阅检查清单(2026-06-15 万禹案实测补充)
|
||||
|
||||
以再审法官视角审阅时,除法律实质+文字校对两遍外,额外检查:
|
||||
|
||||
1. **民诉法210+211条配套引用**:第210条是再审申请的权利基础("当事人对已经发生法律效力的判决、裁定,认为有错误的,可以向上一级人民法院申请再审"),第211条是再审事由列举。两条一般配套引用,漏引210条会显得不规范
|
||||
2. **附件引用格式全文统一**:检查"附件资料Px""附件材料Px""附件Px"等表述是否全文统一为同一格式。混用(如一处写"附件材料P5"、另一处写"附件资料P7")影响文书专业性
|
||||
3. **引用的法律主体名称必须与判决书认定的主体精确对应**:判决书中的关联方可能有名称相似但法律身份不同的主体(如"上海伟程企业发展有限公司"是原承租方,"上海伟程物业管理有限公司"是物业管理方),申请书引用时必须精确匹配,张冠李戴会削弱可信度。2026-06-15教训:P050将物业管理方误写为"上海伟程企业发展有限公司"(同一控制人的另一实体),需与判决书原文交叉核对
|
||||
4. **行政处罚撤销论述措辞审慎**:行政行为被撤销的法律效果(溯及力)在学理上有争议。避免断言"事实自始不存在"(撤销原因可能是程序违法而非事实错误),用更稳妥的"法律效力溯及消灭""不应继续作为认定案件事实的依据"
|
||||
5. **请求事项与事实理由的对应完整性**:如请求事项包含"支持全部反诉请求",则事实与理由部分必须对每项反诉请求都有对应论述。缺少论述的反诉项会被法官认为缺少事实和理由支撑
|
||||
6. **结尾句号等标点完整**:结论段"维护申请人的合法权益"后必须有句号,这类遗漏在正式提交时很不专业
|
||||
7. **漏字检测**:跨run编辑的docx容易丢字(如"其与井亭公司"变成"其与公司"),全文搜索所有公司简称确认前缀完整
|
||||
|
||||
### 原审判决归纳(再审申请书配套材料)
|
||||
|
||||
当Doro要求归纳一审/二审判决情况时,目的是帮再审法官快速了解原判思路。写作要求:
|
||||
- **概括性总结,不写具体数字和金额**(Doro 2026-06-15明确:便于法官迅速了解原判思路)
|
||||
- **必须用正常法言法语**,提炼主要核心观点,简明扼要。不得用自己的话改写或"翻译"成通俗语言——法官要看的是法律概念和裁判逻辑,不是案情科普(Doro 2026-06-15纠正:小Maggie用通俗语言改写了再审理由,被批"篡改了理由")。具体来说:如原文用"瑕疵履行"就写"瑕疵履行",不要改成"交付的东西有问题";如原文用"缔约过失"就写"缔约过失",不要改成"签约时故意隐瞒"。**总结/归纳/要点提炼类任务一律适用此规则**——凡是对法律文书做概括,都必须保留原文的法律术语,只压缩篇幅和结构,不降格表达层次
|
||||
- 结构分四块:事实认定 → 法律适用 → 违约认定 → 裁判结果
|
||||
- 重点突出原审的**推理逻辑和法律依据**,而非金额计算细节
|
||||
- 如果一二审认定一致,合并写;有差异处(如二审纠正金额)点明即可,不展开具体数字
|
||||
- 如果原审回避了某个争点(如未审查行政处罚撤销的法律效果),明确指出"两审均未审查/未考量"
|
||||
- 200字左右为宜,不超过300字
|
||||
|
||||
**客户沟通版本除外**:当Doro明确要求"让客户更好理解"的总结时,可以用更平实的语言,但仍不得改变法律论点的实质内容和逻辑结构——只是语言层次可以降一级,论证逻辑不能变
|
||||
|
||||
**第一步:通读再审申请书,逐段分析(必须两遍)**
|
||||
|
||||
**第一遍——法律实质审查:**
|
||||
1. 事实主张是否有原审证据支撑
|
||||
2. 法律适用是否准确(条文号、效力状态)——⚠️ 民诉法条文号是重灾区,每次修正都可能后移。2023版(第五次修正,2024.1.1生效)因增加16条涉外条文,审判监督程序条文整体后移。必须查原文核验,不能凭记忆。见 `references/civil-procedure-law-article-mapping.md`
|
||||
3. 论证逻辑是否严密(有无跳跃、矛盾)
|
||||
4. 参考判例引用是否规范(案号+法院+要旨)
|
||||
5. 有无更有利的法律规定或判例可补充
|
||||
6. 计算数字是否自洽(每个公式独立复算,交叉比对)
|
||||
7. Doro明确不再使用的观点要排除(如"装修合同观点不再提")
|
||||
8. 引用已废止法律的条文(如合同法→民法典对照),是否需要加注现行条文号
|
||||
|
||||
**第二遍——文字校对(独立工序,不可跳过):**
|
||||
1. 错别字、漏字(如"解除诉争合"漏了"同"字)
|
||||
2. 重复词语(如"住所地:住所地..."、"共计…合计")
|
||||
3. 双重否定/语法错误(如"不得…不得")
|
||||
4. 年份笔误(如"2025"应为"2026")
|
||||
5. 称谓一致性(甲方/乙方vs买方/卖方,全文统一)
|
||||
6. 标点符号(全角/半角一致性)
|
||||
7. 量词精确性("均""全部""部分"是否与事实匹配)
|
||||
|
||||
⚠️ 2026-06-12教训(数字健康城区运维合同):手动审查只做了一遍,遗漏5处文字问题(双"进行"、"2027月"、双"由于因"、"买卖双方"混用、"如果或证实"),被Doro要求"认真点"。第一遍专注法律实质很容易放过文字细节,必须独立做第二遍文字校对。
|
||||
⚠️ 2026-06-12教训(万禹案再审申请书):误将2021版民诉法条文号(第200条=再审事由)套用到2023版(实际为第211条),挑战了Doro的正确引用。教训:民诉法条文号不能凭记忆或搜索结果中的旧版文章判断,必须查2023版原文PDF或用第219条(检察抗诉条款引用"第二百一十一条规定情形")交叉验证。
|
||||
|
||||
**第二步:制作附件清单**
|
||||
在再审申请书最后一页添加"附件清单",格式:
|
||||
|
||||
| 序号 | 再审申请书引用事实 | 原审证据来源 | 具体位置 |
|
||||
|------|------|------|------|
|
||||
| 1 | 井亭公司租赁合同约定面积1243㎡ | 01-证据材料(原告提交)| 第X页 |
|
||||
| 2 | 首乌丽亚庭审辩称公摊面积 | 庭审笔录 | 第11页 |
|
||||
|
||||
**每一条事实主张都必须找到原审材料中的精确位置**——哪份证据的第几页,或庭审笔录的第几页。
|
||||
|
||||
**第三步:合并证据PDF并插入书签**
|
||||
使用PyMuPDF (fitz):
|
||||
```python
|
||||
import fitz
|
||||
merger = fitz.open()
|
||||
toc = []
|
||||
for item in attachment_list:
|
||||
doc = fitz.open(item['pdf_path'])
|
||||
# 如果只需要特定页
|
||||
page_start = len(merger)
|
||||
merger.insert_pdf(doc, from_page=item['from_page'], to_page=item['to_page'])
|
||||
toc.append([1, item['bookmark_title'], page_start + 1])
|
||||
merger.set_toc(toc)
|
||||
merger.save("附件合并.pdf")
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
- **书签不加编号**(Doro 2026-06-12指示):只写文件名称,不写序号(如"附件一(建筑面积1,243㎡)"而非"1. 附件一...")。原因:每次增减附件都要改编号,浪费时间。有页码就够了
|
||||
- **附件按申请书引用顺序排列**(Doro 2026-06-12指示):PDF中各文件的排列顺序与它们在申请书中首次被提及的先后一致
|
||||
- **新增附件文件时**:插入PDF末尾(或按引用顺序的对应位置),更新全部书签页码,同时在申请书中填入"附件PXX"页码
|
||||
- **Doro修改附件后**:先从Nextcloud重新下载最新版PDF,逐页OCR确认内容(扫描件get_text()为空,用tesseract),再据此重建书签。不能假设Doro修改后的页面内容和顺序与旧版一致
|
||||
- **补充协议等文件被删除后**:如果书签仍残留但指向错误页码(如指向P1),直接删除该书签,不要猜测文件去哪了
|
||||
- PDF页码从0开始,书签页码从1开始
|
||||
- 大PDF文件(>50MB)的证据材料可能需要只提取相关页面而非全量合并
|
||||
- 带"-书签"后缀的文件是已标记书签的版本,优先使用
|
||||
- 复核清单模板见 `references/retrial-application-checklist.md`
|
||||
|
||||
### 已有附件PDF审计(Doro交付的附件材料复核)
|
||||
|
||||
Doro可能自己组装了附件PDF(扫描+网页打印混合),要求添加书签、页码、检查缺漏。审计流程:
|
||||
|
||||
**第一步:结构识别(逐页)**
|
||||
1. PyMuPDF打开PDF,逐页检查:`page.get_text()`有无文字层、`page.get_images()`有无图片、`page.rotation`旋转状态
|
||||
2. 有文字层的页面直接读取内容;纯扫描页用tesseract OCR(`pytesseract.image_to_string(img, lang='chi_sim')`)
|
||||
3. 按内容归类每一页属于哪份文件(合同、决定书、笔录、新闻报道等),记录每份文件的页码范围
|
||||
|
||||
**第二步:现有书签审计**
|
||||
1. `doc.get_toc()`读取现有书签
|
||||
2. 逐条检查书签指向的页码是否与实际内容匹配——Doro自建的PDF书签经常指向错误页码(如多个书签全指向P1)
|
||||
3. 检查书签编号是否连续(如从"2"开始意味着缺"1")
|
||||
4. 检查有无内容页面没有对应书签
|
||||
|
||||
**第三步:引用完整性核对(核心价值)**
|
||||
制表比对再审申请书引用的每一份证据是否在附件PDF中实际存在:
|
||||
|
||||
| 再审申请书引用 | 引用位置(段落号) | 附件中是否存在 | 页码 |
|
||||
|--------------|------|------|------|
|
||||
| 井亭合同附件一 | 第19段 | P1 ✅ | |
|
||||
| 房屋租赁意向协议书 | 第43段 | ❌ 缺失 | |
|
||||
|
||||
缺失的文件按重要性分级:
|
||||
- **关键缺失**:再审申请书的核心论点依赖该证据(如行政处罚决定书)
|
||||
- **补充缺失**:引用的参考文件/规范性文件(如北京高院解答),不影响核心论证但补充后更完整
|
||||
- **已有替代**:单独PDF已存在于Nextcloud但未合并进附件(如一审判决书)
|
||||
|
||||
**第四步:修复书签并添加页码**
|
||||
```python
|
||||
import fitz
|
||||
doc = fitz.open("附件材料.pdf")
|
||||
# 重建正确的书签目录
|
||||
toc = [
|
||||
[1, "1. 井亭与首乌丽亚《租赁合同》附件一", 1],
|
||||
[1, "2. 首乌丽亚与万禹《房屋租赁合同》", 2],
|
||||
# ...
|
||||
]
|
||||
doc.set_toc(toc)
|
||||
# 添加页码(每页底部居中)
|
||||
for i in range(len(doc)):
|
||||
page = doc[i]
|
||||
rect = page.rect
|
||||
# 注意处理旋转页面:先set_rotation(0)画页码再恢复
|
||||
page.insert_text(
|
||||
fitz.Point(rect.width/2 - 10, rect.height - 20),
|
||||
str(i + 1), fontsize=10, color=(0, 0, 0))
|
||||
doc.save("附件材料-书签版.pdf")
|
||||
```
|
||||
|
||||
⚠️ **旋转页面的坐标陷阱(2026-06-12 万禹案教训)**:
|
||||
- `page.rotation=270`的页面,`page.new_shape()`的Shape API使用mediabox坐标系,画出的线条/文字可能出现在页面外(负坐标区域)
|
||||
- 渲染验证方法:`page.get_pixmap()`渲染为PNG,用PIL扫描红色像素确认标注可见
|
||||
- 正确处理旋转页面的方法:临时`page.set_rotation(0)`→在unrotated坐标系中操作→恢复`page.set_rotation(原值)`
|
||||
- `page.draw_line()`(高级API)比`page.new_shape()`对旋转处理更好,但仍不完全可靠
|
||||
- **最终结论**:如果标注(下划线、文字框)在Nextcloud查看器中不可见,很可能是旋转坐标问题而非渲染问题——Doro说"看不到"时先检查旋转
|
||||
|
||||
### 行政诉讼材料在民事再审中的证据挖掘(2026-06-11 万禹案实测)
|
||||
|
||||
当民事案件涉及行政处罚且行政处罚已被撤销时,行政诉讼全套材料是再审的重要证据富矿:
|
||||
|
||||
**1. 撤销决定书——解读"启动契机"与"法律根据"的双重结构**
|
||||
- 撤销决定书的"现因"字段记载的是撤销的**启动契机/背景事由**(如"行政诉讼和解")
|
||||
- 引用的法条(如《公安机关内部执法监督工作规定》第19条第1项)才是撤销的**法律根据**
|
||||
- 两者不能混淆——引用第19条第1项意味着公安机关经内部执法监督审查后认定原处罚属于"错误的处理或决定",而非仅仅"和解让步"
|
||||
- 论证时应区分:和解是契机,纠错是实质
|
||||
|
||||
**2. 询问笔录——构建"责任排除链"**
|
||||
- 从被处罚当事人的询问笔录中提取完整的违法行为责任链条
|
||||
- 如果链条中不包含民事案件当事人,直接证明该方不是违法行为的实施者
|
||||
- 关注笔录中场地租赁关系(谁租给谁、租金多少)、设备来源(谁提供的工具/设备)、人员关系(被处罚人中有无当事人员工)
|
||||
|
||||
**3. 庭审笔录——挖掘行政机关的自认**
|
||||
- 行政诉讼庭审中,行政机关(被告)的陈述可以构成"自认"
|
||||
- 关注行政机关对当事人经营性质的评价(如"日常经营合法合规")
|
||||
- 关注法官与行政机关关于处罚主观要件(故意/过失/间接故意)的讨论——如果行政机关自己都承认需要证明"间接故意"但无法证明,这直接否定了民事判决中"被查获违法行为"的事实认定
|
||||
|
||||
**4. 调解/谈话笔录——往往包含最有价值的自认**
|
||||
- 法院组织调解时行政机关的发言通常比庭审更坦率
|
||||
- ⚠️ 重点关注行政机关对当事人经营合法性的明确自认——这是最直接的证据
|
||||
- 同时关注撤销的内部审批流程描述("办案单位发起→法制审核→局领导审批")——证明撤销是正式的内部纠错程序而非随意让步
|
||||
|
||||
**5. 证人证言——从行政诉讼证人中找对己方有利的事实**
|
||||
- 行政诉讼庭审中的证人证言在民事案件中同样可以引用
|
||||
- 关注证人关于"私自行为"的供述(如员工承认"我没有权利""老板发现了会把我开掉")
|
||||
- 关注事后报警行为(证明不知情)
|
||||
|
||||
**万禹案教训:再审申请书漏引了浦东法院谈话笔录中公安机关"经营合法合规"的自认——这是全案最有力的直接证据,应在第一轮复核中就被识别并建议增补。**
|
||||
|
||||
### "错误的处理或者决定"的法律解释框架
|
||||
|
||||
当再审申请书需要论证行政处罚撤销的法律含义时,参考以下框架:
|
||||
- 详细分析见 `references/admin-supervision-error-types.md`
|
||||
- 核心论证路径:第19条第1项 → 配套《执法过错责任追究规定》第2条的四类错误定义 → 焦志刚案(最高法院公报2006年第10期)确立的高门槛规则 → 结论
|
||||
|
||||
### 无公开案号的参考案例引用规范(2026-06-11 厦门同安案实测)
|
||||
|
||||
当引用的参考案例无公开案号(裁判文书未上网、新闻报道匿名化处理)时:
|
||||
1. **不能编造案号**——没有就是没有,必须如实标注
|
||||
2. **合理的引用方式**:叙述案件事实+标注"详见附件",附件中附新闻报道打印件
|
||||
3. **补充新闻来源增强可信度**:在再审申请书中或附件中注明新闻出处(如"另见《厦门日报》2023年9月1日报道")
|
||||
4. **验证事实准确性**:与新闻报道交叉核对申请书中引用的数字(面积、金额、判决结果等)是否完全一致
|
||||
5. **建议尝试通过裁判文书网/北大法宝/律师渠道获取正式案号**,获取后补充
|
||||
|
||||
### 再审准备:当事人陈述与判决矛盾系统分析
|
||||
|
||||
再审申请的说服力依赖于暴露原审中被忽视的矛盾。以下是系统分析框架(万禹案实测):
|
||||
|
||||
**一、当事人自身矛盾(自相矛盾)**
|
||||
逐项检查每方当事人在不同场合(起诉状、答辩状、庭审陈述、情况说明、上诉状)的表述是否前后一致:
|
||||
- 金额数字是否反复变化(如已付租金从290万→247万→230万→200万)
|
||||
- 事实陈述是否翻供(如一审确认水电费→二审否认)
|
||||
- 立场是否自相矛盾(如声称"没有残值"→后鉴定出263万残值)
|
||||
- 关键时间节点的陈述是否矛盾(如"一直口头提过面积问题"vs"2023.12首次书面提出")
|
||||
|
||||
**二、双方之间矛盾**
|
||||
制表列出每个争议点双方各自主张+现有证据支持哪方:
|
||||
| 争议点 | 原告主张 | 被告主张 | 证据指向 |
|
||||
表格形式便于法官快速定位核心分歧。
|
||||
|
||||
**三、两审判决之间矛盾**
|
||||
重点关注:
|
||||
1. 二审已纠正的一审错误(说明一审事实认定存在疏漏)
|
||||
2. 两审计算方法的差异(月计vs日计产生的系统性偏差)
|
||||
3. 二审维持但可能有误的认定(循环论证、回避核心争点)
|
||||
|
||||
**四、法院未审查的问题(再审核心价值)**
|
||||
列出两审均回避的争点,每个问题说明:
|
||||
- 法院如何回避(用了什么理由跳过)
|
||||
- 实际情况如何(证据显示什么)
|
||||
- 如果审查会导致什么结论
|
||||
|
||||
⚠️ 对于"法院以行业惯例回避面积争议"类问题,需要论证:法院援引的惯例是否有证据支撑、是否适用于本案具体情况、对方是否举证了惯例的合理性。
|
||||
|
||||
**五、判决金额逆向拆解**
|
||||
对终审判决的每一项金额做逆向计算验证:
|
||||
1. 列出判决主文每一项(确认解除、租金差额、违约金、水电费、免租期租金、装修补偿等)
|
||||
2. 从判决书"本院认为"部分提取每项的计算依据和公式
|
||||
3. 用公式独立计算,验证是否与判决金额一致
|
||||
4. 不一致的标注差额和可能原因
|
||||
5. 汇总万禹净负担(应付-应收-费用+后续违约金)
|
||||
|
||||
此分析对再审极有价值:如果能证明判决金额的计算过程本身存在矛盾或错误,直接构成"认定事实错误"的再审事由。
|
||||
|
||||
### 再审准备:全案数据交叉比对
|
||||
|
||||
再审申请书附件材料应包含一份系统的交叉比对Excel,用于:
|
||||
1. **暴露一审/二审的事实认定错误**——如已付金额重复计算、计算方式不透明
|
||||
2. **证明重算后结论翻转**——如面积纠正后欠付金额不足以触发解除条件
|
||||
3. **列出一审/二审均未审查的问题**——为再审审查范围提供具体靶点
|
||||
|
||||
制作流程:
|
||||
1. OCR判决书+庭审笔录,提取全部数字和认定事实
|
||||
2. 从原告情况说明/计算明细中提取原告主张的每一笔数字
|
||||
3. 从银行回单/付款凭证中提取实际付款记录
|
||||
4. 三方数据逐项交叉:原告主张 vs 法院认定 vs 实际凭证 vs 重算
|
||||
5. 差异项高亮标注,附差异原因分析
|
||||
|
||||
详细Sheet结构和制表要点见 `references/rental-dispute-analysis.md` 的"多数据源交叉比对"一节。逐月应付-已付-累计欠付统计表的制作方法见 `references/rental-monthly-rent-table.md`。⚠️ **统计表的计算口径必须与再审申请书完全一致**——计算方法(按日vs整月)、总天数(含不含解除日当天)、减免金额分项必须与申请书公式逐项对齐,同一个数字在两份文件中不能算出不同结果。已付金额、减免金额等关键数字必须锚定到同一个权威来源(申请书/判决书)。⚠️ **重做统计表时必须逐列对照旧版**(2026-06-15教训:漏掉"补充协议减免"列导致15万元级别差异)。⚠️ **Excel必须保留计算公式**(应付=天数×日租金,瑕疵=257×2.6×天数,当月欠付=差值公式,合计=SUM),不填静态数字,方便核对人验证。
|
||||
|
||||
合同解除条件分析方法(如"欠交租金二个月"的模糊条款)见 `references/lease-termination-condition-analysis.md`。
|
||||
|
||||
### 大附件邮件下载(IMAP, >10MB)
|
||||
|
||||
Doro可能通过邮件发送大文件(如附件PDF 10-15MB)。IMAP RFC822整封下载对大邮件极慢(>10分钟),正确做法:
|
||||
|
||||
1. **先BODYSTRUCTURE**确认各part编号和大小:`M.fetch(uid, '(BODYSTRUCTURE)')`
|
||||
2. **按part编号单独下载附件**:`M.fetch(uid, '(BODY[N])')`,N是附件part号
|
||||
3. **MIME嵌套结构的part编号**:mixed(related(alternative(text,html),image),attachment1,attachment2)中,顶层part从1开始编号,但嵌套的multipart自身不占编号,其子part用点号(如1.1, 1.2)。顶层附件通常是BODY[2], BODY[3]等
|
||||
4. **验证file类型**:下载后用`file`命令确认是docx/pdf而非错位的part
|
||||
5. **超长下载用background+notify**:`socket.setdefaulttimeout(600)` + terminal(background=true, notify_on_complete=true)
|
||||
6. **单part仍超时时用分块下载(2026-06-15实测,2.3MB附件整块下载超时120s)**:
|
||||
```python
|
||||
chunk_size = 500000 # 500KB chunks
|
||||
offset = 0
|
||||
all_data = b''
|
||||
while True:
|
||||
s, d = mail.fetch(b'52', f'(BODY.PEEK[2]<{offset}.{chunk_size}>)')
|
||||
chunk = d[0][1]
|
||||
if not chunk:
|
||||
break
|
||||
all_data += chunk
|
||||
offset += len(chunk)
|
||||
if len(chunk) < chunk_size:
|
||||
break
|
||||
decoded = base64.b64decode(all_data)
|
||||
```
|
||||
- `BODY.PEEK[N]<offset.length>` 是IMAP4 partial fetch语法,按字节范围取raw base64数据
|
||||
- 拼完所有chunk后统一base64解码,不要逐chunk解码(base64需要完整padding)
|
||||
- 500KB chunk经验证对2-3MB附件稳定工作,不超时
|
||||
7. ⚠️ 2026-06-12教训:BODY[3]拿到10MB PDF而非预期的docx——MIME part编号与BODYSTRUCTURE的嵌套层级有关,不能简单假设"第N个附件=BODY[N]",必须根据BODYSTRUCTURE解析
|
||||
|
||||
### 刑事/行政材料 → 民事追偿诉讼方案
|
||||
|
||||
当客户因他人犯罪/违法行为遭受经济损失(如场所内发生犯罪导致被停业处罚),需从刑事笔录中提取被告身份信息、构建因果关系链、选择请求权基础。完整工作流见 `references/civil-tort-claim-from-criminal-materials.md`。该reference包含:①被告身份OCR提取+姓名验证陷阱 ②因果链构建 ③请求权基础选择 ④"被牵连方"定位+行政处罚效力互动论证 ⑤过失相抵风险评估 ⑥逐人侵权构成要件论证结构 ⑦员工被告取舍决策。
|
||||
|
||||
### 庭审笔录OCR工作流(扫描件→可检索文本)
|
||||
|
||||
法院庭审笔录通常是扫描PDF,需OCR后才能引用精确页码:
|
||||
1. **PDF拆页**:`pdftoppm -png -r 300 庭审笔录.pdf output_prefix` 拆成逐页PNG
|
||||
2. **OCR识别**:`tesseract pageXX.png pageXX -l chi_sim` 逐页识别(中文用chi_sim)
|
||||
3. **关键页定位**:通读OCR文本,标记关键段落所在页码(如"商业秘密"第4页、"面积计算"第5页等)
|
||||
4. **引用格式**:再审申请书/附件清单中引用为"庭审笔录第X页"
|
||||
5. ⚠️ 扫描件OCR准确率有限,关键数字和人名必须与原件图片核对,不能仅凭OCR文本
|
||||
|
||||
### 语音识别庭审笔录整理(录音转文字→还原发言真意)
|
||||
|
||||
部分法院采用庭审记录改革方式(录音录像代替书面笔录),提供的庭审笔录是语音识别自动生成的转录文本。这类文本错误极多(同音字、吞字、断句错误、发言人标记错乱),**不能原样搬运,必须结合案情和上下文还原各方真实表达**。
|
||||
|
||||
**与OCR的区别**:
|
||||
- OCR笔录:原文就是正确的,问题只是识别准确率
|
||||
- 语音识别笔录:原文本身就是对口语的机器猜测,大量"正确的错字"需要人工理解后纠正
|
||||
|
||||
**整理原则(用户明确要求:认真一点,结合案情前后文去理解)**:
|
||||
|
||||
1. **识别并还原法律术语**:语音识别常把法律术语拆碎或替换为同音字
|
||||
- "护工领红刑罚决字" → "沪公闵(红)行罚决字"
|
||||
- "虹桥派出所副所长徐腾俊" → 语音可能识别为"旭藤俊"
|
||||
- "民事诉讼法第二百一十一条" → 可能被断成多段
|
||||
|
||||
2. **区分发言人**:语音识别经常标错发言人(把原告的话标为"第三人"),需根据内容和立场判断谁在说话
|
||||
|
||||
3. **剔除程序性杂音**:法官维持秩序的话("你别插嘴""等一下")、旁听人员被训斥等,只保留对案件有实质意义的内容
|
||||
|
||||
4. **结构化输出**:按诉讼阶段分节(诉讼请求→答辩→举证质证→证人出庭→法庭调查→辩论→最后陈述),每节按发言人分段
|
||||
|
||||
5. **保留关键原话**:各方对事实的关键陈述尽量贴近原文表达,只纠正明显的语音识别错误,不做法律分析或评价
|
||||
|
||||
6. **末尾做事实要点表**:提取能从各方发言中确认的客观事实(时间、地点、人物、金额、处理结果),以表格形式汇总
|
||||
|
||||
**典型纠正模式**:
|
||||
| 语音识别原文 | 还原后 | 判断依据 |
|
||||
|------|------|------|
|
||||
| "护工闵红行罚决字202301095号" | "沪公闵(红)行罚决字〔2023〕01095号" | 行政处罚决定书编号格式 |
|
||||
| "上海万宇实业有限公司" | 同上(正确) | 但注意实际经营名"万融阁美容店" |
|
||||
| "第三人:好的,被告是上海市公安局闵行分局" | "被告代理人:好的,被告是……" | 行政诉讼中被告是公安分局,此处是被告在陈述自己身份 |
|
||||
| "我们有销售体验卡可以现场进行消费" | 同上(法定代表人笔录原文引用) | 被告引用原告笔录中的表述 |
|
||||
|
||||
**⚠️ 万禹案教训(2026-07-03)**:第一稿仅做了最低限度的格式整理,大量语音识别错误原样保留,被用户要求重做——"就因为是语音识别,需要你整理还原表达的意思,所以你得认真一点,结合案情前后文去理解"。正确做法是把garbled text当作"需要破译的密文",每一句都要问自己"这个人在这个诉讼阶段想表达什么",而不是机械搬运。
|
||||
|
||||
### 付款明细核对方法论(2026-06-12 万禹案教训)
|
||||
|
||||
当再审申请书涉及租金/还款金额计算时,**必须先交叉核对多个数据源的付款记录**,不能仅凭判决书的一句话下结论。
|
||||
|
||||
**数据源优先级**:
|
||||
1. 银行转账回单(客观凭证)— 金额和日期最可靠
|
||||
2. 原告/被告情况说明中的付款明细表 — 双方各自整理的完整流水
|
||||
3. 判决书查明事实 — 法院认定的数字(可能有汇总口径差异)
|
||||
4. 补充协议 — 对账结算金额
|
||||
|
||||
**核对铁律**:
|
||||
- 每个数字**必须追溯到原始凭证**再引用,不能从判决书简写推算
|
||||
- 判决书中的"共计支付X元"可能包含/排除保证金、物业费、补充协议结算金等,**口径必须搞清楚**
|
||||
- 当两个数字之差恰好等于某个已知金额(如保证金、某笔固定费用)时,很可能是口径差异而非计算错误
|
||||
- ⚠️ **先核对再报告差异**:2026-06-12教训——我声称"174,500没有出处",实际该数字是原告情况说明中明确记载的(首日支付474,500 - 补充协议中法院认定的300,000 = 174,500)。错误原因:只查了判决书和合同,没查原告情况说明中的付款明细表
|
||||
|
||||
**扫描件付款凭证OCR工作流**:
|
||||
- 银行回单通常是扫描PDF,文字层只有签名水印
|
||||
- DeepSeek-OCR(`~/.hermes/scripts/deepseek_ocr.py`)逐页识别效果远优于tesseract
|
||||
- 但原告/被告情况说明中的付款汇总表是最高效的数据源——先找有无当事人自己整理的付款明细表,再去逐张OCR银行回单
|
||||
|
||||
**付款明细Excel制作**:
|
||||
制作`付款及减免明细表.xlsx`,Sheet结构:
|
||||
1. **逐笔付款**:日期/金额/付款人/收款人/性质(租金/保证金/物业/水电)/备注(银行回单页码)
|
||||
2. **减免记录**:日期/金额/类型(疫情减免/协商减免)/来源(补充协议/判决认定)/覆盖的费用种类
|
||||
3. **多口径汇总对比**:原告主张已付/被告主张已付/一审认定/二审认定/按凭证统计——每个口径下同一笔款项的包含/排除状态
|
||||
4. ⚠️ 特别标注混合付款(如补充协议400,000覆盖了租金+物业+水电三类费用的结算)
|
||||
|
||||
### 独立证据汇编PDF制作
|
||||
|
||||
除附件清单合并PDF外,有时需要按主题制作独立的证据汇编(如"租金支付凭证汇编"):
|
||||
1. **确定分类维度**:按证据类型分组(如月度租金、押金、其他费用)
|
||||
2. **从大PDF中提取相关页面**:用PyMuPDF的`insert_pdf(doc, from_page=X, to_page=Y)`选取
|
||||
3. **按分类插入书签**:每个类别一个一级书签,标题含分类名+金额/时间范围
|
||||
4. **输出文件命名**:`案件名-证据汇编主题.pdf`(如"万禹案-租金支付凭证汇编.pdf")
|
||||
5. 与附件清单PDF不同:独立汇编是按主题重组的专题材料,附件清单PDF是按事实主张对应的材料集合
|
||||
|
||||
### 面积争议租金重算分析
|
||||
|
||||
不动产租赁纠纷中实际面积与合同面积不符时的计算分析框架,详见 `references/rental-dispute-analysis.md`。包含:
|
||||
- 按实际面积逐日重算租金的Sheet结构
|
||||
- **多数据源交叉比对**(原告诉请 vs 原告情况说明 vs 一审判决 vs 二审判决 vs 重算):5个Sheet维度(基础数据比对 / 应付金额分段比对 / 已付租金来源比对 / 欠付金额核心比对 / 合同解除条件翻转论证)
|
||||
- 已付租金比对的典型陷阱(补充协议双重计算、保证金是否计入、月计vs日计差额)
|
||||
- 二审纠正追踪 + 一审/二审均未审查的再审争点
|
||||
|
||||
## 八点五、《情况反映》——法院内部监督渠道
|
||||
|
||||
### 触发条件
|
||||
- 当事人认为审判程序违法,要求法院**内部自我纠错**(区别于向检察院申请监督)
|
||||
- 通常与检察监督申请书并用,或单独制作
|
||||
|
||||
### 核心区分(不可混用)
|
||||
《情况反映》受文机关是**本案审理法院**(院领导+审判监督/监察部门),姿态落在"督促依法办案、保障程序公正",**不碰追究法官责任的对抗腔**;称谓用"反映人/反映/贵院",不是"申请人/申请监督/受理法院"。与检察监督申请书的完整对比表、文书结构、采纳前景判断框架见 `references/court-internal-supervision-channel.md`。
|
||||
|
||||
### 权威法律依据(已核 court.gov.cn 原文)
|
||||
**最高法 法发〔2014〕13号《关于人民法院在审判执行活动中主动接受案件当事人监督的若干规定》第十二条第(四)项**:当事人反映的"办案程序、法律适用及事实认定等方面问题",由法院监察部门"分别移送案件承办部门、审判监督部门或者审判管理部门处理"。这是《情况反映》"寄给谁"的官方落点——对口受理是法院**监察部门**。
|
||||
|
||||
### "寄给谁"检索方法
|
||||
1. 法院**官网**页脚/"联系方式"栏取地址、邮编、**信访接待电话**(对口窗口,区别于立案咨询/办公室)
|
||||
2. 全国法院统一热线 **12368**
|
||||
3. 递交方式:诉讼服务中心当面递交要回执 / 挂号信注明"院领导·监察部门收" / 网上信访留痕
|
||||
4. 抬头只写到"××人民法院"、请求点名"院领导及审判监督、监察部门",**不写死具体庭室名**(各地名称不一)
|
||||
5. 节奏:与检察申请书并用时,通常**先递法院情况反映(给自纠机会)、并行或稍后递检察监督**,别同时递得互相矛盾
|
||||
|
||||
### 制作要点
|
||||
- 用同案件检察申请书作母版生成时,**务必清空继承的检察申请书页眉**("申请监督案号/受理法院"对法院内部渠道不成立)——见 `references/new-doc-from-sibling-template.md`
|
||||
- 结构:标题《关于(××××)×号案审判程序违法情形的情况反映》→ 受文机关顶格 → 一、案件基本情况 → 二、程序违法情形(分项)→ 三、反映请求(编号督促事项)→ 此致/××法院 → 反映人签名捺印/日期 → 附:随附材料清单
|
||||
|
||||
## 九、法律文书立案前审核(他人制作的文书)
|
||||
|
||||
### 触发条件
|
||||
- 莎莎或其他同事制作了诉讼/执行文书,发来请求审核
|
||||
- 文件即将提交法院立案,需要最终质检
|
||||
- 通常包含:申请书/起诉状 + 证据目录 + 证据PDF
|
||||
|
||||
### 审核与制作的区别
|
||||
- **制作**是从零起草,用模板+脚本库
|
||||
- **审核**有两种模式,由指示人决定:
|
||||
- **只读审核**:检查他人成品,只输出问题清单,不改文件
|
||||
- **审核+修订**:审阅并直接用修订模式(tracked changes, author=WB)修改,修改后回发。Maggie要求"用修订模式修改"时走此模式
|
||||
- 审核意见按严重程度分三级:❌需修改(错误)、⚠️建议完善(可改进)、💡提醒(需确认)
|
||||
|
||||
### 审核+修订模式工作流
|
||||
当指示人要求"审阅+修订模式修改"时:
|
||||
1. 下载文件 → 全面审阅 → 用tracked changes写入修改 → 回发修改后的文件
|
||||
2. tracked changes用python-docx加载+lxml操作XML(etree.SubElement创建w:del/w:ins)+python-docx保存。适用于文字替换类简单修改(不涉及段落重建)。详见 `references/tracked-changes-text-replacement.md`
|
||||
- **整段删除 / 整段文字替换 / 结构重构**(删段、合并升格、重排)用**纯zipfile+lxml**操作document.xml后重写zip,见同一reference的"Whole-Paragraph Delete & Full-Paragraph Replace"节。整段删除每run单独包w:del(5处改动可能产生35+个w:del属正常);删段后必须标记段落标记(paragraph mark)删除否则留空行;w:id用递增计数器别用hash()。
|
||||
- ⚠️ **修订author跟随指示人**:苌莎莎发来→author="苌莎莎",Doro发来→author="WB",**绝不用机器人自己的名字"小Maggie"**(2026-06-16教训:误用"小Maggie"被纠正)。
|
||||
- vision工具报`No LLM provider configured`时,用"模拟接受所有修订+PDF文字层零乱码检测+关键短语in核查"程序化验证最终成稿,不靠肉眼看PDF。
|
||||
- ⚠️ **需要原生批注(Word Comments / 批注气泡)+ 修订痕迹联合写入**时(如审核合同/文书,既插批注又直接修订),见 `references/docx-comments-and-tracked-changes.md`。批注必须同时改 4 个 OOXML 部件(document.xml + 新建 comments.xml + rels + Content_Types),漏接线会导致批注不显示或文件损坏。已知陷阱:`set('xmlns:w', ...)` 抛 ValueError,必须用 `etree.Element(..., nsmap={'w':W})`。author 跟随指示人(莎莎=苌莎莎,Doro=WB),不写死。
|
||||
3. 回发时附审阅结论摘要(改了几处、分类列出)
|
||||
4. 如果是邮件往来(如莎莎),回复原邮件并抄送Maggie
|
||||
|
||||
### 审核流程
|
||||
|
||||
**第一步:提取全部文本**
|
||||
- 用python-docx读取所有段落和表格(证据目录通常有表格)
|
||||
- 证据PDF用pymupdf分析页数、书签、是否为扫描件
|
||||
|
||||
**第二步:数字核算(最高优先级)**
|
||||
- 金额加总验证(各项合计是否与声称总额一致)
|
||||
- 税额计算验证(税率×基数-速算扣除数,逐项复算)
|
||||
- 实际入账 + 代扣税款 = 判决总额(闭环验证)
|
||||
- ⚠️ 用Python精确计算,不凭肉眼看——浮点尾差容易漏
|
||||
|
||||
**第三步:案号一致性**
|
||||
- 提取全文出现的所有案号
|
||||
- 验证同一案号在不同位置的写法完全一致(括号全/半角、空格)
|
||||
- 多份文件间交叉核对案号
|
||||
|
||||
**第四步:交叉一致性检查(多文件联动)**
|
||||
- 申请书附件清单 vs 证据目录条目:数量是否一致、名称是否对应
|
||||
- 证据目录页码 vs 证据PDF实际页数:总页数是否吻合
|
||||
- 申请书正文提到的证据 vs 证据目录:是否有提到但未列入的证据
|
||||
- 证据目录中各条的"证明对象和内容"是否各有侧重、不重复
|
||||
|
||||
**第五步:法律条文引用核查**
|
||||
- 核实每条法条是否现行有效(是否已修订/废止)
|
||||
- 条文序号是否为最新版本(如民诉法2023年修正后条文序号整体后移)
|
||||
- 法规全称、文号是否准确
|
||||
- 引用的具体条款号(第X条第X款)是否精确
|
||||
- ⚠️ **逐条上官方/权威来源核验原文**,不凭记忆下结论。本会话实测:答辩状引用民法典465条2款、公司法23条3款、公司法4条1款,逐条比对国家法律法规数据库/最高法公报原文后才出审核意见。Maggie/莎莎对法律依据严谨性要求高,"准确"必须落到原文级别
|
||||
- ⚠️ **但书/分款省略是否影响立场**:引用法条时若省略了但书(如465条2款"但是法律另有规定的除外")或分号后的另半句(如公司法4条1款股份公司部分),要判断省略是否为合理的策略取舍(如答辩方省略465条但书以避免原告援引"法律另有规定"突破合同相对性,是合理的;截取与本案主体相关的部分也合理)。合理则保留并提示,不合理则建议补全——不要机械要求"必须全文引用"
|
||||
|
||||
**第六步:文字校对**
|
||||
- 错别字(尤其同音字:决绝→拒绝、以至→以致)
|
||||
- 公司名称全文一致性
|
||||
- 甲方/乙方、申请人/被申请人称谓统一性
|
||||
- 法律术语准确性("做出"→"作出")
|
||||
- **全/半角标点一致性**:案号括号(2020)、序号括号1)2)3)、普通括号(不计税项目)必须全文统一为全角。逐处扫描,常见遗漏:序号列表中个别项用了半角")"
|
||||
- **判决原文用语一致性**:申请书中引用判决确定的项目名称(如"未休法定年休假工资差额")必须与判决原文完全一致,不得省略或改写(常见遗漏:"法定"二字被省略)
|
||||
- **同一法规/文件名称全文一致性**:同一文件在全文中每次引用必须用完全相同的名称(如"修改后"vs"修订后"属于不同用词,必须统一为文件原标题)
|
||||
- **段落对齐方式一致性**:同级标题的对齐方式(如JUSTIFY/CENTER)必须一致。最后一节容易遗漏
|
||||
|
||||
**第七步:证据目录专项检查**
|
||||
- 序号列是否已填写(法院立案材料一般需要编号)
|
||||
- 每条证据的"证明对象和内容"是否**各有侧重**——不能多条copy同样的大段文字
|
||||
- 证据的证明目的应与申请书的论证链条对应:每个核心论点都有证据支撑、每份证据都服务于至少一个论点
|
||||
- 页码与证据PDF的实际页数对应
|
||||
|
||||
### 证据目录"证明对象"区分原则
|
||||
|
||||
同一组事实的多份证据,证明目的必须各有侧重:
|
||||
- **行为证据**(如银行汇款记录)→ 侧重"做了什么、什么时候做的、做了多少"
|
||||
- **计算依据**(如个税计算明细)→ 侧重"依据什么法律、怎么算的、每个数字的来源"
|
||||
- **申报记录**(如税务系统记录)→ 侧重"已向主管机关如实申报"
|
||||
- **缴纳凭证**(如完税凭证)→ 侧重"税款已实际缴入国库"
|
||||
- **权威确认**(如税务局回复)→ 侧重"主管机关确认行为合法性"
|
||||
- **先例支持**(如法院裁定书)→ 侧重"同类案件法院已持此观点"
|
||||
|
||||
### 审核报告输出格式
|
||||
|
||||
分三部分:
|
||||
1. **✅ 通过项**——列出已验证无误的检查项(给信心)
|
||||
2. **❌/⚠️ 需修改/建议完善**——逐条说明问题+具体修改建议
|
||||
3. **💡 提醒确认**——审核方无法确定对错的事项(如案号以原件为准)
|
||||
|
||||
### 实测经验(2026-06-11 雷格斯执行异议案)
|
||||
- 莎莎制作的执行异议三件套(申请书+证据目录+证据PDF),经3轮审核修改
|
||||
- 第1轮发现:错别字"决绝"→"拒绝"、申请书附件清单与证据目录不对应、证据目录两条证明内容完全相同
|
||||
- 第2轮确认:错别字已改、证明内容已区分、附件清单已删除;发现序号仍为空、证据3和4证明内容仍相同、缺少民事裁定书
|
||||
- 第3轮:内容与第2轮相同,提示需要继续修改
|
||||
- 教训:每轮先diff对比新旧版本,快速定位改了什么、没改什么
|
||||
|
||||
### 答辩状起草(二审被上诉人立场)——用同案生效判决作"免证事实"打掉上诉理由(2026-06-25 郭同学案实测)
|
||||
|
||||
> 上面是**审核**他人答辩状;这里是从零**起草**答辩状。触发:Doro 给一审胜诉的当事人(二审被上诉人)写答辩状,对方已递上诉状,要求"参考起诉状、判决书针对上诉状写答辩意见"。
|
||||
|
||||
**核心打法——逐条驳上诉理由,结构对仗**:
|
||||
1. 先把上诉状的上诉理由**逐条拆出来**(通常 2-4 条),答辩意见**一一对应**反驳,编号呼应(上诉理由一→答辩理由一)。不要另起炉灶讲一套自己的逻辑,要贴着对方的理由打。
|
||||
2. 每条答辩用 skill 的三段式:**法律规定(法条原文)→ 涉案事实(标来源)→ 结论(克制)**。
|
||||
3. 结论统一收口"上诉请求缺乏事实和法律依据,一审判决认定事实清楚、适用法律正确,恳请二审法院驳回上诉、维持原判"。
|
||||
|
||||
**🔑 杀手锏——同案/关联案生效判决 = 免证事实(民诉法解释 93 条 1 款 5 项)**:
|
||||
当上诉理由依赖的某个事实,**已在另一件已生效的关联诉讼中被法院审查并认定**时,这是最强反驳——对方在本案重复主张该事实,与生效裁判相悖,依法当事人无须举证、法院亦应采信。
|
||||
- **法律支点**(已核最高法民诉法解释原文):《最高人民法院关于适用〈中华人民共和国民事诉讼法〉的解释》**第九十三条第一款第五项**——"下列事实,当事人无须举证证明:……(五)已为人民法院发生法律效力的裁判所确认的事实"。
|
||||
- **郭同学案实证**:学生以"校方未尽教育管理及安全保障义务、受同学伤害"为由上诉要求扣减学费;而**同一事实**已被(2025)沪02民终12859号**健康权纠纷生效终审判决**审查,认定"校方的处理方式并无不当"、驳回学生全部诉请。答辩状第一项即援引 93 条 1 款 5 项,把健康权判决的认定钉成本案免证事实,直接打掉上诉理由①。
|
||||
- **用法要点**:① 必须**引生效判决的原文认定**(精确到判决书原话,如"校方的处理方式并无不当"),不要自己概括;② 案号、法院、判决结论("驳回上诉,维持原判")写准;③ 论证落点是"与生效判决相悖→缺乏事实依据",不是"我方更有理"。
|
||||
|
||||
**有利/不利认定的取舍(须提请用户定夺)**:关联生效判决里往往**既有对我方有利、也有对我方不利**的表述(郭案健康权判决既说"校方处理并无不当"=有利,又说"张沛霖确实实施了不当行为,应当批评"=对学生方一定程度有利)。起草时**只援引有利部分**是常规策略,但**必须在交付时主动向用户点明这个取舍**,让律师定夺论证分寸,不要默默裁掉不利部分当没看见。
|
||||
|
||||
**金额口径坑**:一审常对起诉金额做调整(撤回某项、按实际使用重算)。答辩状里引的应付金额要用**一审判决主文的最终金额**(郭案 77,209.92 元,是撤回预收款 740、餐费按已用 2210 重算后的数),不是起诉状的原诉金额(78,859.92)。交付前 pdftotext 逐字核案号/金额。
|
||||
|
||||
**格式**:"参照 X 案的申请书格式"时,用 X 的 docx 作母版生成(继承 styles.xml/字体/页面设置),但**答辩状用答辩状的正确结构**(标题→答辩人/被答辩人→答辩请求→事实与理由→此致法院→落款),不要套成申请书的"请求事项/原审裁判情况"结构。⚠️ **母版法必踩页眉残留坑**(万禹母版页眉带"再审申请书/上海万禹实业"会原样继承),交付前 OnlyOffice 渲染逐页看页眉——详见 `references/new-doc-from-sibling-template.md`(2026-06-25 郭案再次踩中,已验证该 reference 的清空页眉法有效)。
|
||||
|
||||
### 答辩状专项审核要点(2026-06-16 上海喆航诉艾达/AMOS案实测)
|
||||
|
||||
审核答辩状(被告方文书)时,除通用六步外重点查:
|
||||
|
||||
1. **抗辩层次的逻辑独立与周延**:多层抗辩应各自独立、互不依赖(如本案三层:合同相对性→主体独立无财产混同→出资义务已履行)。检查层与层之间有无逻辑漏洞或循环依赖
|
||||
2. **法条引用的但书取舍**(见第五步补充):答辩方常省略对己不利的但书,判断是否合理策略
|
||||
3. **拟提交证据 vs 实际证据目录一致性**:答辩状里写"拟提交X、Y、Z"的,必须与最终证据目录一致;客户无法提供的证据要回头删除对应表述(否则法庭上举证不能反噬己方)
|
||||
4. **事实性数字需当事人核实**:如"提交2015-2025连续年度审计报告"——起始年是否与主体成立年吻合、末年报告是否已实际出具,属事实问题,标注"待当事人核实"而非代为断言
|
||||
5. **外国主体英文名格式**:如"AMOS INTERNATIONAL (S) PTE. LTD."——`PTE.` 与 `LTD.` 间应有空格,且全文须与营业执照/注册登记英文全称严格一致
|
||||
6. **版式核验**:一级论点的中文自动编号是否渲染为"一、二、三、"(用 `references/docx-format-verification.md` 的 numbering.xml 解析法确认,不靠肉眼);西文字体回退提示
|
||||
7. **答辩 vs 管辖异议的先后**:涉外/跨域被告(如新加坡公司被告二)若拟提管辖异议,须注意先提交实体答辩可能构成应诉管辖(民诉法相关规定)而丧失管辖异议权——审核答辩状时若发现被告身份特殊,主动提示是否已评估管辖异议问题,不要默认答辩就是唯一路径
|
||||
|
||||
### 管辖权异议申请书起草与审核(涉外/跨域被告)
|
||||
- `references/jurisdiction-objection-drafting.md` — 2026-06-16 上海喆航 VS AMOS 实测确立。核心 doctrine(ShaSha 纠正):①管辖审查=法院依职权审查,不写"原告应举证"②"可供扣押财产所在地"≠"诉讼标的物所在地",二者并列独立,把金钱给付之诉说成"不适用可供扣押财产"是会被秒驳的法理硬伤③股权作为可供扣押财产其所在地随目标公司登记地认定(执行实务,不写进书面,仅作策略判断)。战略:当六连接点中"可供扣押财产"是己方最弱点时,**删掉连接点列举**、把"不能合并管辖"提为主攻,别逐项驳(自曝败点);但删除≠风险消失,须如实向当事人提示法院仍可依职权发现。三层结构骨架:合同相对性→不能合并管辖→不方便法院。
|
||||
|
||||
⚠️ **被本案"管辖异议"问题反向暴露的检索教训**:用户问"我们之前讨论过管辖异议吗"时,必须诚实检索 session_search 后回答。本案系列讨论过525条、465条、4条、答辩状/质证意见定稿,但**确无**管辖异议记录;session_search 返回的"协议管辖"命中实为另一合同审查任务(青浦社区卫生中心仲裁改诉讼)的噪音。结论:跨 session 记忆问题,先精确检索、过滤噪音、再如实告知"查到了X没查到Y",绝不凭印象编造曾讨论过
|
||||
|
||||
### docx 版式核验工具
|
||||
- `references/docx-format-verification.md` — 不依赖 vision 工具,用 zipfile+lxml 解析 OOXML:①三级映射确认自动编号实际渲染格式(numId→abstractNumId→numFmt,如 chineseCountingThousand=一二三)②字号/字体/对齐一致性巡检 ③LibreOffice+pdftoppm 渲染兜底。vision 工具报 `No LLM provider configured` 时改用此法
|
||||
|
||||
## 七、律师事务所信息
|
||||
- 名称:上海市华诚律师事务所
|
||||
- 地址:上海市徐汇区长乐路989号世纪商贸广场26-27楼
|
||||
- 电话:021-52921111
|
||||
- 传真:021-52921001
|
||||
- 邮编:200031
|
||||
- 开户行:中国工商银行南京西路支行
|
||||
- 银行账号:1001 2074 1929 4429 271
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
# "对错误的处理或者决定予以撤销或者变更"的法律解释
|
||||
|
||||
## 来源法条
|
||||
|
||||
《公安机关内部执法监督工作规定》(公安部令第40号,2020年修订)
|
||||
|
||||
**第十九条** 对公安机关及其人民警察不合法、不适当的执法活动,分别作出如下处理:
|
||||
(一)对错误的处理或者决定予以撤销或者变更;
|
||||
(二)对拒不履行法定职责的,责令其在规定的时限内依法履行;
|
||||
(三)对违反法律、法规和有关规定收费或者罚没财物的,责令退回并依照有关规定处理;
|
||||
(四)公安机关及其人民警察违法行使职权已经给公民、法人和其他组织造成损害,需要给予国家赔偿的,应当依照《中华人民共和国国家赔偿法》的规定予以国家赔偿;
|
||||
(五)公安机关人民警察在执法活动中因故意或者过失,造成执法过错的,按照《公安机关人民警察执法过错责任追究规定》追究执法过错责任。
|
||||
|
||||
**第十三条** 在执法监督过程中,发现本级或者下级公安机关已经办结的案件或者执法活动**确有错误、不适当的**,主管部门报经主管领导批准后,直接作出纠正的决定,或者责成有关部门或者下级公安机关在规定的时限内依法予以纠正。
|
||||
|
||||
**第九条**(审查标准)就案件的**事实是否清楚,证据是否确凿、充分,定性是否准确,处理意见是否适当,适用法律是否正确,程序是否合法**,法律文书是否规范、完备等内容进行审核。
|
||||
|
||||
## "错误"的四种类型
|
||||
|
||||
配套的《公安机关人民警察执法过错责任追究规定》(2016年修订)第2条定义:
|
||||
|
||||
> "本规定所称执法过错是指公安机关人民警察在执法办案中,故意或者过失造成的**认定事实错误、适用法律错误、违反法定程序、作出违法处理决定**等执法错误。"
|
||||
|
||||
| 错误类型 | 具体表现 | 在万禹案中的对应 |
|
||||
|---------|---------|----------------|
|
||||
| 认定事实错误 | 处罚对象有误、关键事实查明有误 | 万禹公司非赌博组织者/参与者 |
|
||||
| 适用法律错误 | 援引法律条款不当、法律适用前提不成立 | "从事"赌博的主观要件(间接故意)无法证成 |
|
||||
| 违反法定程序 | 未依法告知、听证、送达等 | (本案未涉及) |
|
||||
| 作出违法处理决定 | 超越处罚幅度、无权作出该类处罚 | (本案未涉及) |
|
||||
|
||||
## 权威判例:焦志刚案
|
||||
|
||||
**最高人民法院公报2006年第10期**
|
||||
焦志刚诉天津市公安局和平分局治安管理处罚决定行政纠纷案
|
||||
天津市第一中级人民法院二审
|
||||
|
||||
### 裁判要旨
|
||||
|
||||
1. **"错误"的门槛较高**——必须是实质性的违法或不当(事实不清、证据不足、法律适用错误、程序违法等),而非主观上认为处罚轻重不当:
|
||||
> "056号处罚决定书依照法定程序作出,事实清楚、证据确凿,处罚在法律规定的幅度内,是合法且已经发生法律效力的处罚决定,**不在《公安机关内部执法监督工作规定》所指的'错误的处理或者决定'之列**,不能仅因交警部门认为处罚过轻即随意撤销。"
|
||||
|
||||
2. **该规定是内部规章**——只在公安机关内部发挥作用,不能成为对外制作行政处罚决定的法律依据
|
||||
|
||||
3. **反向推论价值**——引用第19条第1项撤销处罚,按焦志刚案确立的高门槛标准,意味着公安机关自行认定原处罚确有实质性错误
|
||||
|
||||
## 论证路径模板(供再审申请书使用)
|
||||
|
||||
> 上海市公安局闵行分局引用《公安机关内部执法监督工作规定》第十九条第一项撤销对万禹公司的行政处罚。根据焦志刚诉和平公安分局案(最高人民法院公报2006年第10期)所确立的规则,该条款仅适用于"确有错误"的处罚,合法且已生效的处罚"不在该条所指的'错误的处理或者决定'之列"。由此可见,公安机关引用该条撤销处罚,意味着其经内部执法监督审查后认定原处罚**确属实质性错误**——处罚对象有误、万禹公司未实施违法行为。
|
||||
>
|
||||
> 原判决一方面认定行政处罚已被撤销,另一方面又以被撤销的行政处罚所认定的事实作为万禹公司"根本违约"的理由,逻辑上存在根本矛盾。
|
||||
|
||||
## 进一步强化论证(配合谈话笔录)
|
||||
|
||||
若行政诉讼案件中存在调解谈话笔录,公安机关的自认(如"原告日常经营合法合规")可直接引用:
|
||||
|
||||
> 更为重要的是,在(2024)沪0115行初501号行政诉讼案件的调解过程中,作出原行政处罚的上海市公安局闵行分局代理人明确表示:"原告日常的经营合法合规。"同时表示撤销需经过"办案单位发起→法制审核→上报分局局领导审批"的正式程序——这是《公安机关内部执法监督工作规定》规定的内部纠错程序,而非简单的行政诉讼和解让步。
|
||||
|
||||
## 相关条文效力状态
|
||||
|
||||
- 《公安机关内部执法监督工作规定》:公安部令第40号,1999年发布,2020年修订版现行有效
|
||||
- 《公安机关人民警察执法过错责任追究规定》:2016年修订版现行有效(替代1999年公安部令第41号)
|
||||
- 焦志刚案:最高法院公报2006年第10期,判决时间2005年,适用《治安管理处罚条例》但法律解释原则不受影响
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
# 民事诉讼法条文号版本对照(审判监督程序)
|
||||
|
||||
## 为什么需要这个对照表
|
||||
|
||||
民诉法历经5次修正(2007/2012/2017/2021/2023),每次修正条文总数变化导致后续条文编号后移。审判监督程序在法律末段,是编号漂移最严重的区域。**凭记忆引用条文号极其危险**——搜索引擎结果中的文章可能引用任何一个旧版本的编号。
|
||||
|
||||
## 审判监督程序关键条文对照
|
||||
|
||||
| 条文内容 | 2021版(第四次修正) | 2023版(第五次修正,现行) |
|
||||
|---------|------|------|
|
||||
| 院长发现错误→审委会 | 第198条 | 第209条 |
|
||||
| 当事人申请再审(管辖) | 第199条 | 第210条 |
|
||||
| **再审事由13项** | **第200条** | **第211条** |
|
||||
| 调解书再审 | 第201条 | 第212条 |
|
||||
| 申请期限(6个月) | 第205条 | 第216条 |
|
||||
| 再审申请书材料 | 第204条 | 第214条 |
|
||||
| 审查期限(3个月) | 第206条 | 第215条 |
|
||||
| 中止执行 | 第207条 | 第217条 |
|
||||
| 再审审理程序 | 第208条 | 第218条 |
|
||||
| 检察院抗诉 | 第209条 | 第219条 |
|
||||
| 检察建议/抗诉申请 | 第210条 | 第220条 |
|
||||
|
||||
## 2023版变化原因
|
||||
|
||||
2023年9月1日第五次修正主要修改涉外编(第四编),新增16条涉外条文。非涉外编条文内容未改,但**编号整体后移约10条**。
|
||||
|
||||
## 交叉验证方法
|
||||
|
||||
当不确定条文号时,用**交叉引用法**验证:
|
||||
- 第219条(检察抗诉)引用"本法第二百一十一条规定情形"→ 确认第211条=再审事由
|
||||
- 第215条规定"三个月内审查"→ 确认第215条=审查期限(不是第211条)
|
||||
|
||||
## 再审事由13项(2023版第211条)
|
||||
|
||||
第(一)项:有新的证据,足以推翻原判决、裁定的
|
||||
第(二)项:原判决、裁定认定的基本事实缺乏证据证明的
|
||||
第(三)项:原判决、裁定认定事实的主要证据是伪造的
|
||||
第(四)项:原判决、裁定认定事实的主要证据未经质证的
|
||||
第(五)项:对审理案件需要的主要证据,当事人因客观原因不能自行收集,书面申请人民法院调查收集,人民法院未调查收集的
|
||||
第(六)项:原判决、裁定适用法律确有错误的
|
||||
第(七)项:审判组织的组成不合法或者依法应当回避的审判人员没有回避的
|
||||
第(八)项:无诉讼行为能力人未经法定代理人代为诉讼或者应当参加诉讼的当事人,因不能归责于本人或者其诉讼代理人的事由,未参加诉讼的
|
||||
第(九)项:违反法律规定,剥夺当事人辩论权利的
|
||||
第(十)项:未经传票传唤,缺席判决的
|
||||
第(十一)项:原判决、裁定遗漏或者超出诉讼请求的
|
||||
第(十二)项:据以作出原判决、裁定的法律文书被撤销或者变更的
|
||||
第(十三)项:审判人员审理该案件时有贪污受贿,徇私舞弊,枉法裁判行为的
|
||||
|
||||
## 常见再审申请书引用格式
|
||||
|
||||
> 根据《中华人民共和国民事诉讼法》第二百一十条、第二百一十一条第(二)项、第(六)项之规定,向贵院提出再审申请。
|
||||
|
||||
其中:
|
||||
- 第210条 = 当事人申请再审的管辖和程序规定
|
||||
- 第211条第(二)项 = 基本事实缺乏证据证明
|
||||
- 第211条第(六)项 = 适用法律确有错误
|
||||
|
||||
## ⚠️ 2026-06-12教训
|
||||
|
||||
在审阅万禹案再审申请书时,我看到申请书引用"第二百一十一条第(二)、第(六)项",误认为第211条是审查期限条款(2021版编号思维),挑战了Doro的正确引用。实际2023版第211条就是再审事由条款。
|
||||
|
||||
**根因**:搜索结果中天同律师事务所的文章列出"第206条=申请再审、第207条=再审事由"——但那是2021版编号,我未意识到该文章写于2023年修正前。
|
||||
|
||||
**预防**:永远不要仅凭搜索结果中的条文号下结论。必须(1)确认文章引用的是哪个版本(2)用交叉引用法验证(3)如有官方PDF,直接查PDF原文。
|
||||
+133
@@ -0,0 +1,133 @@
|
||||
# 刑事/行政材料 → 民事追偿诉讼方案
|
||||
|
||||
> 来源:万禹案(2026-07-03,Maggie指导),场所内犯罪导致经营者被牵连停业
|
||||
|
||||
## 适用场景
|
||||
|
||||
客户因他人犯罪/违法行为遭受经济损失,需从刑事笔录、庭审材料中提取信息,构建民事追偿方案。典型案型:
|
||||
- 场所内发生犯罪 → 场所经营者被行政处罚(停业/吊照)→ 向犯罪人追偿
|
||||
- 员工犯罪导致公司被牵连 → 向犯罪人(含员工本人)追偿
|
||||
- 第三方在租赁物内违法 → 出租人被追责 → 向承租人/实际违法人追偿
|
||||
|
||||
## 工作流
|
||||
|
||||
### Step 1:材料获取与OCR
|
||||
|
||||
**扫描件公安笔录处理**:
|
||||
1. docx内嵌图片→zipfile提取word/media/所有jpeg
|
||||
2. tesseract逐页OCR(`tesseract imageN.jpeg stdout -l chi_sim`)
|
||||
3. ⚠️ 手写体姓名必须用vision_analyze逐页核实,OCR常出错(万禹案:"詹爱兰"被OCR为"张爱兰"/"凑爱兰"/"座爱兰")
|
||||
|
||||
**语音识别庭审笔录处理**:
|
||||
- 不是简单的OCR清理,需要结合案情还原表达本意
|
||||
- 详见主skill"语音识别庭审笔录整理"一节
|
||||
|
||||
### Step 2:被告身份信息提取
|
||||
|
||||
从公安笔录中提取每个潜在被告的:
|
||||
- 姓名(⚠️ 手写签名+正文两处交叉验证)
|
||||
- 身份证号、出生日期
|
||||
- 户籍地、现住址
|
||||
- 联系方式
|
||||
- 前科情况(对论证"高度可归责性"有价值)
|
||||
|
||||
**姓名验证陷阱**:
|
||||
- 手写体"詹"和"张"极易混淆(言字旁vs弓旁)
|
||||
- OCR对手写中文名准确率低,必须vision看原图
|
||||
- 杨建兰手机存"张姐,打牌"≠该人姓张(可能是谐音随手存的)
|
||||
- 以笔录原件上的身份证号核验为准(前6位=户籍区划)
|
||||
|
||||
### Step 3:被告选择策略
|
||||
|
||||
不是所有犯罪参与人都应列为被告:
|
||||
|
||||
| 考虑因素 | 列入 | 不列入 |
|
||||
|---------|------|-------|
|
||||
| 主犯/组织者 | ✅ 必列 | — |
|
||||
| 共犯(已判决) | ✅ 列入扩大连带基数 | — |
|
||||
| 参赌者(治安处罚) | — | ❌ 因果关系论证难,执行价值低 |
|
||||
| **原告自己的员工** | — | ❌ 列为被告=给对方送"管理过错"弹药 |
|
||||
| 帮助犯/从犯 | 视情况 | 如果其证言对原告有利,留作证人更好 |
|
||||
|
||||
**员工被告取舍决策(关键)**:
|
||||
- 如果员工是被欺骗的(如杨建兰被詹爱兰以"喝茶打牌"骗),其证言价值>被告价值
|
||||
- 员工证言中有利于原告的内容(如"我主动打电话拒绝""老板不知道"),保护这些比追她一点钱更重要
|
||||
- 列员工为被告后,对方必然抗辩"你自己管不好员工还起诉她?你的管理过错更大"
|
||||
|
||||
### Step 4:侵权构成要件论证
|
||||
|
||||
按五板块结构逐一论证,详见 `references/tort-liability-analysis.md`。
|
||||
|
||||
这里补充该reference中未涉及的"被牵连方"专题:
|
||||
|
||||
### Step 5:"被牵连方"定位论证
|
||||
|
||||
**核心逻辑**:行政诉讼争的是"原告该不该被罚";民事追偿争的是"谁让原告陷入了这个境地"。这是两个完全不同的法律关系。
|
||||
|
||||
**论证结构**:
|
||||
1. 原告不是违法活动的参与者/组织者/受益者
|
||||
2. 原告是被犯罪行为侵入和波及的第三方
|
||||
3. 公法上的"场所管理责任"≠民法上的"过错"
|
||||
4. 行政处罚的存在不免除真正致害人的民事赔偿责任
|
||||
5. 类比:有人在商铺内放火→消防灭火造成水损→向放火者索赔全部损失
|
||||
|
||||
### Step 6:行政处罚效力与民事追偿的互动
|
||||
|
||||
**处罚被撤销=最强武器**:
|
||||
- 行政法院认定原告无过错→堵死对方"过失相抵"抗辩
|
||||
- 连行政法院都认为原告无过错,民事法院更没有理由认定原告有过失
|
||||
- 被告承担100%赔偿,没有过失相抵空间
|
||||
|
||||
**处罚维持≠不能追偿**:
|
||||
- 行政法上的"管理责任"是公法义务,不等于民法上对犯罪人的"过错"
|
||||
- 被管理者(场所)≠致害者(犯罪人)
|
||||
- 只是过失相抵风险存在,需要做预期管理(100%/70-80%/50-60%三档)
|
||||
|
||||
**公安错误处罚不切断因果关系**(四层论证):
|
||||
1. 可预见性:场所被处罚是犯罪的可预见制度性后果
|
||||
2. 风险制造:仍在被告制造的风险范围内
|
||||
3. 多因一果:不免除任何一方,原告可两头追(民事+国赔)
|
||||
4. 独立损害兜底:犯罪行为直接造成的损害不需要经过行政处罚
|
||||
|
||||
### Step 7:过失相抵应对
|
||||
|
||||
逐项反驳对方可能的管理过错指控,核心反驳逻辑:
|
||||
- "受骗者≠放任者"——原告方面是被欺骗的,不是知情放任的
|
||||
- 不能以事后结果倒推管理过错(正常工作权限≠授权违法)
|
||||
- 终极武器:行政处罚撤销=法院认定无过错
|
||||
|
||||
### Step 8:受损法益分层
|
||||
|
||||
**第一层(铁板钉钉)**:犯罪行为直接侵害,不依赖行政处罚——
|
||||
- 场所占有权/使用权(236条)
|
||||
- 经营场所安全利益
|
||||
- 法人名誉权/商业信誉(1024条)
|
||||
|
||||
**第二层(主要诉请)**:经行政处罚传导——
|
||||
- 经营自主权
|
||||
- 财产权(积极损失:固定成本)
|
||||
- 财产权(消极损失:可得利润)
|
||||
- 企业存续利益
|
||||
|
||||
分层意义:即便对方攻击第二层因果关系,第一层损害跑不掉。
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **先确认行政诉讼结果再起诉**——这决定策略方向和过失相抵预期
|
||||
2. **刑事判决书是核心证据**——犯罪事实无需再行举证,但判决书通常匿名化或不公开,需通过法院调取
|
||||
3. **损失金额要务实**——起诉按100%主张,但内部做70%底线预期
|
||||
4. **杨建兰供述中的2300元/天 vs 200元/次矛盾**——可用于论证詹爱兰的"高度可归责性"(支付高额场地费=明知是犯罪行为),不必纠结谁说的对
|
||||
5. **讨论记录要保存为md**——方案经过多轮讨论演进,保存完整讨论脉络(含被否定的方案),下次回来能快速接上
|
||||
|
||||
## 文件夹结构建议
|
||||
|
||||
```
|
||||
~/案件名/
|
||||
├── 原始材料.docx ← 邮件附件
|
||||
├── images/ ← 扫描件拆页
|
||||
├── OCR原文.txt ← tesseract原始输出
|
||||
├── 公安笔录原文.md ← 整理后的纯文字
|
||||
├── 庭审笔录整理.md ← 还原后的庭审记录
|
||||
├── 诉讼方案分析.md ← 起诉状+构成要件分析
|
||||
└── 讨论记录.md ← 全部讨论过程和决策理由
|
||||
```
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
# 《情况反映》——法院内部监督渠道(区别于检察监督申请)
|
||||
|
||||
当事人认为审判程序违法,有两条并行的外部/内部纠错路径,文书类型、受文机关、姿态都不同,**不能混用页眉/抬头/称谓**:
|
||||
|
||||
| | 检察监督申请书 | 情况反映 |
|
||||
|---|---|---|
|
||||
| 受文机关 | 同级人民检察院 | 本案审理法院(院领导+审判监督/监察部门) |
|
||||
| 性质 | 外部法律监督(检察院→法院发检察建议) | 法院内部自我纠错 |
|
||||
| 姿态 | "请求贵院依法监督" | "恳请督促承办部门依法办案",**不碰追究法官责任的对抗腔** |
|
||||
| 法律依据 | 民诉法第十四条、《人民检察院民事诉讼监督规则》第三十条等 | 最高法 法发〔2014〕13号(见下) |
|
||||
| 称谓 | 申请人 / 申请监督 / 受理法院 | 反映人 / 反映 / 贵院 |
|
||||
|
||||
## 权威法律依据(已核 court.gov.cn 原文,2026-06-23)
|
||||
**最高人民法院 法发〔2014〕13号《关于人民法院在审判执行活动中主动接受案件当事人监督的若干规定》**(2014-07-15 印发,court.gov.cn 全文可查):
|
||||
|
||||
- **第十二条第(四)项**(核心路由依据):人民法院监察部门对当事人反映的意见,"对反映的**办案程序、法律适用**及事实认定等方面问题,依照相关规定**分别移送案件承办部门、审判监督部门或者审判管理部门处理**。"
|
||||
- 第七条:当事人可将填有意见的廉政监督卡**直接寄交人民法院监察部门**;监察部门统一处置管理。
|
||||
- 第十六条:尚未设立监察部门的法院,由政工部门承担监察部门职责。
|
||||
- 第十七条:案件当事人含民事案件的原告、被告及第三人。
|
||||
|
||||
→ "办案程序违法 + 法律适用偏差"正属第十二条第(四)项射程,对口受理是法院**监察部门**,再移送**审判监督部门/审判管理部门**。这就是《情况反映》"寄给谁"的官方落点。
|
||||
|
||||
## 文书结构(已实测交付,邹家案)
|
||||
标题《关于(××××)×号案审判程序违法情形的情况反映》→ 受文机关顶格"××法院:"→ 一、案件基本情况 → 二、本案审理中存在的程序违法情形(分项)→ 三、反映请求(编号列举督促事项)→ 此致 / ××法院 → 反映人签名捺印 / 日期 → 附:随附材料清单。
|
||||
|
||||
## "寄给谁"的检索方法(落地投递信息)
|
||||
1. 法院**官网**(如 ld.lsfy.gov.cn)页脚/"联系方式"/"部门及职能"栏,取地址、邮编、**信访接待电话**(这是当事人反映程序问题的对口窗口,区别于立案咨询/办公室电话)。
|
||||
2. 全国法院统一诉讼服务/监督热线 **12368**。
|
||||
3. 递交方式三选(由用户定):①诉讼服务中心/信访窗口当面递交要回执(留痕最实);②挂号信寄法院地址、信封注明"院领导/监察部门 收";③省法院网上信访/12368 同步留痕。
|
||||
4. 抬头只写到"××人民法院"、请求里点名"院领导及审判监督、监察部门",**不写死具体庭室名**(各地内设机构名称不一,写死易错);用户知道当地确切受理部门再替换。
|
||||
|
||||
## 节奏提示(与检察申请书并用时)
|
||||
情况反映与检察监督申请书共用同一事实证据。通常打法:**先递法院情况反映(给自纠机会),并行或稍后递检察监督**,姿态更顺;两份别同时递得互相矛盾。是否走此节奏由用户定。
|
||||
|
||||
## 采纳前景判断框架(检察监督申请,邹家案沉淀)
|
||||
判断"检察院会不会采纳"要把**受理**和**实质支持**拆成两道门槛分别说:
|
||||
- **受理**:看程序定位是否选对(如"审判程序中审判人员违法行为监督"不以生效裁判为前提,审理中也能进)、是否引了"不受异议/复议/起诉前置限制"条款堵住不予受理的退路、书证链是否齐。
|
||||
- **实质支持**:逐个违法点分强弱(强制性义务/逻辑硬伤=硬,程序裁量/释明瑕疵=软),别把宝押在软点上。
|
||||
- **裁判倾向(非法律结论,须标明)**:检察机关对**未审结案件**的同步监督整体偏克制、倾向事后监督;即便支持也多以**检察建议**柔性处理,法院采不采有不确定性。但这类申请一半价值在**留痕施压**——程序规范本身即对承办法官形成"依法办案"约束,是即便短期不强力介入也值得递的理由。
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
# docx 批注(Word Comments)+ 修订痕迹 联合写入
|
||||
|
||||
适用:审核他人文书时,**既要插入批注(comment / 批注气泡)又要直接修订(tracked changes)**,author 跟随指示人(莎莎的诉讼文书 author=苌莎莎;Doro 的合同 author=WB;按谁审核定,不要写死)。
|
||||
|
||||
> 与 `references/tracked-changes-text-replacement.md` 的区别:那份只讲 DEL/INS 文字替换;本份补全**原生批注**所需的 4 处 OOXML 接线,这是 python-docx 不直接支持、必须手写 XML 的部分。
|
||||
|
||||
## 一、原生批注需要改动的 4 个地方(缺一不可)
|
||||
|
||||
插入一条批注,不是只在正文加个标记,而是要同时改 4 个部件:
|
||||
|
||||
1. **word/document.xml** — 在被批注文字两端插入 `w:commentRangeStart` / `w:commentRangeEnd`,并在范围后加一个带 `w:commentReference` 的 run
|
||||
2. **word/comments.xml** — 新建该部件,每条批注一个 `w:comment`(含 id/author/date/initials + 段落内容)
|
||||
3. **word/_rels/document.xml.rels** — 加一条 Relationship 指向 comments.xml(Type 结尾 `/comments`)
|
||||
4. **[Content_Types].xml** — 加一条 Override 声明 comments.xml 的 content-type
|
||||
|
||||
漏掉 3 或 4,Word/OnlyOffice 打开时批注不显示或报文件损坏。
|
||||
|
||||
## 二、关键陷阱(本会话实际踩到)
|
||||
|
||||
- **`comments_root.set('xmlns:w', W)` 会抛 `ValueError: Invalid attribute name 'xmlns:w'`**。lxml 不允许手动 set 命名空间属性。正确做法是在创建根元素时用 `nsmap`:
|
||||
```python
|
||||
nsmap = {'w': W, 'r': R}
|
||||
comments_root = etree.Element(f'{{{W}}}comments', nsmap=nsmap)
|
||||
```
|
||||
- **id 唯一性**:批注 id、修订(w:ins/w:del) id 各自独立递增,全文不重复。本会话用 comment 从 101 起、revision 从 200 起两个独立计数器,避免撞号。
|
||||
- **`xml:space="preserve"`**:批注文字和 ins/del 文字的 `w:t`/`w:delText` 都要设 `{http://www.w3.org/XML/1998/namespace}space=preserve`,否则首尾空格被吃掉。
|
||||
- **批注 rPr 用宋体小四**:批注内容 run 显式设 `w:rFonts`(ascii/hAnsi/eastAsia=宋体)+ `w:sz`(如 18=9pt),不靠继承。
|
||||
- **多行批注**:一条批注要分多段时,`w:comment` 下放多个 `w:p`,每段一个 run;用 `\n` split 文本逐段建 p。
|
||||
|
||||
## 三、可复用代码骨架
|
||||
|
||||
```python
|
||||
import zipfile, shutil, copy
|
||||
from lxml import etree
|
||||
|
||||
W = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'
|
||||
R = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'
|
||||
AUTHOR = '苌莎莎' # 跟随指示人,不写死 WB
|
||||
DATE = '2026-06-15T12:00:00Z'
|
||||
|
||||
# 读取四个部件
|
||||
with zipfile.ZipFile(SRC) as z:
|
||||
all_files = {n: z.read(n) for n in z.namelist()}
|
||||
doc = etree.fromstring(all_files['word/document.xml'])
|
||||
rels = etree.fromstring(all_files['word/_rels/document.xml.rels'])
|
||||
ct = etree.fromstring(all_files['[Content_Types].xml'])
|
||||
body = doc.find(f'{{{W}}}body')
|
||||
|
||||
# --- 批注:包裹某段落 ---
|
||||
def add_comment_to_para(para, cid):
|
||||
rs = etree.Element(f'{{{W}}}commentRangeStart'); rs.set(f'{{{W}}}id', cid)
|
||||
para.insert(0, rs)
|
||||
re_ = etree.SubElement(para, f'{{{W}}}commentRangeEnd'); re_.set(f'{{{W}}}id', cid)
|
||||
r = etree.SubElement(para, f'{{{W}}}r')
|
||||
rpr= etree.SubElement(r, f'{{{W}}}rPr')
|
||||
rst= etree.SubElement(rpr, f'{{{W}}}rStyle'); rst.set(f'{{{W}}}val','CommentReference')
|
||||
cr = etree.SubElement(r, f'{{{W}}}commentReference'); cr.set(f'{{{W}}}id', cid)
|
||||
|
||||
def make_comment(cid, text):
|
||||
c = etree.Element(f'{{{W}}}comment')
|
||||
c.set(f'{{{W}}}id', cid); c.set(f'{{{W}}}author', AUTHOR)
|
||||
c.set(f'{{{W}}}date', DATE); c.set(f'{{{W}}}initials','CSS')
|
||||
for line in text.split('\n'):
|
||||
p = etree.SubElement(c, f'{{{W}}}p')
|
||||
if line.strip():
|
||||
r = etree.SubElement(p, f'{{{W}}}r')
|
||||
rpr = etree.SubElement(r, f'{{{W}}}rPr')
|
||||
rf = etree.SubElement(rpr, f'{{{W}}}rFonts')
|
||||
for a in ('ascii','hAnsi','eastAsia'): rf.set(f'{{{W}}}{a}','宋体')
|
||||
etree.SubElement(rpr, f'{{{W}}}sz').set(f'{{{W}}}val','18')
|
||||
t = etree.SubElement(r, f'{{{W}}}t')
|
||||
t.set('{http://www.w3.org/XML/1998/namespace}space','preserve'); t.text = line
|
||||
return c
|
||||
|
||||
# --- 修订:在一个 run 内 DEL 旧 + INS 新(拆 before/old/after)---
|
||||
# 详见 references/tracked-changes-text-replacement.md,本份重点在批注接线
|
||||
|
||||
# --- 组装 comments.xml ---
|
||||
comments_root = etree.Element(f'{{{W}}}comments', nsmap={'w':W,'r':R})
|
||||
for c in comment_elems: comments_root.append(c)
|
||||
comments_xml = etree.tostring(comments_root, xml_declaration=True, encoding='UTF-8', standalone=True)
|
||||
|
||||
# --- rels 加关系(先查重,避免重复)---
|
||||
if not any(r.get('Target')=='comments.xml' for r in rels):
|
||||
maxid = max((int(r.get('Id')[3:]) for r in rels if r.get('Id','').startswith('rId')), default=0)
|
||||
nr = etree.SubElement(rels, 'Relationship')
|
||||
nr.set('Id', f'rId{maxid+1}')
|
||||
nr.set('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments')
|
||||
nr.set('Target', 'comments.xml')
|
||||
|
||||
# --- content-types 加 Override ---
|
||||
ctns = ct.nsmap.get(None)
|
||||
if not any(o.get('PartName')=='/word/comments.xml' for o in ct):
|
||||
ov = etree.SubElement(ct, f'{{{ctns}}}Override')
|
||||
ov.set('PartName','/word/comments.xml')
|
||||
ov.set('ContentType','application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml')
|
||||
|
||||
# --- 写回 zip(document/rels/ct 覆盖,comments.xml 新增)---
|
||||
with zipfile.ZipFile(DST,'w',zipfile.ZIP_DEFLATED) as zout:
|
||||
for name, data in all_files.items():
|
||||
if name=='word/document.xml': zout.writestr(name, etree.tostring(doc, xml_declaration=True, encoding='UTF-8', standalone=True))
|
||||
elif name=='word/_rels/document.xml.rels': zout.writestr(name, etree.tostring(rels, xml_declaration=True, encoding='UTF-8', standalone=True))
|
||||
elif name=='[Content_Types].xml': zout.writestr(name, etree.tostring(ct, xml_declaration=True, encoding='UTF-8', standalone=True))
|
||||
else: zout.writestr(name, data)
|
||||
zout.writestr('word/comments.xml', comments_xml)
|
||||
```
|
||||
|
||||
## 四、交付前自检(程序化,vision 不可用时的硬验证)
|
||||
|
||||
vision/截图分析工具可能不可用,改用程序化核验,逐项确认:
|
||||
```python
|
||||
with zipfile.ZipFile(DST) as z:
|
||||
cm = etree.fromstring(z.read('word/comments.xml'))
|
||||
print('批注数', len(cm.findall(f'{{{W}}}comment'))) # 与预期条数一致
|
||||
dx = etree.fromstring(z.read('word/document.xml'))
|
||||
print('DEL', len(dx.findall(f'.//{{{W}}}del')), 'INS', len(dx.findall(f'.//{{{W}}}ins')))
|
||||
print('rels ok', b'comments.xml' in z.read('word/_rels/document.xml.rels'))
|
||||
print('ct ok', b'comments' in z.read('[Content_Types].xml'))
|
||||
```
|
||||
再用 LibreOffice 转 PDF → pdftoppm 转 PNG → `browser_navigate('file:///...png')` 目检版面(批注气泡、修订删除线/下划线是否到位)。
|
||||
@@ -0,0 +1,147 @@
|
||||
# docx 版式核验(不依赖 vision 工具)
|
||||
|
||||
审核他人文书时常需确认「自动编号实际渲染成什么」「字号/字体是否统一」。当 vision 工具不可用时,直接解析 OOXML 比肉眼看渲染图更精确、可复现。
|
||||
|
||||
## 一、确认自动编号实际渲染格式(核心技巧)
|
||||
|
||||
`w:numPr` 只记录 `numId`,真正决定显示成「一、二、」还是「1. 2.」的是 `numbering.xml` 里的 `numFmt`。必须三级映射:`段落 numId → num.xml 的 abstractNumId → abstractNum 的 numFmt/lvlText`。
|
||||
|
||||
```python
|
||||
import zipfile
|
||||
from lxml import etree
|
||||
W='{http://schemas.openxmlformats.org/wordprocessingml/2006/main}'
|
||||
ns={'w':W[1:-1]}
|
||||
z = zipfile.ZipFile('file.docx')
|
||||
|
||||
# 1) numId -> abstractNumId
|
||||
num = etree.fromstring(z.read('word/numbering.xml'))
|
||||
nummap = {n.get(W+'numId'): n.find('w:abstractNumId', ns).get(W+'val')
|
||||
for n in num.findall('w:num', ns)}
|
||||
|
||||
# 2) abstractNumId -> (numFmt, lvlText) 仅取 ilvl=0
|
||||
abfmt = {}
|
||||
for an in num.findall('w:abstractNum', ns):
|
||||
lvl0 = an.find('w:lvl', ns)
|
||||
if lvl0 is not None:
|
||||
abfmt[an.get(W+'abstractNumId')] = (
|
||||
lvl0.find('w:numFmt', ns).get(W+'val'),
|
||||
lvl0.find('w:lvlText', ns).get(W+'val'))
|
||||
|
||||
# 3) 遍历正文带编号的段落
|
||||
doc = etree.fromstring(z.read('word/document.xml'))
|
||||
for p in doc.findall('.//w:p', ns):
|
||||
texts = ''.join(t.text or '' for t in p.findall('.//w:t', ns))
|
||||
numPr = p.find('.//w:numPr', ns)
|
||||
if numPr is not None and numPr.find('w:numId', ns) is not None:
|
||||
nid = numPr.find('w:numId', ns).get(W+'val')
|
||||
ab = nummap.get(nid, '?')
|
||||
fmt = abfmt.get(ab, ('?', '?'))
|
||||
print(f'numId={nid} numFmt={fmt[0]} lvlText=[{fmt[1]}] | {texts[:28]}')
|
||||
```
|
||||
|
||||
### numFmt 取值对照(常见)
|
||||
| numFmt | lvlText | 渲染 | 适用 |
|
||||
|--------|---------|------|------|
|
||||
| `chineseCountingThousand` | `%1、` | 一、二、三、 | 法律文书一级论点(答辩状/起诉状惯例) |
|
||||
| `japaneseCounting` | `%1、` | 一、二、三、 | 同上(部分模板用此) |
|
||||
| `decimal` | `%1.` | 1. 2. 3. | 英文/普通编号 |
|
||||
| `lowerLetter` | `%2)` | a) b) c) | 子层级 |
|
||||
| `bullet` | (符号) | • | 无序列表 |
|
||||
|
||||
⚠️ 同一个 docx 的 `numbering.xml` 里通常定义了多套 abstractNum(decimal、bullet、中文计数并存),**不能假设第一套就是正文用的那套**——必须从目标段落的 numId 反查。本会话实测:三个加粗论点标题套用的是 `chineseCountingThousand`(渲染为「一、二、三、」),而文件里同时还存在多套 decimal/bullet 定义是干扰项。
|
||||
|
||||
## 二、字号/字体/对齐一致性巡检
|
||||
|
||||
```python
|
||||
from docx import Document
|
||||
from docx.oxml.ns import qn
|
||||
doc = Document('file.docx')
|
||||
for i, p in enumerate(doc.paragraphs):
|
||||
if not p.text.strip():
|
||||
continue
|
||||
align = str(p.alignment)
|
||||
has_num = (p._p.find(qn('w:pPr')) is not None
|
||||
and p._p.find(qn('w:pPr')).find(qn('w:numPr')) is not None)
|
||||
sz = bold = font = None
|
||||
for r in p.runs: # 取首个有字的 run
|
||||
if r.text.strip():
|
||||
sz = r.font.size.pt if r.font.size else None
|
||||
bold = r.font.bold
|
||||
font = r.font.name
|
||||
break
|
||||
print(f'[{i:02d}] align={align[:6]} num={has_num} sz={sz} bold={bold} font={font} | {p.text[:26]}')
|
||||
```
|
||||
|
||||
- `sz=None` 表示该 run 继承 Normal 样式的字号——不是 bug,但若要确认实际磅值需读 styles.xml 的 Normal 定义。
|
||||
- **西文字体回退陷阱**:`font.name` 显示 `Calibri` 而中文正常显示,说明文档正文字体是 Calibri(西文字体),中文靠系统回退渲染。正式法律文书定稿前应统一为仿宋/宋体,符合法院惯例。提醒制作人即可,不必擅改(除非指示人要求)。
|
||||
|
||||
## 三、标题孤行(orphan heading)检测 + 修复(格式洁癖用户必查,2026-06-22 邹家案实测)
|
||||
|
||||
长文书插入新章节后,**二级/三级标题可能被挤到页尾,正文翻到下一页**——标题与其正文分离(orphan heading)。Doro/Maggie 有格式洁癖,这种排版会被退回。vision 工具不可用时,用「逐页首末行文本提取」程序化检测:
|
||||
|
||||
```python
|
||||
import fitz, re
|
||||
d = fitz.open("rendered.pdf") # 必须用 OnlyOffice 口径渲染的 PDF(见 memory: x2t)
|
||||
for i in range(d.page_count):
|
||||
lines = []
|
||||
for b in d[i].get_text("dict")["blocks"]:
|
||||
if b.get("type") != 0: # 跳过图片块
|
||||
continue
|
||||
for l in b["lines"]:
|
||||
txt = "".join(s["text"] for s in l["spans"]).strip()
|
||||
if txt:
|
||||
lines.append(txt)
|
||||
tail = lines[-1] if lines else ""
|
||||
# 末行若是「(X)」或「X、」开头的短标题 → 疑似孤行
|
||||
if re.match(r'^[((]?[一二三四五六七八九十]', tail) and len(tail) < 22:
|
||||
print(f"⚠️ 第{i+1}页末行疑似标题孤行: {tail}")
|
||||
```
|
||||
|
||||
**判读**:末行是「(三)混淆举证期限……」这类编号小标题且很短 = 孤行;末行是正文中途自然断句 = 正常。结构性分页(「此致」「落款」前)也正常。
|
||||
|
||||
**修复**:给该标题段的 `w:pPr` **最前面**插入 `<w:pageBreakBefore/>`,把标题压到下一页与正文同页。不动任何文字,纯版式调整:
|
||||
|
||||
```python
|
||||
pPr = target_para.find(W+"pPr")
|
||||
if pPr.find(W+"pageBreakBefore") is None:
|
||||
pPr.insert(0, etree.Element(W+"pageBreakBefore")) # 必须在 pPr 子元素最前
|
||||
```
|
||||
|
||||
修完**重渲一次复跑上面检测,确认孤行清零且未制造新孤行**。⚠️ 用 OnlyOffice(x2t) 渲染核验,不信 LibreOffice 页数(同 docx 常差一页,本案 LO=7 页 / OO=8 页)。
|
||||
|
||||
## 四、克隆模板段插入新条款 + 自动编号续号(2026-06-22 实测)
|
||||
|
||||
向已有文书插入新条款/请求项时,**不手搓 pPr/rPr,而是 `copy.deepcopy` 一个同类型的既有段落**,只改文字——格式、缩进、字体、加粗全部继承,最稳。配合 Word 自动编号(`numPr/numId`),插入后**编号自动续号**,无需手写「(五)」「三、」:
|
||||
|
||||
```python
|
||||
import copy
|
||||
def clone(template_para, text):
|
||||
np = copy.deepcopy(template_para)
|
||||
runs = np.findall(W+"r"); first = runs[0]
|
||||
for r in runs[1:]: np.remove(r) # 只留首 run
|
||||
for t in first.findall(W+"t"): first.remove(t)
|
||||
t = etree.SubElement(first, W+"t")
|
||||
t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve"); t.text = text
|
||||
return np
|
||||
# 克隆「请求项」模板 [08](挂 numId=10)插到其后 → 自动渲染为「三、」
|
||||
req = clone(p08, "督促……依法予以释明。"); p08.addnext(req)
|
||||
# 克隆「违法子条标题」模板 [23](挂 numId=13)→ 自动渲染为「(五)」
|
||||
```
|
||||
|
||||
**实战要点**:
|
||||
- **空占位段**:v3 里「标题有、正文空」的段落(如 [22][24])就是预留正文位——`addprevious()` 把正文段插在它前面,再 `body.remove()` 删掉空段。
|
||||
- **编号三级映射先摸清**:插入前用「第一节」三级映射确认每套 numId 渲染成什么(请求项 numId=10→「一二三」,子条 numId=13→「(一)(二)」),克隆对应模板才会续对号。
|
||||
- **手敲硬编号要顺手修**:本案「事实与理由」下小标题用 numId=12 自动编到「二、」,但下一节「本申请符合受理条件」是**手敲的「四、」**(跳号笔误),插入后一并改回「三、」。自动编号段和手敲编号段混排时,手敲的那个最易跳号,交付前核一遍。
|
||||
- **改完必查未接受修订残留**:编辑前先 `findall(w:ins)/findall(w:del)` 确认为 0(纯新增不留修订痕迹),编辑后再核一遍字号/字体全量无异常(唯一允许的「异常」是大标题 sz=30/小二,那是标题本就该大)。
|
||||
|
||||
## 五、PDF 渲染兜底(目检版面)
|
||||
|
||||
XML 巡检确认结构后,仍可生成渲染图供人目检:
|
||||
|
||||
```bash
|
||||
libreoffice --headless --convert-to pdf --outdir /tmp "file.docx"
|
||||
pdftoppm -png -r 110 /tmp/file.pdf /tmp/page # 生成 page-1.png, page-2.png ...
|
||||
```
|
||||
|
||||
- LibreOffice 首次转换可能报 `failed to launch javaldx` 警告,不影响 PDF 生成。
|
||||
- vision 工具若返回 `No LLM provider configured for task=vision`,是环境未配置,**不是文档问题**——改用本文上述 XML 解析法核验,并把 PNG 作为 MEDIA 发给指示人自行目检。
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
# 先息后本还款抵充——判决书常用表述
|
||||
|
||||
## 法律依据
|
||||
|
||||
- **民法典第561条**:先费用→利息→本金
|
||||
- **民法典第560条**:多笔债务抵充顺序
|
||||
|
||||
## 判决书典型写法
|
||||
|
||||
### 利息计算表述
|
||||
```
|
||||
以本金XXX元为基数,自XXXX年X月X日起至XXXX年X月X日止,
|
||||
按月利率1%计算,利息为XXX元(XXX元×1%×12÷365×N天)。
|
||||
```
|
||||
|
||||
```
|
||||
以本金XXX元为基数,自XXXX年X月X日起至XXXX年X月X日止,
|
||||
按照全国银行间同业拆借中心公布的一年期贷款市场报价利率计算,
|
||||
逾期违约金为XXX元(XXX元×3.6%÷365×N天)。
|
||||
```
|
||||
|
||||
### 还款抵充表述
|
||||
```
|
||||
被告于XXXX年X月X日偿还XXX元,
|
||||
按照先息后本原则,先冲抵截至该日的利息XXX元,
|
||||
余款XXX元冲抵本金,冲抵后本金余额为XXX元。
|
||||
```
|
||||
|
||||
```
|
||||
本次还款XXX元不足以清偿全部应付利息XXX元,
|
||||
依先息后本原则全额冲抵利息,尚余利息XXX元未获清偿。
|
||||
```
|
||||
|
||||
### 多笔债务分摊表述
|
||||
```
|
||||
截至XXXX年X月X日,各项债务应付利息情况如下:
|
||||
(1)XXX利息XXX元;(2)XXX利息XXX元;...
|
||||
本次还款XXX元依先息后本原则,依次冲抵各项应付利息:
|
||||
冲抵XXX利息XXX元、XXX利息XXX元后,
|
||||
剩余XXX元冲抵XXX利息,该笔尚余利息XXX元未获清偿。
|
||||
```
|
||||
|
||||
## 实务要点
|
||||
|
||||
1. "冲抵"而非"偿还"用于描述利息抵扣
|
||||
2. 每个数字附计算过程(本金×利率÷365×天数=结果)
|
||||
3. LPR利率称呼:借款用"利息",股权/分红等用"逾期违约金"
|
||||
4. 最后一段注明"暂计至"日期 + "此后按XXX继续计算"
|
||||
5. 天数计算:起止日期之差(不含起始日/含截止日,即尾算头不算)
|
||||
@@ -0,0 +1,78 @@
|
||||
# 利息公式重叠检测方法
|
||||
|
||||
## 问题描述
|
||||
|
||||
xlsx本息计算表中,同一列可能有多行利息公式。如果时间范围重叠,SUM汇总行会重复计算。
|
||||
|
||||
## 检测步骤
|
||||
|
||||
1. 逐列提取所有利息公式行的时间范围:
|
||||
```python
|
||||
# 伪代码
|
||||
for col in interest_columns:
|
||||
periods = []
|
||||
for row in data_rows:
|
||||
formula = ws.cell(row, col).value
|
||||
if formula and is_interest_formula(formula):
|
||||
start_date, end_date = parse_date_range(formula)
|
||||
periods.append((row, start_date, end_date))
|
||||
# 检查重叠
|
||||
for i, (r1, s1, e1) in enumerate(periods):
|
||||
for (r2, s2, e2) in periods[i+1:]:
|
||||
if s2 < e1: # 后一个的起始在前一个结束之前
|
||||
print(f"OVERLAP: Row {r1} ({s1}-{e1}) and Row {r2} ({s2}-{e2})")
|
||||
```
|
||||
|
||||
2. 常见重叠模式:
|
||||
- **累计vs累计**:D13=(A13-A9)..., D15=(A15-A9)... → D15包含D13的全部期间
|
||||
- **期间+累计混合**:某行用期间公式(A13-A11),另一行用累计(A15-A9)
|
||||
- **安全模式**:所有行用期间公式且首尾相连(如F列:F11从E3, F13从A11, F15从A13)
|
||||
|
||||
## 修复方法
|
||||
|
||||
### 方案A:删除中间行,保留最后的累计公式
|
||||
- 删除D13(中间累计行),D15覆盖全段
|
||||
- 适用于:中间行无扣减动作依赖该数字
|
||||
- 优点:简洁,公式少
|
||||
- 缺点:中间节点的利息数字消失,docx中不能引用
|
||||
|
||||
### 方案B:全部改为期间公式(推荐)
|
||||
- D13=(A13-A9)*rate*principal → 保留(2023-7-5到2025-1-23)
|
||||
- D15=(A15-**A13**)*rate*principal → 只算后半段(2025-1-23到2025-8-27)
|
||||
- 适用于:所有行都应保留(如docx需要引用中间节点的利息数字)
|
||||
- 优点:每个时间节点都有独立数字,SUM正确
|
||||
|
||||
### 选择依据
|
||||
- 如果docx正文中需要引用中间节点(如"截至2025年1月23日的利息为X元"),用方案B
|
||||
- 如果docx正文跳过中间节点直接算到暂计日,用方案A
|
||||
|
||||
## 2026-06-09 梁永案实例
|
||||
|
||||
### 原始问题
|
||||
```
|
||||
D9 = (A9-C3)*1%*12/365*C4 → 2019-1-13 到 2023-7-5 (1634天) ✓
|
||||
D10 = -2,000,000 → 2023-7-5 还款
|
||||
D13 = 933,698.63 (hardcoded) → 2023-7-5 到 2025-1-23 (568天)
|
||||
D15 = (A15-A9)*1%*12/365*C4 → 2023-7-5 到 2025-8-27 (784天) ← 包含D13!
|
||||
```
|
||||
D16=SUM(D4:D15) → D13和D15重叠568天,导致933,698.63元被重复计算。
|
||||
|
||||
### 修复(Doro采用方案A)
|
||||
删除D13,D15覆盖全段:D16 = D9(-2M) + D15 = 686,027.40 + 1,288,767.12 = 1,974,794.52 ✓
|
||||
|
||||
### 对比:F列(无重叠,已是期间模式)
|
||||
```
|
||||
F11 = (A11-E3)... → 2019-10-15 到 2024-4-7
|
||||
F12 = -1,000,000
|
||||
F13 = (A13-A11)... → 2024-4-7 到 2025-1-23 ← 从A11开始,不从E3
|
||||
F15 = (A15-A13)... → 2025-1-23 到 2025-8-27 ← 从A13开始
|
||||
```
|
||||
三段首尾相连,无重叠 ✓
|
||||
|
||||
## docx联动注意
|
||||
|
||||
xlsx改了利息计算结构后,docx中利息累计的表述必须与xlsx结构一致:
|
||||
- xlsx用方案A(删中间行+全段累计)→ docx直接写"自X日起至Y日止利息Z元"
|
||||
- xlsx用方案B(期间公式)→ docx可分段写每期利息再合计
|
||||
|
||||
⚠️ **表达清晰性**:如果某个数字已经是净额(如686,027.40 = 2,686,027.40 - 2,000,000),不要在同一句中同时出现被减数和减数,否则读者无法验证算术。详见 SKILL.md "表达清晰性要求"。
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
# 管辖权异议申请书 起草与审核(涉外/跨域被告)
|
||||
|
||||
实测来源:2026-06-16 上海喆航 VS 艾达(上海)/ AMOS(新加坡)买卖合同纠纷。原告以"AMOS 系艾达唯一股东"为由,依公司法第23条第3款主张连带责任,将境外股东与中国子公司一并诉至浦东。被告二 AMOS 提管辖异议。ShaSha 多轮纠正后确立以下要点。
|
||||
|
||||
## 一、核心 doctrine(被 ShaSha 纠正确立)
|
||||
|
||||
### 1. 管辖审查是法院依职权审查,不适用"谁主张谁举证"
|
||||
- 法律依据:《民事诉讼法》(2023修正)第一百三十条"人民法院对当事人提出的异议,**应当审查**"。
|
||||
- 连接点是否成立,是**法院依职权认定的客观事实**,不是实体争议里的举证责任分配。
|
||||
- ❌ 不能写"原告应就股权的存在、所在地及关联承担**举证责任**"——法院一句"管辖依职权审查、不适用举证责任分配"即可驳回,反而拉低专业度。
|
||||
- ❌ 异议方(被告)也**不负**证明"境内无财产"的举证责任,只需否认对方主张的连接点。
|
||||
|
||||
### 2. "可供扣押财产所在地"≠"诉讼标的物所在地"——两个并列、独立的连接点
|
||||
- 第276条把二者**并列**列举,文本结构本身就证明:可供扣押财产恰恰是**诉讼标的物以外**的财产。
|
||||
- 制度功能:被告境内无住所,但只要有**任何**可供执行财产,财产所在地法院即可管辖(为将来执行)。**从不要求该财产是诉讼指向的对象**。
|
||||
- ❌ 致命法理错误:写"本案系金钱给付之诉、并非针对持有财产主张权利、故不适用可供扣押财产"——这是把"可供扣押财产"误解成"诉讼标的物",法官一眼看破,**会被秒驳**,留着反而自曝。
|
||||
|
||||
### 3. 股权作为"可供扣押财产",所在地随目标公司登记地认定
|
||||
- 股权属于可供扣押财产;其"所在地"在**执行实务**中通常认定为**目标公司登记地**(股权冻结通过公司登记机关办理)。
|
||||
- ⚠️ 这是**执行/保全实务的通常认定,非法条明文**——**不写进书面**,仅作策略判断依据。
|
||||
- 推论:境外股东持有中国公司 100% 股权,若该公司登记在受诉法院辖区,则"可供扣押财产所在地"**客观成立**,受诉法院据此对境外股东有管辖权。这是硬风险。
|
||||
|
||||
## 二、战略原则
|
||||
|
||||
### 4. 不要逐一列举六连接点再逐个击破——当其中一个是己方最弱点时
|
||||
- 合同签订地/履行地/诉讼标的物/侵权行为地/代表机构住所地这五项往往无人主张(打稻草人);唯一有杀伤力的是"可供扣押财产"。
|
||||
- 把六连接点列成清单逐项驳,等于一趟"导览"——五句铺垫,终点正好停在己方最弱、对方最强的那一格上,**亲手替法院和对方画出通往管辖权的路线图**。
|
||||
- ✅ 更稳:**删掉连接点列举**,把"**不能合并管辖**"(不同法律关系应分别审查管辖)提为主攻,直接打中原告"拉境外股东进辖区"的真实意图。
|
||||
|
||||
### 5. 删除连接点论述 ≠ 风险消失(必须如实向当事人提示)
|
||||
- 管辖权法院依职权审查(第130条),即便只字不提,法院/对方仍可能**自行发现**该连接点。
|
||||
- 删除的价值是"**不主动递刀、不自曝败点**",把法院注意力引向己方强项——**不是消灭风险**。
|
||||
- 风险扎根在**事实层面**(境外股东持有中国公司股权),不在措辞里。若目标公司确在受诉法院辖区,这份异议在"无连接点"这条路上是**逆风**的,真正指望落在"不能合并管辖"+"不方便法院"。
|
||||
- ⚠️ 必须诚实告知当事人这一点,不能让其误判"删了就过去了"。
|
||||
|
||||
### 6. "不能合并管辖"论点的法律依据要标清
|
||||
- 依据 = **民法典第465条合同相对性** + **学理/最高法裁判倾向**(普通共同诉讼应分别审查各独立之诉管辖权;参最高法"太原吉业"案、"李沈生"案,中国法学网马超雄/康临芳文)。
|
||||
- **并非某一条直接法条**——被问"法律依据"时如实说明是合同相对性+裁判倾向的组合,不要假装有一条直接法条。
|
||||
|
||||
## 三、程序陷阱
|
||||
|
||||
### 7. 应诉管辖陷阱(涉外/跨域被告)
|
||||
- 涉外被告若**先提交实体答辩**,可能构成**应诉管辖**(第278条涉外应诉管辖 / 第130条第2款)而**丧失管辖异议权**。
|
||||
- 管辖异议必须在**答辩期内、提交实体答辩之前**提出。审核此类文书时,若发现被告身份特殊(境外/跨域),主动提示是否已评估管辖异议与实体答辩的先后顺序。
|
||||
|
||||
### 8. 条文号必须查2023修正版原文
|
||||
- 管辖异议提出依据=第130条("应当审查");涉外特殊地域管辖=第276条;不方便法院=第282条;涉外应诉管辖=第278条。
|
||||
- 2023修正(2024.1.1生效)因涉外编扩容,条文号整体后移,**必须查原文核验**,不能凭记忆或旧版文章。
|
||||
|
||||
## 四、典型三层结构(删连接点列举后的成稿骨架)
|
||||
- **(一)合同相对性**:境外股东非买卖合同当事人,合同连接点不及于它(民法典465条,地基)。
|
||||
- **(二)不能合并管辖**:对股东的责任之诉 ≠ 买卖合同纠纷,分属不同法律关系,不得仅因其系共同被告即合并管辖,否则纵容原告"追加境外股东规避法定管辖"(**主攻**)。
|
||||
- **(三)不方便法院原则**(第282条五要件,兜底)。
|
||||
|
||||
## 五、"可供扣押财产"的限缩论点与权威依据(2026-06-16 补充)
|
||||
|
||||
⚠️ 前提:在中国大陆,第276条"可供扣押财产所在地"连接点**正面否认极难成功**——下列限缩论点是"逆风加固",不是翻盘王牌。若目标公司确在受诉法院辖区,主战场仍是"不能合并管辖"+"不方便法院"。
|
||||
|
||||
### 1. 权威依据:财产所在地管辖=国际公认的"过度管辖"
|
||||
- **来源**:蓝海法律查明和商事调解中心《财产所在地的涉外管辖——2019年中国当事人在韩国诉讼的一个案例》(苏晓凌,2020.07.25),评述韩国大法院 **2016다33752** 判决(2019.6.13)。URL: bcisz.org/html/yuwaifalvchaming/1165.html
|
||||
- **核心警示(可引为学理观点,但须注明系评述/学理而非中国法明文)**:
|
||||
> "仅以可供扣押财产为管辖根据,通常在国际上被认为属于**过度管辖**……如在中国境内扣押财产不足以偿债,在其他国家申请承认和执行时,承认国法院可能因不认可基于财产所在地的管辖而**拒绝承认我国法院判决**。"
|
||||
- **战略用法**:当委托方是境外被告、且原告可能拿到的中国判决将来需到境外(如新加坡)执行时,可补强"不方便法院"——强调即便中国法院管辖,判决也面临境外不被承认的风险,由境外法院审理对各方更经济、更具实效性。
|
||||
|
||||
### 2. 实质性联系/偶然财产限缩(域外比较法,仅作学理参考)
|
||||
- 韩国大法院规则:财产若"**只是偶然位于法院地**"、且"原告诉请与该财产**没有联系**",则不能单凭财产所在地认定管辖,须综合"财产在法院地的原委、价值、权利救济必要性、判决实效性"等多因素判断。
|
||||
- ⚠️ **中国实务相反**:因第276条措辞明确且无关联性要件,中国法院"一般**不分析**可供扣押财产与讼争事实的关联性",只要境内有可供扣押财产即认定管辖。典型:北京(2018)京民终519号、上海(2019)沪民辖98号——均未分析关联性即认定管辖。**所以"财产与诉请无关"这条限缩论点在中国大陆说服力弱**,引用时须诚实定位为"国际趋势/学理",不可冒充中国现行裁判规则。
|
||||
|
||||
### 3. "可供扣押财产"的范围抗辩:债权不算
|
||||
- **南京鼓楼区法院(2013)鼓民初字第1143号**:原告主张的"可扣押财产"是被告对原告享有的**债权**,法院认定"**债权不属于可供扣押的财产**",驳回起诉。
|
||||
- 学理(苏晓凌):"扣押"本质是属地执行措施,债权"不具有属地性,不能成为管辖的根据";以"可供执行的财产"表述更贴切。
|
||||
- **用法**:若原告主张的境内财产是债权/应收款一类无体且无属地性的权利,可援此抗辩其"不属于可供扣押财产"。但**股权不同**——股权可冻结、所在地随公司登记地认定(见一·3),不能套用债权抗辩。
|
||||
|
||||
### 4. 引用纪律
|
||||
- 这些是**评述/域外判例/个别中国裁定**,不是司法解释或主流裁判规则。书面引用时:①注明确切来源(案号/文章/法院);②如实标注"国际趋势""学理观点""个案裁定"的层级,不拔高为中国通行规则;③能不写进异议书正文就不写(同一·3的"不递刀"原则),主要价值在内部策略研判和"不方便法院"的实效性论证。
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
# 合同解除条件模糊条款分析方法
|
||||
|
||||
## 适用场景
|
||||
租赁合同约定的解除条件用语模糊(如"欠交租金二个月"),需要分析在不同解释下是否满足解除条件。
|
||||
|
||||
## 分析框架(2026-06-15 万禹案13.1条实测)
|
||||
|
||||
### 一、识别条款模糊性
|
||||
|
||||
"欠交租金二个月"至少有两种理解:
|
||||
1. **累计金额说**:累计欠付金额达到二个月租金
|
||||
2. **连续期间说**:连续二个月未付任何租金
|
||||
|
||||
需分别按两种解释分析,并针对每种准备抗辩。
|
||||
|
||||
### 二、累计金额说的分析
|
||||
|
||||
**制作逐月统计表**(见 rental-monthly-rent-table.md),核心看:
|
||||
- 累计欠付何时首次突破门槛(如2个月租金)
|
||||
- 突破后是否被后续付款补正(回落至门槛以下)
|
||||
- 权利人是否在突破期间行使了解除权
|
||||
- 发出解约函时累计欠付实际金额
|
||||
|
||||
**抗辩方向**:
|
||||
- 解除权产生后未及时行使 → 在对方继续履行后解除权消灭
|
||||
- 权利人继续接受租金 → 以行为放弃解除权(默示放弃)
|
||||
- 发出解约函时解除条件已不满足 → 不具备行使解除权的事实基础
|
||||
- 法律依据:合同法/民法典关于解除权行使期限的规定
|
||||
|
||||
### 三、连续期间说的分析
|
||||
|
||||
**制作付款间隔表**,核心看:
|
||||
- 最长付款间隔是多少天
|
||||
- 是否存在连续2个月(约61天)以上的零付款期
|
||||
- 零付款期的原因是什么
|
||||
|
||||
**抗辩方向(重点——停付的正当理由)**:
|
||||
- 先履行抗辩权(民法典第525/526条):出租人在先违约(如面积瑕疵、信息隐瞒),承租人有权暂停付租
|
||||
- 租赁物无法使用(民法典第729条):物业封楼等导致无法使用,有权请求减少租金
|
||||
- 按瑕疵减价后的实际欠付金额:即便存在零付款期,实际欠付是否微不足道(如仅几万元 vs 月租十几万),说明承租人非恶意拖欠
|
||||
|
||||
### 四、综合论证要点
|
||||
|
||||
两种解释的共同要害:
|
||||
- 出租人自身是否存在在先违约(面积瑕疵、缔约过失、信息隐瞒等)
|
||||
- 承租人的止付行为是否有法律依据(先履行抗辩权)
|
||||
- 考虑减免/扣减后的实际欠付金额与门槛的关系
|
||||
|
||||
### 五、特别注意
|
||||
|
||||
- 合同13.1条中"欠交一个月"需"书面通知后5日"的催告前置程序,但"欠交二个月"写的是"无须催告"——两个条件的程序要求不同,不要混淆
|
||||
- 即便条款写"无须催告",仍需查看是否有通知义务的法律强制规定
|
||||
- "视作乙方自动解除本合同"这种表述在法律上是约定解除权,不是自动解除——仍需权利人积极行使(发出解除通知)
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
# 用同案件已有 docx 作母版生成"全新文书"——页眉/边框继承陷阱
|
||||
|
||||
## 场景
|
||||
同一案件已有一份成稿文书(如检察监督申请书 v9),需要再做一份**不同类型**的全新文书(如给法院的《情况反映》)。为保证字体、字号、行距、页边距、样式与申请书**同源**,最稳的做法是:把申请书 docx 当母版,克隆它的段落模板(标题段/正文段/落款段/附件段的 pPr+rPr),清空 body 后用模板段重建全文。
|
||||
|
||||
> ⚠️ 这套手法适用于**任何"用 A 文书作母版生成 B 文书"**,不限于《情况反映》。2026-06-25 郭同学案再次踩中:用万禹案**再审申请书**作母版生成**答辩状**,header2.xml 原样继承了"申 请 人:上海万禹实业… / 再审申请书 / 生效判决案号:(2025)沪01民终15828号"——OnlyOffice 渲染第 1 页页眉赫然是别案的当事人和案号。清空页眉法(见下)验证有效:删 header2.xml 所有 run、重新打包后页眉纯净。**判别哪个 header 文件有文字**:遍历 `word/header*.xml`,读各自 `w:t` 拼出文字,非空的那个才是要清的(母版常有 header1/2/3 三个,只有一个带内容)。
|
||||
|
||||
这套"克隆段落模板 + 替换 body"的手法对**正文**是对的、省心,但有一个隐蔽的坑:
|
||||
|
||||
## 坑:header/footer 和 pBdr 横线会原样继承,且常常张冠李戴
|
||||
- 替换 `word/document.xml` 的 body 只动了正文。**`word/header1.xml`、`word/footer1.xml` 原封不动**被继承。
|
||||
- 实测(2026-06-23 邹家案):申请书 v9 的 header1.xml 写的是"**申请人(被告)… / 申请监督民事诉讼案号:… / 受理法院:…**"——这是**检察监督申请书的页眉**。套到《情况反映》(受文机关是法院本身)上,称谓完全错配("申请监督""受理法院"对法院内部监督渠道不成立)。
|
||||
- 更隐蔽的是**页眉横线**:清掉页眉文字后,OnlyOffice 渲染里页面顶端仍残留一条贯穿左右的黑线。它不是文字,是页眉段落 `pPr` 里的**段落下边框 `<w:pBdr>`**(页眉样式自带)。只删 run 文字删不掉它。
|
||||
|
||||
## 交付前必查(母版法专用三查)
|
||||
凡是"用 A 文书作母版生成 B 文书",OnlyOffice 渲染后**必须逐页看页眉页脚**,确认:
|
||||
1. 页眉文字是否属于 B 文书的类型(不是 A 残留的称谓/案号格式);
|
||||
2. 页眉/页脚有无 A 残留的横线、单位名、修订标识;
|
||||
3. 落款受文机关、抬头与 B 的收件对象一致。
|
||||
|
||||
vision 看第 1 页时,把"页眉区域内容"作为独立一项问出来——它最容易被正文的整洁掩盖过去。
|
||||
|
||||
## 修法(清空页眉 + 去横线)
|
||||
默认推荐**清空页眉**(内部反映材料正文已含案号当事人,页眉非必需,留空最干净不会错配)。纯 zipfile+lxml:
|
||||
|
||||
```python
|
||||
import zipfile, io
|
||||
from lxml import etree
|
||||
W='http://schemas.openxmlformats.org/wordprocessingml/2006/main'
|
||||
def w(t): return f'{{{W}}}{t}'
|
||||
|
||||
zin = zipfile.ZipFile(src)
|
||||
h = etree.fromstring(zin.read('word/header1.xml'))
|
||||
|
||||
# 1) 清空页眉所有 run 文字(保留空段结构,别删整段——破坏 schema)
|
||||
for p in list(h.iter(w('p'))):
|
||||
for r in list(p.findall(w('r'))):
|
||||
p.remove(r)
|
||||
|
||||
# 2) 删 pBdr(横线的真正来源)——只删文字删不掉这条线
|
||||
for ppr in h.iter(w('pPr')):
|
||||
pBdr = ppr.find(w('pBdr'))
|
||||
if pBdr is not None:
|
||||
ppr.remove(pBdr)
|
||||
|
||||
# 3) 去掉 pStyle 引用(页眉样式常自带下边框,连根拔)
|
||||
for ppr in h.iter(w('pPr')):
|
||||
ps = ppr.find(w('pStyle'))
|
||||
if ps is not None:
|
||||
ppr.remove(ps)
|
||||
|
||||
new_h = etree.tostring(h, xml_declaration=True, encoding='UTF-8', standalone=True)
|
||||
buf = io.BytesIO()
|
||||
with zipfile.ZipFile(buf, 'w', zipfile.ZIP_DEFLATED) as zo:
|
||||
for n in zin.namelist():
|
||||
d = zin.read(n)
|
||||
if n == 'word/header1.xml': d = new_h
|
||||
zo.writestr(n, d)
|
||||
open(src, 'wb').write(buf.getvalue())
|
||||
```
|
||||
|
||||
若要**保留页眉但改成中性表述**(方案 B),把 run 文字替换成"案号:(…)… / 反映人:…"这类不带"申请监督""受理法院"的中性字段即可——但默认先问用户走 A 还是 B,别擅自保留错配页眉。
|
||||
|
||||
## 关掉修订模式(全新文书非修订态)
|
||||
母版若是修订态(settings.xml 带 `<w:trackRevisions/>`),生成全新文书时要去掉它——新文书是全新成稿不是改稿,不该带修订痕迹:
|
||||
|
||||
```python
|
||||
if n == 'word/settings.xml':
|
||||
s = etree.fromstring(d)
|
||||
tr = s.find(w('trackRevisions'))
|
||||
if tr is not None: s.remove(tr)
|
||||
d = etree.tostring(s, xml_declaration=True, encoding='UTF-8', standalone=True)
|
||||
```
|
||||
|
||||
## 段落模板克隆要点(正文部分,已验证可用)
|
||||
- 从母版抽各类型段落各一个作模板:标题(居中 bold sz30)、正文(首行缩进 fl480 sz24)、受文机关(顶格 bold sz24)、落款(右对齐 sz24)、附件标题(顶格 bold sz24)、附件项(fl480 sz24)。
|
||||
- `mk()` 构造段落时:深拷贝模板段 → 删掉模板里的旧 run/ins/del → 删 numPr(避免继承自动编号)→ 强制字体(eastAsia=仿宋、ascii/hAnsi=Times New Roman)→ 按需 set/unset bold → 塞入新文字 run(`t.set('{http://www.w3.org/XML/1998/namespace}space','preserve')`)。
|
||||
- 顶格段(受文机关、"丽水市…法院:")用 `no_indent=True` 删掉 ind,否则继承首行缩进会缩进两格。
|
||||
- body 清空后把新段 `insert` 到 `sectPr` 之前(sectPr 必须保留在 body 末尾,决定页面尺寸/页边距)。
|
||||
- 字体属性交付前用 zipfile 逐 run 统计核验:CJK 全仿宋、LATIN 全 Times New Roman,0 回退。
|
||||
@@ -0,0 +1,180 @@
|
||||
# 面积争议租金重算分析框架
|
||||
|
||||
## 适用场景
|
||||
不动产租赁纠纷中,合同约定面积与出租方有权出租面积不符(如转租方超面积计租)。
|
||||
|
||||
## 计算要素
|
||||
|
||||
### Sheet 1:一审判决认定的租金事实
|
||||
从判决书中逐项提取法院认定的租金相关事实,每项需标注判决书页码:
|
||||
|
||||
| 序号 | 认定事项 | 法院认定内容 | 判决书位置 |
|
||||
|------|---------|------------|-----------|
|
||||
| 1 | 合同面积 | 1500㎡ | 第X页 |
|
||||
| 2 | 月租金 | 118,625元 | 第X页 |
|
||||
| 3 | 免租期 | 2021.6.1-9.15 | 第X页 |
|
||||
| ... | ... | ... | ... |
|
||||
|
||||
### Sheet 2:按实际面积天数重算
|
||||
|
||||
#### 基础参数
|
||||
- **合同面积** vs **有权面积**(如1500㎡ vs 1243㎡)
|
||||
- **单价**(如2.6元/㎡/天)
|
||||
- **合同期间**起止日
|
||||
- **免租期**起止日
|
||||
- **疫情减免**金额和期间
|
||||
|
||||
#### 分月计算表
|
||||
按月逐行计算,列包括:
|
||||
- 月份
|
||||
- 应付天数(大月31/小月30/2月28-29)
|
||||
- 月租金 = 有权面积 × 单价 × 当月天数
|
||||
- 实际应付(扣除免租期、疫情减免的月份标0或减免金额)
|
||||
- 已付金额(从判决书/凭证中提取)
|
||||
- 累计差额
|
||||
|
||||
#### 关键结论
|
||||
- 按实际面积应付总额
|
||||
- 已付总额
|
||||
- 欠付金额 = 应付 - 已付
|
||||
- **是否满足合同解除条件**(如"拖欠2个月以上"的门槛金额 = 2 × 月租金按实际面积计算)
|
||||
|
||||
## 多数据源交叉比对(Sheet 3-5)
|
||||
|
||||
### 何时需要交叉比对
|
||||
- 案件经历了一审→二审,需要梳理判决间的差异
|
||||
- 对方当事人提交了情况说明或计算明细
|
||||
- 再审准备:需要系统性发现一审/二审的事实认定错误
|
||||
|
||||
### 比对维度(5个Sheet)
|
||||
|
||||
**Sheet 3:交叉比对总表**
|
||||
按五个维度组织,每个维度一个区块:
|
||||
|
||||
| 维度 | 比对列 | 重点 |
|
||||
|------|--------|------|
|
||||
| 一、基础数据比对 | 原告主张 / 一审认定 / 二审认定 / 重算 / 差异说明 | 面积、月/日租金、免租期、解除日、疫情减免、违约金标准等12+项 |
|
||||
| 二、租金应付金额比对 | 天数 / 原告(1500㎡) / 重算(1243㎡) / 差额 / 说明 | 按期间分段,标注月计vs日计的细微差额 |
|
||||
| 三、已付租金比对 | 数据来源 / 已付金额 / 说明 / 差异 | 对比各方陈述的已付金额,发现重复计算等错误 |
|
||||
| 四、欠付金额核心比对 | 原告/一审/二审/重算/再审意义 | 逐项对比欠付金额及法律后果 |
|
||||
| 五、合同解除条件论证 | 1500㎡计算 / 1243㎡计算 / 结论 | 是否超2个月门槛,结论是否相反 |
|
||||
|
||||
**Sheet 4:原告诉请vs判决对比**
|
||||
- 本诉逐项:原告主张金额 → 一审 → 二审 → 按实际面积应为 → 差异分析
|
||||
- 反诉逐项:万禹主张金额 → 一审 → 二审 → 按实际面积应为 → 差异分析
|
||||
- 判决金额汇总:万禹净支出合计(各来源口径)
|
||||
- 重点标注"不应支持"(本诉在面积纠正后不成立的项)和"应支持/应提高"(反诉在面积纠正后应支持的项)
|
||||
|
||||
**Sheet 5:二审纠正与未审查问题**
|
||||
- 区域一:二审已纠正的一审错误(如已付租金重复计算)
|
||||
- 区域二:一审/二审均未审查的核心问题(再审争点)
|
||||
- 每项包含:未审查问题 / 法院回避方式 / 实际情况 / 再审论证方向
|
||||
|
||||
### 交叉比对制表要点
|
||||
|
||||
1. **数据源标注**:每个数字都要标明出处(判决书页码、情况说明、银行回单等),确保可追溯
|
||||
2. **差异高亮**:用黄底+红字标注关键差异和错误认定,绿底标注万禹有利结论
|
||||
3. **算术验证**:比对月计算(月租金×月数)和日计算(日租金×天数)是否一致,标注差额(通常有千元级差异)
|
||||
4. **二审纠正追踪**:明确标出二审改判了哪些项,哪些维持——二审已纠正的不再是再审争点,二审维持的才是
|
||||
5. **合同解除条件的"结论翻转"**:是面积争议案件的核心——重算后欠付是否仍超2个月门槛,如果结论从"可解除"变为"不可解除",所有后续判项(违约金、免租期租金、装修补偿比例)都应翻转
|
||||
|
||||
### 已付租金比对的典型陷阱
|
||||
|
||||
- **补充协议40万的双重计算**:一审可能在"2022.6前欠缴30万"和"2022.7后已付230万"中都包含了补充协议的40万,导致重复计算30万
|
||||
- **保证金是否计入已付**:被告答辩的"已付2,939,020"含保证金118,625,但租金计算时保证金单独抵扣免租期,不能计入已付租金
|
||||
- **原告情况说明的增补项**:原告可能在情况说明中增加原先未计入的付款记录(如因账户注销导致计时间点不同),核对时注意金额是否与银行回单一致
|
||||
- **按月计vs按日计的差额**:月租金×月数 vs 日租金×天数 通常有千元级差额(因非整月),交叉比对时要标注此差异但不应放大
|
||||
|
||||
## 无权处分论证逻辑
|
||||
|
||||
转租方合同面积 > 上手合同面积的差额:
|
||||
1. 差额面积无租赁权基础 → 转租属无权处分
|
||||
2. 承租人按差额面积支付的租金 = 转租方不当得利
|
||||
3. 法律依据:民法典311条(无权处分)、985条(不当得利)
|
||||
|
||||
## 缔约过失论证
|
||||
|
||||
出租方未告知实际面积(以"商业秘密"为由拒绝披露上手合同):
|
||||
- 民法典500条:缔约过失/隐瞒重要事实
|
||||
- 商品房销售管理办法第18条类比(虽非直接适用于租赁)
|
||||
|
||||
## 终审判决逐项拆解方法
|
||||
|
||||
再审准备的前提是精确理解终审判决每一项的计算方式。拆解流程:
|
||||
|
||||
### 步骤一:列出判决主文所有给付项
|
||||
从判决书末尾提取,区分维持项和变更项。例:
|
||||
- 第一项(维持):确认合同解除
|
||||
- 第二项(★变更):租金差额 → 金额变化
|
||||
- 第三项(★变更):违约金 → 基数调整
|
||||
- 第四项(维持):水电费
|
||||
- 第五项(维持):免租期租金差额
|
||||
- 第六项(维持):装修补偿
|
||||
|
||||
### 步骤二:逆向推算每项金额
|
||||
从"本院认为"段落提取计算公式并独立验证:
|
||||
|
||||
**月计算法**(法院常用):
|
||||
- 整月数×月租金 + 零头天数÷当月天数×月租金
|
||||
- 例:21个月×118,625 + 12天÷31天×118,625 = 2,537,044.35
|
||||
|
||||
**日计算法**(重算时用):
|
||||
- 计租天数×日租金
|
||||
- 例:651天×3,231.80 = 2,103,901.80
|
||||
|
||||
两种方法因非整月存在千元级差额,标注但不放大。
|
||||
|
||||
### 步骤三:汇总万禹净负担
|
||||
| 类别 | 项目 | 金额 |
|
||||
|------|------|------|
|
||||
| 应付 | 租金差额 | |
|
||||
| 应付 | 违约金(已发生) | |
|
||||
| 应付 | 水电费 | |
|
||||
| 应付 | 免租期租金差额 | |
|
||||
| 应收 | 装修补偿 | |
|
||||
| 费用 | 诉讼费(承担部分) | |
|
||||
| 持续 | 后续违约金(日增X元) | |
|
||||
|
||||
### 步骤四:酌情项倒推比例
|
||||
法院"酌情"的项目(免租期租金、装修补偿),倒推其比例以理解法院的量化逻辑:
|
||||
- 免租期租金酌情比例 ≈ 剩余租期÷总租期(如1906天÷2922天≈65%)
|
||||
- 装修补偿酌情比例 ≈ 补偿额÷残值(如55万÷263万≈21%)
|
||||
|
||||
此比例在再审中可用于论证:如果面积纠正后万禹非违约方,这些酌情项的前提("万禹违约导致合同提前解除")不成立,应翻转。
|
||||
|
||||
## 当事人矛盾点系统分析
|
||||
|
||||
结合判决书和庭审笔录,从四个维度穷举矛盾:
|
||||
|
||||
### 维度一:原告自身矛盾
|
||||
检查原告在起诉状、答辩状、情况说明、上诉状中的前后陈述差异。典型模式:
|
||||
- 金额数字反复变化(如已付金额、欠缴金额)
|
||||
- 事实陈述出尔反尔(如"没有残值"→鉴定出263万残值)
|
||||
- 对关联公司关系的否认与书面协议的矛盾
|
||||
- 面积构成的自圆其说(承认只承租1243㎡,但声称1500㎡包含电梯间和公摊——无测量证据)
|
||||
|
||||
### 维度二:被告自身矛盾
|
||||
同样检查被告各阶段陈述:
|
||||
- 已付金额前后不一(如2,939,020→2,474,500)
|
||||
- 一审确认后二审翻供(如水电费、合同解除日期)
|
||||
- 面积知情时间主张缺乏证据("一直口头提过"无书面记录)
|
||||
|
||||
### 维度三:双方之间核心矛盾
|
||||
制表对照,明确证据指向哪方。特别注意:
|
||||
- 一方以"商业秘密"为由拒绝披露的信息,恰恰是争议核心
|
||||
- 法院采信某方陈述时是否审查了该陈述的证据支撑
|
||||
|
||||
### 维度四:两审判决矛盾
|
||||
- 二审已纠正的错误→证明一审事实认定不可靠
|
||||
- 两审共同回避的问题→识别为再审核心争点
|
||||
- 法院的推定逻辑是否合理(如"装修时已知面积"——装修合同恰恰按1500㎡签订,说明被告相信合同面积)
|
||||
|
||||
## 参考判例引用规范
|
||||
|
||||
无公开案号的判例引用格式:
|
||||
```
|
||||
据《XX日报》XXXX年X月X日报道,XX区法院审理了类似案件,
|
||||
二房东将公摊面积计入转租面积被认定为无权处分,二审维持。
|
||||
(注:该案裁判文书未上网公开,无法获取案号。)
|
||||
```
|
||||
⚠️ 不能假装有案号。没找到就注明来源是新闻报道,让法官自行判断证据效力。
|
||||
@@ -0,0 +1,104 @@
|
||||
# 租金逐月统计表制作方法(应付-已付-累计欠付)
|
||||
|
||||
## 适用场景
|
||||
租赁纠纷中需要证明承租人在合同解除前是否/何时达到约定解除条件(如"欠交租金二个月")。
|
||||
|
||||
## 关键方法论
|
||||
|
||||
### 铁律1:计算口径必须与再审申请书完全一致 + Doro最终计租规则(2026-06-15 万禹案教训)
|
||||
|
||||
**Doro最终确认的计租规则(2026-06-15,优先级最高)**:"按月租金固定算,不足月的才按天算"
|
||||
- **整月**:用合同约定的固定月租(如118,625元),不管该月28/29/30/31天,都收固定月租
|
||||
- **不足月(首月/末月)**:才用日租金×天数(如首月9/16-9/30=15天×3,900;末月3/1-3/12=12天×3,900)
|
||||
- 这是合同约定的计租方式,符合\"月租金\"的法律含义。**不要为了对齐申请书的按日总数而把所有月份都改成按日**——那是中间错误版本,被Doro否定
|
||||
|
||||
**与申请书核对——方法可不同但关键数字必须锚定同一来源**:
|
||||
- 申请书可能用纯按日(1500×2.6×908=3,541,200)作总额验算,统计表用\"整月固定+首尾按天\",两者总应付会有约3,557元的方法性差异(整月118,625≈30.42天 vs 实际天数)——这个差异是计租方法不同造成的,可以接受,在表底\"交叉验证区\"如实标注差异和原因即可
|
||||
- **但已付租金、减免金额、瑕疵减价单价、解除门槛这些关键数字必须与申请书/判决书完全一致**,不能算出两个值
|
||||
- **两份文件同一个数字不能算出不同结果**——这是Doro质疑的直接原因
|
||||
|
||||
**踩坑顺序(2026-06-15,三次返工)**:
|
||||
1. 第一版用整月118,625逐月累加 → 漏掉\"补充协议减免\"列,欠付暴涨到226,281(见铁律4)
|
||||
2. 补回减免列后欠付75,032.70,与申请书71,475.90差3,556.80 → 追查发现是计租方法差异(整月vs按日 + 末月天数)
|
||||
3. 改成全部按日(3,900×天数)、末月11天 → 欠付71,475.90完全对齐申请书,但Doro指出\"按月租金固定算,不足月的才按天算\",又改回整月固定+首尾按天
|
||||
- **末月天数**:解除日当天是否计入要与申请书一致(申请书908天不含解除日当天,则末月用11天而非12天;用Python `(end-start).days` 验证)
|
||||
|
||||
**核对步骤**:
|
||||
1. 找到申请书中的总应付公式(如"1,500㎡×2.6元/日×908日=3,541,200元")
|
||||
2. 确认总天数(起始日到解除日是否含末日,用Python `(end-start).days` 验证)
|
||||
3. 确认减免总额公式(如"388,498.50元"是哪几项之和)
|
||||
4. 确认瑕疵减价公式(如"257×2.6×908=606,725.60")
|
||||
5. 统计表合计行的每个数字都必须能还原到申请书公式
|
||||
|
||||
### 铁律2:减免金额用判决书/申请书确认的数字
|
||||
- ✅ 判决书确认"疫情减免2022年4月和5月共237,250元" → 直接用
|
||||
- ✅ 申请书写"388,498.50元(含补充协议减免151,248.50元+疫情减免237,250元)" → 直接用
|
||||
- ❌ 自己重新计算减免金额(会因计租方法差异产生偏差)
|
||||
- 原则:凡申请书/判决书有确认数字的,用它的数字
|
||||
|
||||
### 铁律3:已付租金按实际付款日期归入对应月份
|
||||
- 不要平摊到多个月——一笔付款就在付款当月全额记入
|
||||
- 付款记录必须交叉核对多个数据源(银行回单 > 当事人明细 > 判决书认定)
|
||||
|
||||
### 铁律4:重做表格时必须逐列对照旧版(2026-06-15 教训)
|
||||
**重做/更新统计表时,MUST逐列对照旧版检查,不能凭记忆重建**。漏掉一列就可能导致15万元级别的计算错误。
|
||||
- 2026-06-15教训:重做统计表时漏掉了"补充协议减免"列(¥151,248.50),导致累计欠付从75,032.70暴涨到226,281.20。Doro发现后问"为什么和申请书的71,475.90差距那么大"
|
||||
- 原因:旧表有10列(含补充协议减免),新表只建了9列
|
||||
- 修正方法:读取旧表headers → 逐列确认新表是否覆盖 → diff列出新旧差异
|
||||
|
||||
### 铁律5:Excel保留计算公式,不填静态数字
|
||||
- 应付租金 = `=B{row}*C{row}`(天数×日租金)
|
||||
- 瑕疵减价 = `=257*2.6*B{row}`
|
||||
- 当月欠付 = `=D{row}-E{row}-G{row}-H{row}-I{row}`
|
||||
- 累计欠付 = `=K{row-1}+J{row}`
|
||||
- 是否达到 = `=IF(K{row}>=237250,"是","否")`
|
||||
- 合计行 = `=SUM()`
|
||||
- 新增"交叉验证"区:申请书公式 vs 统计表公式 vs 差异,方便核对人一眼看出是否一致
|
||||
|
||||
## 表格列结构
|
||||
|
||||
| 期间 | 天数 | 日租金 | 合同应付租金 | 已付租金 | 支付凭证来源 | 疫情减免 | 补充协议减免 | 瑕疵减价(257㎡×2.6×天) | 当月欠付(净额) | 累计欠付 | 是否达到解除门槛 |
|
||||
|
||||
### 各列说明
|
||||
- **天数**:当月计租天数(注意首月和末月按实际天数,末月是否含解除日当天需与申请书一致)
|
||||
- **日租金**:固定值(如3,900元),作为公式引用基础
|
||||
- **合同应付租金**:= 天数 × 日租金(公式)
|
||||
- **已付租金**:当月实际到账金额,附凭证来源
|
||||
- **支付凭证来源**:银行编号/页码,便于核查
|
||||
- **疫情减免**:法院认定的固定金额,按减免月份填入
|
||||
- **补充协议减免**:协议确认的债务减免差额,在对应月份一次性填入(**不可遗漏!**)
|
||||
- **瑕疵减价**:= 257 × 2.6 × 天数(公式)
|
||||
- **当月欠付** = 应付 - 已付 - 疫情减免 - 补协减免 - 瑕疵减价(公式)
|
||||
- **累计欠付** = 上月累计 + 当月欠付(公式,可为负)
|
||||
- **是否达到门槛** = IF(累计欠付 ≥ 门槛, "是", "否")(公式)
|
||||
|
||||
## 交叉验证区(统计表底部必备)
|
||||
|
||||
在合计行下方新增验证区:
|
||||
|
||||
| 项目 | 申请书数值 | 统计表公式 | 差异 |
|
||||
|------|-----------|-----------|------|
|
||||
| 应付总租金 | =1500*2.6*908 | =SUM(应付列) | =申请书-统计表 |
|
||||
| 疫情减免 | 388498.50 | =SUM(减免列) | ... |
|
||||
| 瑕疵减价 | =257*2.6*908 | =SUM(瑕疵列) | ... |
|
||||
| 实际应付 | =应付-减免-瑕疵 | =应付-减免-瑕疵 | ... |
|
||||
| 已付 | 2474500 | =SUM(已付列) | ... |
|
||||
| 欠付 | 71475.90 | =实际应付-已付 | ... |
|
||||
|
||||
**差异列全部为0才算通过。**
|
||||
|
||||
## 支付凭证OCR交叉校验方法(2026-06-15实测)
|
||||
|
||||
当支付凭证为扫描件PDF时:
|
||||
1. **双OCR引擎交叉验证**:tesseract(快速但质量一般)+ DeepSeek-OCR(质量高但API不稳定)。CamScanner扫描件先用pymupdf转200dpi PNG再逐页OCR,DeepSeek API易Connection reset,要retry+background运行
|
||||
2. **去重关键**:同一交易可能以付款详情和回单两种格式出现在不同页面,用银行编号(FT号)去重
|
||||
3. **金额相同≠重复交易**:两笔金额相同但银行编号(FT号)或回单编号不同 = 两笔独立交易,不能去重(2026-06-15教训:P10有两笔8,176水电费、P6+P10各有一笔11,440水电费,FT号和回单编号都不同,是独立交易,差点漏记19,616元)。去重只认银行编号/回单编号,不认金额
|
||||
4. **金额验证**:大写金额与小写金额不一致时以小写为准(OCR对大写汉字识别率较低;2026-06-15实测DeepSeek把壹万壹仟肆佰肆拾误读成壹万捌仟肆佰肆拾,而回单小写11,440正确)
|
||||
5. **总额验证(最强校验手段)**:某收款方总额减去非相关项(住宿费、物业管理费、用途不详等)后应等于二审认定的已付租金。本案首乌丽亚收款2,749,350 - 十楼房租150,254 - 物业管理费120,000 - 住宿费2,606 - 用途不详1,990 = 2,474,500,与二审认定分毫不差,反向确认了OCR分类正确
|
||||
|
||||
## Excel格式规范
|
||||
- 标题行:深蓝底白字
|
||||
- 达到门槛的月份:红字高亮
|
||||
- 数字格式:#,##0.00
|
||||
- 合计行:粗体+浅绿底色
|
||||
- 交叉验证区:独立于合计行下方
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
# 再审申请书复核清单
|
||||
|
||||
## 法律依据核查
|
||||
- [ ] 民事诉讼法条文号是否准确(第210条、第211条及具体项)
|
||||
- [ ] 引用的实体法条文是否现行有效
|
||||
- [ ] 参考判例案号是否完整(法院+年份+案号类型+编号)
|
||||
- [ ] 判例裁判要旨是否准确概括(不得歪曲或过度概括)
|
||||
- [ ] 无案号判例是否标注替代来源(新闻报道+发布日期+媒体名称)
|
||||
|
||||
## 事实主张核查
|
||||
- [ ] 每一条事实主张是否有原审证据支撑
|
||||
- [ ] 引用的合同条款号是否正确
|
||||
- [ ] 引用的庭审陈述是否与笔录原文一致(OCR文本必须与扫描件原图核对)
|
||||
- [ ] 引用的金额、面积、日期等数字是否准确
|
||||
- [ ] 计算过程是否可验证(公式+数字+结果)
|
||||
- [ ] 按实际面积重算的数据是否有独立Excel佐证
|
||||
|
||||
## 逻辑一致性核查
|
||||
- [ ] 多处引用同一事实时表述是否一致
|
||||
- [ ] 不同论点之间是否存在逻辑矛盾
|
||||
- [ ] 因果关系是否严密(A→B→C,不跳步)
|
||||
- [ ] 量词使用是否精确("均""全部""部分"等)
|
||||
- [ ] 己方数据是否有利——如重算结果反而不利,需要重新评估论证策略
|
||||
|
||||
## 论证完整性核查
|
||||
- [ ] 对方可能的抗辩是否已预先回应
|
||||
- [ ] 是否有更有利的法律规定可补充引用
|
||||
- [ ] 是否有更有利的判例可补充引用
|
||||
- [ ] 论证路径是否涵盖"事实错误+法律适用错误"两条线
|
||||
- [ ] 行政处罚/监管行为的效力论证是否独立充分(如行政处罚是否意味着行为违法,撤销后能否视为行政机关认可)
|
||||
|
||||
## 行政诉讼材料交叉核验(涉行政处罚案件专用)
|
||||
- [ ] 撤销决定书的"现因"(启动契机)与引用法条(法律根据)是否都已准确引用
|
||||
- [ ] 撤销决定书的文书编号格式是否与原件一致(特别注意六角括号〔〕vs方括号[])
|
||||
- [ ] 询问笔录中的责任链是否已完整提取——违法行为的策划者、组织者、设备提供者、场地出租者分别是谁,本方当事人是否在链条中
|
||||
- [ ] 庭审笔录中行政机关(被告)的关键表态是否已引用——特别是对本方当事人经营合法性的自认
|
||||
- [ ] 调解/谈话笔录中行政机关的自认是否已引用——⚠️ **这往往是最直接有力的证据,最容易被遗漏**
|
||||
- [ ] 撤销的内部审批流程是否已论证——证明走的是正式内部纠错程序而非简单和解
|
||||
- [ ] 证人证言中"私自行为""会被开掉"等关键细节是否已引用——证明公司禁止/不知情
|
||||
- [ ] 被处罚人员中是否有本方当事人的员工——如果没有,这是有力的反证
|
||||
- [ ] 事后报警行为是否已作为"不知情"的佐证引用
|
||||
|
||||
## 格式核查
|
||||
- [ ] 当事人信息是否完整(名称、法定代表人、地址)
|
||||
- [ ] 诉讼请求是否明确具体
|
||||
- [ ] 落款(申请人+日期)是否正确
|
||||
- [ ] 致送法院是否正确
|
||||
- [ ] 有无错别字(如"和"vs"何"、"做"vs"作"、"扔"vs"仍"等同音字)
|
||||
- [ ] 有无重复文字(如"撤销对……撤销对"——修改中遗留的重复片段)
|
||||
- [ ] 有无严重语病(特别是含多个因果关系的复杂句式,如"分别是系因为……均——")
|
||||
- [ ] 文书编号括号格式是否规范(正式文书用六角括号〔〕,非方括号[])
|
||||
|
||||
## 附件清单制作
|
||||
- [ ] 每条事实主张对应原审材料精确位置
|
||||
- [ ] 位置标注格式统一("XX证据第X页"或"庭审笔录第X页")
|
||||
- [ ] 附件PDF已合并并插入书签
|
||||
- [ ] 书签标题与清单条目对应
|
||||
- [ ] 独立主题汇编PDF已单独制作(如租金支付凭证汇编)
|
||||
|
||||
## 万禹案特有的参考判例
|
||||
|
||||
### 无权处分/超面积转租
|
||||
- 厦门市同安区法院+厦门中院(转租方将公摊计入转租面积属无权处分,判返还押金+驳回原告全部诉请)
|
||||
- 来源:据《厦门日报》2023年9月1日报道(裁判文书未上网公开,无法获取案号)
|
||||
- 再审申请书中已标注来源为新闻报道
|
||||
|
||||
### 面积差异与租金调整
|
||||
- 北京高院《关于审理房屋租赁合同纠纷案件若干疑难问题的解答》第8条
|
||||
- 承租人以面积不符主张减付租金的,可予支持
|
||||
|
||||
### 缔约过失
|
||||
- 民法典第500条(隐瞒重要事实的缔约过失责任)
|
||||
- 商品房销售管理办法第18条(面积差异处理)——类比适用于租赁
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
# 一人公司股东"财产独立"抗辩(公司法第23条第3款)
|
||||
|
||||
场景:债权人起诉子公司(被告一),并依据一人公司规则把唯一股东母公司(被告二)列为共同被告主张连带责任。我方代理被告二/股东。本框架贯穿质证意见、答辩状、证据目录三类文书。
|
||||
|
||||
## 一、法条与举证责任(核实后引用)
|
||||
|
||||
- **2023年《公司法》第23条第3款**(原2018年第63条,已平移并上升至总则):
|
||||
> "只有一个股东的公司,股东不能证明公司财产独立于股东自己的财产的,应当对公司债务承担连带责任。"
|
||||
- 关键特征:**举证责任倒置**。法律推定一人公司"财产混同",由股东自证清白。这是与第23条第1款(一般人格否认,债权人举证)的根本区别。
|
||||
- 适用边界(通说"特殊与一般"):第3款**仅就"财产混同"倒置举证**。"过度支配与控制""资本显著不足""人员/业务混同"等其他人格否认情形,仍由债权人举证。可据此把对方主张限缩到"财产混同"单一战场。
|
||||
- 合同相对性配套:《民法典》第465条第2款"依法成立的合同,仅对当事人具有法律约束力"——证明被告二非买卖合同当事方,不受该合同约束。
|
||||
|
||||
## 二、三类文书的论证落点
|
||||
|
||||
**质证意见**(针对原告每组证据):
|
||||
- 订单/付款安排/银行流水 → 真实性无法确认、关联性不认可:被告二非签约/履行/收付方,与其无关。
|
||||
- 国家企业信用信息报告 → 三性认可、证明目的不认可:该证据恰恰证明被告二已足额出资、不存在出资瑕疵,反而对我方有利。
|
||||
|
||||
**答辩状**(三段式,每段结合质证立场 + 拟提交证据):
|
||||
1. 合同相对性:被告二非合同方,援引民法典465条,呼应对证据1-3的质证。
|
||||
2. 主体独立/财产不混同:母子公司各为独立法人;以连续年度审计报告为核心,辅以银行流水、账簿、场所、社保;援引公司法23条3款点明举证责任已尽。
|
||||
3. 已履行出资:呼应对证据4的质证,股东以出资额为限担责。
|
||||
|
||||
**证据目录**:每份证据的"证明对象和内容"全部指向同一核心——被告一与被告二财产独立、不混同。这是写证明内容的总纲。
|
||||
|
||||
## 三、审计报告的 5 个风险点(最高院及各地裁判规则)
|
||||
|
||||
单凭年度审计报告常被认定"仅反映负债和利润,不足以单独证明财产独立"。要让它站得住,必须满足且向客户核实:
|
||||
|
||||
| 核查点 | 要求 | 不满足的后果 |
|
||||
|--------|------|------|
|
||||
| 及时性 | 每会计年度终了时及时编制 | 诉讼后补做→削弱客观性(多案不采信) |
|
||||
| 连续性 | 覆盖债务关键期、年份不断裂 | 断裂→质疑财务不规范 |
|
||||
| 意见类型 | 无保留意见 | 保留意见→证明力严重削弱 |
|
||||
| 独立性 | 审计所不得既做账又审计 | 同所→独立性被否 |
|
||||
| 完整性 | 披露与股东的关联交易、不遗漏已知/可公开查询债务 | 遗漏→"审计失败",整份不采信 |
|
||||
|
||||
> 注:2023年新《公司法》删除了原第62条"一人公司强制年度审计"的特别规定(仅保留第208条对所有公司的一般审计要求)。但司法实践惯性下,**经审计的连续年度财务报告仍是股东证明财产独立的核心证据**,未提供或诉讼中补做都很被动。
|
||||
|
||||
## 四、补强证据链(审计报告之外)
|
||||
|
||||
| 证据 | 证明内容 |
|
||||
|------|---------|
|
||||
| 出资凭证 / 验资报告 | 已全面履行出资义务,无出资不实/抽逃 |
|
||||
| 独立银行账户流水 | 资金独立收付、独立核算 |
|
||||
| 财务账簿、会计凭证 | 账簿独立完整,与股东不混同 |
|
||||
| 经营场所产权证/租赁合同 | 住所独立 |
|
||||
| 员工名册 + 社保缴纳记录 | 人员独立用工 |
|
||||
| 关联交易合同及付款凭证(如有) | 交易真实、定价公允、如实入账,非利益输送 |
|
||||
|
||||
## 五、答辩状里写"拟提交"证据的联动陷阱
|
||||
|
||||
答辩状若写"被告二拟提交 X、Y、Z",必须与最终确定的证据目录保持一致。客户实际无法提供某项时,回到答辩状删除对应表述——否则文书自述的证据与实际提交不符。
|
||||
@@ -0,0 +1,79 @@
|
||||
# 夫妻共同债务:配偶还款行为的司法认定
|
||||
|
||||
## 核心论证路径
|
||||
|
||||
### 路径一:事后追认(民法典1064条第一款)
|
||||
配偶在还款协议签订后持续还款→构成"事后追认等共同意思表示"
|
||||
|
||||
**法律依据层级:**
|
||||
1. 民法典1064条第一款(法律)
|
||||
2. 最高法民一庭答记者问(2018.1.17):"事后追认不限于书面形式"
|
||||
3. 浙高法〔2018〕89号第12条:"归还借款本息可推定共同举债合意"
|
||||
4. 上海一中院审理思路第78条:"借款后曾归还借款"属**明示**追认行为
|
||||
|
||||
### 路径二:共同生产经营(民法典1064条第二款)
|
||||
配偶作为公司股东/共同受让人→直接参与经营→债务用于共同经营
|
||||
|
||||
**审查三要素(上海一中院第81条):**
|
||||
1. 债务款项专用性
|
||||
2. 夫妻经营共同性(核心:合意参与)
|
||||
3. 经营利润共享性
|
||||
|
||||
### 路径三:反向论证
|
||||
若否认还款系清偿本案债务→全部债务均未清偿→与被告陈述矛盾
|
||||
|
||||
## 关键来源验证(2026-06-10确认)
|
||||
|
||||
### 上海市第一中级人民法院《夫妻共同债务类案件的审理思路和裁判要点》
|
||||
- **官方URL**:https://www.a-court.gov.cn/xxfb/no1court_412/docs/202009/d_3645567.html
|
||||
- **发布时间**:2020年9月9日
|
||||
- **发布机关**:上海市第一中级人民法院(⚠️ 不是上海高院)
|
||||
- **关键段落位置**:第三部分(二)→ 第1小节"夫妻就债务达成合意"
|
||||
- **原文**:"明示包括夫妻双方共签借据或一方以短信、微信等方式表示合意;非举债配偶以其名下财产为借款设立抵押,借款后曾归还借款等追认行为。"
|
||||
- **验证方式**:浏览器访问+JS高亮截图,已交付Doro
|
||||
|
||||
### 浙高法〔2018〕89号
|
||||
- **全称**:《浙江省高级人民法院关于妥善审理涉夫妻债务纠纷案件的通知》
|
||||
- **发布**:2018年5月23日
|
||||
- **效力**:未被公开废止,核心精神与民法典1064条一致,浙江省内仍被引用
|
||||
|
||||
## 判例汇编
|
||||
|
||||
### 支持"配偶还款=共同债务"
|
||||
| 案号 | 法院 | 要旨 | 来源 |
|
||||
|------|------|------|------|
|
||||
| (2018)最高法民申634号 | 最高法 | 配偶参与经营收益用于共同生活→共同债务 | 《商事审判指导》2019年第2辑 |
|
||||
| (2021)最高法民申4323号 | 最高法 | 配偶任公司股东/监事/高管→共同经营 | 中国裁判文书网 |
|
||||
| (2018)京民终18号 | 北京高院 | "小马奔腾"案:享有股权收益即承担对应债务 | 最高法(2020)最高法民申2195号维持 |
|
||||
|
||||
### 限缩"还款=追认"的观点
|
||||
- 上海一中院孙少君法官(2025年):"仅凭单一还款行为,尚不足以认定配偶具有加入债务、同意承担所有还款责任的意思表示,应当结合其他证据"
|
||||
- (2024)豫03民终663号:仅有银行流水往来缺乏其他佐证→不足以证明追认
|
||||
|
||||
### 反面案例
|
||||
| 案号 | 法院 | 要旨 |
|
||||
|------|------|------|
|
||||
| (2018)最高法民再20号 | 最高法 | 债权人明知非用于共同生活→不认定共同债务 |
|
||||
|
||||
## 权利义务一致原则论证(2026-06-10新增)
|
||||
|
||||
当配偶本人就是经营活动的直接参与者(如公司股东、房产共有人)时,其债务性质不只是"用于夫妻共同经营"——而是**配偶本人即为义务主体**。论证时应区分:
|
||||
- **借款类债务**:一方举债 → 需论证追认或共同经营
|
||||
- **股权转让款/分红/房产对价**:配偶本人是股东/共有人 → 这些更接近其**自己的债务**,非"一方以个人名义所负"
|
||||
- **权利义务一致原则引用**:《最高人民法院民法典婚姻家庭编继承编理解与适用》(人民法院出版社2020年版,第167-169页):"如果未举债配偶一方已经基于该债务受益,则认定为夫妻共同债务。此情况下,基于权利义务一致原则,似无不妥。"
|
||||
- 参见(2018)京民终18号"小马奔腾案":配偶主张股权为夫妻共同财产→须同时承担相关债务
|
||||
|
||||
## "追认"与"知情"的关键区分(2026-06-10新增)
|
||||
|
||||
上海一中院明确:**"非举债配偶事后知情但未作出追认的不能认为就债务达成夫妻共负债务的合意"**
|
||||
|
||||
论证时必须区分并明确对接:
|
||||
- ❌ 消极知情:知道有这笔债但没有任何行动 → **不构成追认**
|
||||
- ✅ 主动还款:持续、多次、大额还款 → **行为本身即追认**
|
||||
|
||||
建议在论述中加一句明确区分:"张华丽的上述行为并非单纯的'事后知情',其持续、主动的还款行为本身即构成对案涉债务的实际追认,与消极知情存在本质区别。"
|
||||
|
||||
## ⚠️ 诚实说明
|
||||
- 最高法层面**没有**公报案例或指导性案例专门以"配偶还款行为"为核心裁判要旨
|
||||
- 支撑主要来自地方法院审判指导文件+各地生效判决
|
||||
- 本案优势:不是单一还款,而是10次、近4年、合计1200万元、部分转账备注"还款",远超一般"知晓"的程度
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
# 夫妻共同债务法律依据汇编(梁永案研究 2026-06-10)
|
||||
|
||||
## 核心法律
|
||||
|
||||
### 《民法典》第1064条(2021年1月1日施行)
|
||||
**第一款(共同意思表示):** 夫妻双方共同签名或者夫妻一方事后追认等共同意思表示所负的债务,以及夫妻一方在婚姻关系存续期间以个人名义为家庭日常生活需要所负的债务,属于夫妻共同债务。
|
||||
|
||||
**第二款(共同生产经营):** 夫妻一方在婚姻关系存续期间以个人名义超出家庭日常生活需要所负的债务,不属于夫妻共同债务;但是,债权人能够证明该债务用于夫妻共同生活、共同生产经营或者基于夫妻双方共同意思表示的除外。
|
||||
|
||||
## 现行有效司法解释
|
||||
|
||||
### 《婚姻家庭编解释(一)》法释〔2020〕22号
|
||||
- 第33条:婚前个人债务原则上不及配偶,除非用于婚后共同生活
|
||||
- 第34条:虚构债务不支持
|
||||
- 第35条:离婚协议不影响债权人向双方主张权利
|
||||
- 第36条:赌博吸毒债务不认定为共同债务
|
||||
|
||||
### 《婚姻家庭编解释(二)》法释〔2025〕1号(2025年2月1日施行)
|
||||
- 第3条:离婚逃债的财产分割可撤销(未新增共同债务认定标准)
|
||||
|
||||
## 地方审判指导文件
|
||||
|
||||
### 浙高法〔2018〕89号
|
||||
- **全称**:《浙江省高级人民法院关于妥善审理涉夫妻债务纠纷案件的通知》
|
||||
- **发布**:2018年5月23日,浙江省高级人民法院
|
||||
- **效力**:地方审判指导,未被公开废止,核心精神与民法典1064条一致,在浙江省内仍被广泛引用
|
||||
- **关键条文**:
|
||||
- 第12条(追认推定):配偶出具借条时在场、借款汇入配偶账户、**归还借款本息**等情形,可推定共同举债合意
|
||||
- 第15-16条:20万元为家庭日常/超出日常的参考分界
|
||||
- 第22条(共同经营):举债用于夫妻共同工商业或共同投资,或举债人单方经营但配偶分享收益
|
||||
|
||||
### 上海一中院审理思路
|
||||
- **全称**:《夫妻共同债务类案件的审理思路和裁判要点》
|
||||
- **发布**:2020年9月9日,上海市第一中级人民法院(⚠️ 不是上海高院)
|
||||
- **第78条**(事后追认):将"借款后曾归还借款"列为**明示的**事后追认行为(比浙高法的"推定"更进一步)
|
||||
- **第81条**(共同经营三要素):债务款项专用性、夫妻经营共同性、经营利润共享性
|
||||
|
||||
## 关键案例
|
||||
|
||||
### 配偶还款 → 追认
|
||||
| 案号 | 法院 | 要旨 | 来源 |
|
||||
|------|------|------|------|
|
||||
| (2018)最高法民申634号 | 最高法 | 配偶参与经营收益用于共同生活→共同债务 | 《商事审判指导》2019年第2辑(总第49辑) |
|
||||
| (2023)皖1181民初5202号 | 天长市法院 | 配偶在后续借条签名→明示事后追认 | 中国裁判文书网 |
|
||||
|
||||
### 共同经营 → 共同债务
|
||||
| 案号 | 法院 | 要旨 | 来源 |
|
||||
|------|------|------|------|
|
||||
| (2021)最高法民申4323号 | 最高法 | 配偶任公司股东/监事/高管→共同经营 | 中国裁判文书网 |
|
||||
| (2018)京民终18号 / (2020)最高法民申2195号 | 北京高院/最高法 | "小马奔腾"案:享有股权收益即承担对应债务 | 公开报道+裁判文书网 |
|
||||
|
||||
### 反面案例(限缩认定)
|
||||
| 案号 | 法院 | 要旨 |
|
||||
|------|------|------|
|
||||
| (2024)豫03民终663号 | 洛阳中院 | 仅有银行流水往来缺乏其他佐证→不足以证明追认 |
|
||||
| (2018)最高法民再20号 | 最高法 | 债权人明知非用于共同生活→不认定共同债务 |
|
||||
|
||||
### 最高院权威释义
|
||||
**《最高人民法院民法典婚姻家庭编继承编理解与适用》(人民法院出版社2020年版,第167-169页):**
|
||||
- "事后追认的方式,不限于书面形式,实践中可以通过电话录音、短信、微信、邮件等方式记载的内容进行判断。"
|
||||
- "夫妻共同生产经营……要根据经营活动的性质以及夫妻双方在其中的地位作用等综合认定。"
|
||||
- "如果未举债配偶一方已经基于该债务受益,则认定为夫妻共同债务。此情况下,基于**权利义务一致原则**,似无不妥。"
|
||||
|
||||
## ⚠️ 已废止
|
||||
- 法释〔2018〕2号(三条实体规定已被民法典1064条完整吸收)
|
||||
- 原《婚姻法》司法解释二第24条
|
||||
|
||||
## 注意事项
|
||||
- 最高法层面**没有**公报案例或指导性案例专门以"配偶还款=事后追认"为裁判要旨
|
||||
- 该认定标准主要来自地方法院文件(浙高法89号+上海一中院审理思路)
|
||||
- 上海一中院孙少君法官(2025年)提醒:仅凭单一还款行为不足以认定追认,需结合其他证据
|
||||
@@ -0,0 +1,70 @@
|
||||
# 侵权追偿诉讼——构成要件分析方法
|
||||
|
||||
> 来源:万禹案追偿诉讼讨论(2026-07-03,Maggie指导)
|
||||
|
||||
## 分析框架(五板块)
|
||||
|
||||
按以下顺序逐一论证,每个被告单独分析后再合并论证共同侵权:
|
||||
|
||||
### 一、不法行为
|
||||
- 各被告具体实施了什么行为
|
||||
- 行为的违法性依据(如刑事判决已认定)
|
||||
- 共同不法行为的认定(1168条四要素:共同故意+行为关联+结果统一+因果关系不可分)
|
||||
|
||||
### 二、受损法益
|
||||
**分层论证**(关键技巧):
|
||||
- 第一层:犯罪行为直接侵害的法益(不依赖行政处罚/其他中间环节即已存在)
|
||||
- 如:场所占有权、经营安全、名誉权
|
||||
- 第二层:经中间环节(如行政处罚)传导的法益侵害
|
||||
- 如:经营自主权、财产权(积极损失+可得利益)、企业存续利益
|
||||
|
||||
分层意义:即便对方主张因果关系被切断,第一层损害仍然不受影响。
|
||||
|
||||
### 三、损害结果
|
||||
- 已发生的确定损害(可量化)
|
||||
- 可主张的其他损害(举证难度标注)
|
||||
|
||||
### 四、行为与结果的因果关系
|
||||
|
||||
这是最容易被攻击的环节,需要多层论证:
|
||||
|
||||
#### (1)因果链条——画出完整路径
|
||||
#### (2)"被牵连方"定位
|
||||
- 原告不是违法活动的参与者/组织者/受益者
|
||||
- 原告是被犯罪行为侵入和波及的第三方
|
||||
- 公法上的"管理责任"≠民法上的"过错"
|
||||
|
||||
#### (3)第三方介入是否切断因果关系
|
||||
当损害结果存在两部分原因时(如:犯罪行为 + 行政机关错误处罚),论证不切断:
|
||||
1. **可预见性**——行政处罚是犯罪行为的可预见制度性后果,不是"异常介入"
|
||||
2. **风险制造理论**——损害后果仍在被告制造的风险范围内
|
||||
3. **多因一果**——即便认为构成介入因素,按1172条分别侵权处理,不免除被告责任
|
||||
4. **独立损害兜底**——即便切掉传导层,犯罪行为本身直接造成的损害仍然存在
|
||||
|
||||
类比:甲伤害乙→乙就医→医疗过失→伤情加重,不免除甲的责任。
|
||||
|
||||
#### (4)行政处罚撤销的战略价值
|
||||
- 撤销=法院认定原告无过错→堵死对方"过失相抵"抗辩
|
||||
- 不撤销也不免除被告责任(公法管理责任≠民法过错)
|
||||
|
||||
#### (5)被告犯罪行为的高度可归责性
|
||||
列举具体事实证明被告应当承担主要/全部责任
|
||||
|
||||
### 五、主观故意
|
||||
- 各被告的故意内容(明知+意欲)
|
||||
- 惯犯的认知程度更高
|
||||
- 对"牵连场所方"这一后果的预见性
|
||||
- 共同故意的认定(意思联络+共同认知+共同追求/放任)
|
||||
|
||||
## 附:过失相抵应对
|
||||
|
||||
被告抗辩"原告管理有过失"时的回应模式:
|
||||
- 逐项反驳具体指控(正常工作需要≠授权违法、事后结果不能倒推管理过错等)
|
||||
- 核心反驳:"受骗者≠放任者"——原告方面是被欺骗的,不是知情放任的
|
||||
- 终极武器:如行政处罚被撤销,直接援引"行政法院已认定原告无过错"
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 被告选择要考虑诉讼策略——如果某人既是被告又与原告有特殊关系(如员工),列为被告可能给对方送弹药,不如留作证人
|
||||
2. 损害赔偿金额要分层次预估(最乐观/中间值/保守),起诉按最高主张
|
||||
3. 行政诉讼结果是前置条件——影响整个策略方向,应先确认再起诉
|
||||
+228
@@ -0,0 +1,228 @@
|
||||
# Tracked Changes for Text Replacement (python-docx + lxml)
|
||||
|
||||
For **simple text replacements** (fix typos, swap terms, correct punctuation) in reviewed documents,
|
||||
python-docx load + lxml XML manipulation + python-docx save works well. This is **simpler** than the
|
||||
pure zipfile+lxml approach used for complex format-sensitive edits (Section 四 of the main skill).
|
||||
|
||||
## When to Use This vs Pure zipfile+lxml
|
||||
|
||||
| Scenario | Method |
|
||||
|---|---|
|
||||
| Text replacement (swap words, fix typos, correct brackets) | python-docx + lxml (this reference) |
|
||||
| New paragraphs, format-sensitive edits, number-heavy legal analysis | Pure zipfile + lxml (Section 四) |
|
||||
| Contract review (合同审查) | contract_docx_lib.py |
|
||||
|
||||
## Implementation Pattern
|
||||
|
||||
```python
|
||||
import copy
|
||||
from docx import Document
|
||||
from docx.oxml.ns import qn
|
||||
from lxml import etree
|
||||
|
||||
doc = Document('input.docx')
|
||||
AUTHOR = "WB"
|
||||
DATE = "2026-06-11T21:30:00Z"
|
||||
|
||||
def tracked_replace_in_paragraph(para, old_text, new_text, author=AUTHOR, date=DATE):
|
||||
"""Replace old_text with new_text using w:del + w:ins tracked changes."""
|
||||
full_text = para.text
|
||||
if old_text not in full_text:
|
||||
return False
|
||||
|
||||
# Find which runs contain old_text
|
||||
runs = para.runs
|
||||
accumulated = ""
|
||||
start_run = end_run = -1
|
||||
start_offset = end_offset = 0
|
||||
idx = full_text.find(old_text)
|
||||
|
||||
for i, run in enumerate(runs):
|
||||
prev_len = len(accumulated)
|
||||
accumulated += run.text
|
||||
if start_run == -1 and idx >= prev_len and idx < prev_len + len(run.text):
|
||||
start_run = i
|
||||
start_offset = idx - prev_len
|
||||
if start_run != -1 and len(accumulated) >= idx + len(old_text):
|
||||
end_run = i
|
||||
end_offset = idx + len(old_text) - prev_len
|
||||
break
|
||||
|
||||
if start_run == -1:
|
||||
return False
|
||||
|
||||
# Get rPr from first affected run (preserves font/size/bold)
|
||||
rpr = runs[start_run]._element.find(qn('w:rPr'))
|
||||
rpr_xml = copy.deepcopy(rpr) if rpr is not None else None
|
||||
|
||||
# Single-run case
|
||||
if start_run == end_run:
|
||||
run_elem = runs[start_run]._element
|
||||
parent = run_elem.getparent()
|
||||
before_text = runs[start_run].text[:start_offset]
|
||||
after_text = runs[start_run].text[end_offset:]
|
||||
insert_pos = list(parent).index(run_elem)
|
||||
|
||||
# Before-text run
|
||||
if before_text:
|
||||
br = copy.deepcopy(run_elem)
|
||||
br.find(qn('w:t')).text = before_text
|
||||
parent.insert(insert_pos, br)
|
||||
insert_pos += 1
|
||||
|
||||
# w:del
|
||||
del_elem = etree.SubElement(parent, qn('w:del'))
|
||||
del_elem.set(qn('w:id'), str(hash(old_text) % 10000))
|
||||
del_elem.set(qn('w:author'), author)
|
||||
del_elem.set(qn('w:date'), date)
|
||||
del_run = etree.SubElement(del_elem, qn('w:r'))
|
||||
if rpr_xml: del_run.append(copy.deepcopy(rpr_xml))
|
||||
dt = etree.SubElement(del_run, qn('w:delText'))
|
||||
dt.set(qn('xml:space'), 'preserve')
|
||||
dt.text = old_text
|
||||
parent.insert(insert_pos, del_elem)
|
||||
insert_pos += 1
|
||||
|
||||
# w:ins
|
||||
ins_elem = etree.SubElement(parent, qn('w:ins'))
|
||||
ins_elem.set(qn('w:id'), str((hash(new_text) + 1) % 10000))
|
||||
ins_elem.set(qn('w:author'), author)
|
||||
ins_elem.set(qn('w:date'), date)
|
||||
ins_run = etree.SubElement(ins_elem, qn('w:r'))
|
||||
if rpr_xml: ins_run.append(copy.deepcopy(rpr_xml))
|
||||
it = etree.SubElement(ins_run, qn('w:t'))
|
||||
it.set(qn('xml:space'), 'preserve')
|
||||
it.text = new_text
|
||||
parent.insert(insert_pos, ins_elem)
|
||||
insert_pos += 1
|
||||
|
||||
# After-text run
|
||||
if after_text:
|
||||
ar = copy.deepcopy(run_elem)
|
||||
ar.find(qn('w:t')).text = after_text
|
||||
parent.insert(insert_pos, ar)
|
||||
|
||||
parent.remove(run_elem)
|
||||
return True
|
||||
|
||||
# Multi-run case: merge affected runs, then split
|
||||
# (same logic but operates across run boundaries)
|
||||
# ... see session 20260611 for full implementation
|
||||
```
|
||||
|
||||
## Key Notes
|
||||
|
||||
- **w:id must be unique** across all ins/del in the document. Using `hash() % 10000` works for small batches but can collide — use a counter for production.
|
||||
- **rPr must be copied** from the original run to preserve font/size/bold in both del and ins elements.
|
||||
- **xml:space='preserve'** is required on both w:delText and w:t, or Word strips leading/trailing whitespace.
|
||||
- **Paragraph alignment fix** (e.g. missing JUSTIFY): manipulate `w:pPr/w:jc` directly — this isn't a tracked change, just a format correction.
|
||||
|
||||
## Whole-Paragraph Delete & Full-Paragraph Replace (pure zipfile+lxml)
|
||||
|
||||
For **structural restructures** — deleting an entire paragraph, or replacing a whole
|
||||
paragraph's text — operate on document.xml directly and rewrite the zip. Cleaner than
|
||||
python-docx save for multi-paragraph edits (2026-06-16 上海喆航 VS AMOS 管辖异议重构, 5 处改动).
|
||||
|
||||
```python
|
||||
import zipfile, copy, os
|
||||
from lxml import etree
|
||||
W='http://schemas.openxmlformats.org/wordprocessingml/2006/main'
|
||||
def w(t): return f'{{{W}}}{t}'
|
||||
XMLSPACE='{http://www.w3.org/XML/1998/namespace}space'
|
||||
AUTHOR="苌莎莎"; DATE="2026-06-16T12:00:00Z" # author 跟随指示人,见下
|
||||
_id=[3000]
|
||||
def nid(): _id[0]+=1; return str(_id[0]) # 全文唯一计数器,别用 hash()
|
||||
|
||||
def del_para(p):
|
||||
"""整段删除:每个 run 包 w:del + w:t→w:delText,并标记段落标记删除。"""
|
||||
for r in p.findall(w('r')):
|
||||
idx=list(p).index(r); p.remove(r)
|
||||
for t in r.findall(w('t')):
|
||||
t.tag=w('delText'); t.set(XMLSPACE,'preserve')
|
||||
d=etree.Element(w('del')); d.set(w('id'),nid()); d.set(w('author'),AUTHOR); d.set(w('date'),DATE)
|
||||
d.append(r); p.insert(idx,d)
|
||||
# 关键:标记段落标记(paragraph mark)删除,否则接受修订后会留空行
|
||||
ppr=p.find(w('pPr')) or etree.SubElement(p,w('pPr'))
|
||||
rpr=ppr.find(w('rPr')) or etree.SubElement(ppr,w('rPr'))
|
||||
pmd=etree.SubElement(rpr,w('del')); pmd.set(w('id'),nid()); pmd.set(w('author'),AUTHOR); pmd.set(w('date'),DATE)
|
||||
|
||||
def repl_para(p, new_text):
|
||||
"""整段文字替换:旧 run 全部 w:del,新文字一个 w:ins,rPr 取自首个旧 run。"""
|
||||
rpr_t=None
|
||||
for r in p.findall(w('r')):
|
||||
rr=r.find(w('rPr'))
|
||||
if rr is not None: rpr_t=copy.deepcopy(rr); break
|
||||
for r in p.findall(w('r')):
|
||||
idx=list(p).index(r); p.remove(r)
|
||||
for t in r.findall(w('t')):
|
||||
t.tag=w('delText'); t.set(XMLSPACE,'preserve')
|
||||
d=etree.Element(w('del')); d.set(w('id'),nid()); d.set(w('author'),AUTHOR); d.set(w('date'),DATE)
|
||||
d.append(r); p.insert(idx,d)
|
||||
ins=etree.SubElement(p,w('ins')); ins.set(w('id'),nid()); ins.set(w('author'),AUTHOR); ins.set(w('date'),DATE)
|
||||
nr=etree.SubElement(ins,w('r'))
|
||||
if rpr_t is not None: nr.append(rpr_t)
|
||||
nt=etree.SubElement(nr,w('t')); nt.set(XMLSPACE,'preserve'); nt.text=new_text
|
||||
|
||||
# 定位用「接受所有修订后的最终文本」匹配,不要用 run 内的碎片
|
||||
def ptext(p): return ''.join(t.text or '' for t in p.findall('.//'+w('t')))
|
||||
|
||||
# 写回:逐项复制 zip,只替换 document.xml
|
||||
newxml=etree.tostring(root, xml_declaration=True, encoding='UTF-8', standalone=True)
|
||||
tmp=out+'.tmp'
|
||||
with zipfile.ZipFile(src) as zin, zipfile.ZipFile(tmp,'w',zipfile.ZIP_DEFLATED) as zout:
|
||||
for it in zin.namelist():
|
||||
zout.writestr(it, newxml if it=='word/document.xml' else zin.read(it))
|
||||
os.replace(tmp,out)
|
||||
```
|
||||
|
||||
⚠️ **整段删除的 w:del 计数会偏高**:一段 N 个 run → N 个 w:del(每 run 单独包)。
|
||||
5 处改动可能产生 35+ 个 w:del,属正常,不是 bug。
|
||||
|
||||
## 修订 author 跟随指示人(铁律)
|
||||
|
||||
author 署谁 = **谁指示你改这份文书**,不是你自己("小Maggie"):
|
||||
- ShaSha(苌莎莎)发来审核/修订 → `author="苌莎莎"`
|
||||
- Doro 发来 → `author="WB"`
|
||||
- 2026-06-16 教训:先误用 `author="小Maggie"`,被规范纠正为 `"苌莎莎"`。生成前先确认指示人是谁,别用机器人自己的名字。
|
||||
|
||||
## 自动编号链完整性(删段后必查)
|
||||
|
||||
删除带 `numPr` 的段落,或删除其相邻段落,可能打断一级标题的中文自动编号(一、二、三)。
|
||||
删段后用三级映射核验保留下来的 `numId` 项仍正确:numId→abstractNumId→`numFmt`
|
||||
(`chineseCountingThousand` + lvlText `(%1)` = 渲染「(一)(二)(三)」)。详见
|
||||
`docx-format-verification.md`。本会话删的三段均为无 numPr 的正文段,编号链未受影响。
|
||||
|
||||
## Verification After Save
|
||||
|
||||
```python
|
||||
from zipfile import ZipFile
|
||||
from lxml import etree
|
||||
|
||||
with ZipFile('output.docx', 'r') as z:
|
||||
xml = z.read('word/document.xml')
|
||||
root = etree.fromstring(xml)
|
||||
ns = {'w': 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'}
|
||||
ins = root.findall('.//w:ins', ns)
|
||||
dels = root.findall('.//w:del', ns)
|
||||
print(f"{len(ins)} insertions, {len(dels)} deletions")
|
||||
for i in ins:
|
||||
for t in i.findall('.//w:t', ns):
|
||||
print(f" INS: '{t.text}'")
|
||||
```
|
||||
|
||||
### 模拟「接受所有修订」验证最终成稿(vision 工具不可用时的兜底)
|
||||
|
||||
当 vision 工具报 `No LLM provider configured` 时,不靠肉眼看 PDF,改用程序化核验:
|
||||
1. **模拟接受全部修订**:遍历段落,收集所有 `w:t`(含 `w:ins` 内的),跳过 `w:delText`;
|
||||
`pPr/rPr/del` 标记的整删段且接受后无文字的,丢弃。打印最终文本逐段读一遍逻辑。
|
||||
2. **PDF 文字层零乱码检测**:LibreOffice 转 PDF → PyMuPDF `get_text()` →
|
||||
`re.findall(r'[\ufffd]', full)` 数量应为 0。
|
||||
3. **关键内容 in 核查**:用 `"关键短语" in full_text` 逐项断言删的删了、留的留了、新写的在。
|
||||
|
||||
⚠️ **连续字符串核查必须打在「接受修订后」文本上,不能打在 PDF 文字层上(2026-06-16 实测陷阱)**:
|
||||
- 修订模式下 PDF 把删除文本(带删除线的旧字)和新增文本**交织渲染**在一起。对 PDF 文字层做
|
||||
`"新论证短语" in pdf_text` 会**假阴性**——本会话 5 处改动里有 3 处在 PDF 核查中报 ✗,
|
||||
实则全部改对了。
|
||||
- 正确做法:核查 1(in 断言)的语料 = 上面第 1 步生成的「跳过 delText、保留 ins」的最终文本,
|
||||
**不是** `pdftotext` 的输出。PDF 文字层只用于核查 2(零乱码 / 页数)。
|
||||
- 报 ✗ 时先换语料重核,别急着改文件——很可能文件是对的,是验证方法用错了层。
|
||||
Reference in New Issue
Block a user