case.yaml v4.0 字段字典(唯一权威契约)
版本: 4.0(2026-08-14 定稿) 权威声明:本文件是 case.yaml 的唯一字段契约。new-case 模板生成、case_store 引擎校验、M4 存量迁移、case-dashboard 渲染,一律以本文为准;其他 skill 引用版本号,不复制内容。 上位设计:消费项目 SuitAgent《case-dashboard 与数据真值统一方案》v1.6(§3 数据真值规范,决策 #045/#046)。
0. 设计原则
- 状态与叙事分离:case.yaml 只存可计算状态;案情细节在
<案件ID>案件信息.md(叙事文档),经上下文.叙事文档指针关联。 - 字段准入:每个字段必须标注消费者(dashboard / agent / lawyer / new-case / case_store),无消费者不收录。
- 人工覆盖保护:行级
source: user|ai;AI 永不覆写 source=user 的行;生命周期状态=已结案仅手工标记;程序阶段锁定=true时 AI 不得改写程序阶段。 - 数据卫生:
- 日期一律
YYYY-MM-DD(模糊年份允许YYYY-MM);禁止2025年10月、待定等混排 - 占位符统一
null,说明写进对应备注字段;禁止[待确认]、__________、空串冒充 - 枚举值纯净不带 emoji(⭐/✅ 等由展示层添加)
- 金额为数值(默认 CNY),不带单位、不带千分位
- 禁止绝对路径;所有路径相对 case.yaml 所在目录
- 日期一律
- 行键(稳定身份):列表行的身份用业务键,不用数组下标——AI 重排后人工修改不错位。
| 列表 | 行键 |
|---|---|
| 任务 | 存储字段 id(task_001 递增,创建后不变) |
| 法定期限 | 类型|名称 复合键(不存储,派生) |
| 案件时间线 | 日期|事件类型 复合键 |
| 当事人(我方/对方) | 姓名|角色 复合键 |
| 证据索引 | 名称 |
| 索赔与评估 | 项目 |
| 更新历史 | 追加式,无行键 |
状态三态(全库统一,替代各格式旧值):todo / in_progress / done。
1. 顶层结构总览(16 节 × 层级 × 消费者)
层级说明:core = 一切业务领域通用;对抗性 = 诉讼及商标异议/专利无效等对抗性非诉通用;litigation = 诉讼专用(非诉项目这些节为空或省略)。
| 顶层节 | 类型 | 层级 | 消费者 |
|---|---|---|---|
| meta | map | core | 全部 |
| 案件基本信息 | map(含 关联案件[]) | core | dashboard、lawyer |
| 当事人与代理 | map(含三个列表) | core | agent、lawyer |
| 法定期限 | list | 对抗性 | dashboard、agent |
| 任务 | list(唯一任务真源) | core | 全部 |
| 案件时间线 | list | core | dashboard、lawyer |
| 开庭与听证 | list | litigation | dashboard、lawyer |
| 证据索引 | list | 对抗性 | agent |
| 费用信息 | map(支出 + 索赔列表) | core | lawyer |
| 争议焦点与法律研究 | map(两个索引列表) | litigation | agent、dashboard |
| 审级记录 | list | litigation | dashboard、lawyer |
| 工时统计 | map(仅聚合) | core | lawyer |
| 上下文 | map(相对路径指针) | core | agent |
| 扩展信息 | map(类型档案插件容器) | core | 按 profile |
| 同步 | map | core | case_store |
| 更新历史 | list(追加式) | core | 审计 |
2. 字段字典
2.1 meta
| 字段 | 类型 | 必填 | 说明 / 枚举 | 消费者 |
|---|---|---|---|---|
| 模板版本 | str | ✅ | 固定 "4.0" |
case_store |
| 业务领域 | enum | ✅ | 诉讼|商标|专利|咨询|其他非诉——类型档案路由键(§7),决定哪些节生效、扩展信息里挂哪个 profile |
全部 |
| 案件短码 | str | ✅ | 6 位 YYMMNN + 可选 -后缀(同日多案/一案拆分用,如 260101、250609-A),与目录名前缀一致——终结"案件标识/编号/案号"三词踩踏(DEC-009:日期前缀是建档日期非唯一 ID,撞车时加字母后缀) |
全部 |
| 目录标识 | str | ✅ | 案件目录名全称 | new-case、case_store |
| 律所案号 | str|null | 律所内部编号 | lawyer | |
| 法院案号 | str|null | (2026)苏XXXX民初XXXX号 格式;立案前为 null |
dashboard、lawyer | |
| 创建日期 | date | ✅ | 律所建档日 | lawyer |
2.2 案件基本信息
| 字段 | 类型 | 必填 | 说明 / 枚举 | 消费者 |
|---|---|---|---|---|
| 案件名称 | str | ✅ | 全称(如"张三与李四民间借贷纠纷案") | 全部 |
| 案由 | str | ✅ | 如"共有纠纷" | dashboard、agent |
| 案件类型 | enum | ✅ | 民事|刑事|行政|执行|仲裁 |
dashboard |
| 管辖法院 | str|null | lawyer | ||
| 生命周期状态 | enum | ✅ | 委托洽谈|进行中|已结案;已结案仅手工标记,任何自动写回不得设置或清除 |
dashboard、lawyer |
| 程序阶段 | enum | ✅ | 诉讼:诉前准备|一审|二审|再审|执行|仲裁,刑事加 侦查|审查起诉;非诉领域的阶段枚举由其类型档案定义(§7);解析顺序:锁定值 > 手填值 > 规则推断(由时间线事件推断) |
dashboard、agent |
| 程序阶段锁定 | bool | ✅ | 默认 false;true 时 AI 不得改写程序阶段 | case_store |
| 律所立案日期 | date | ✅ | lawyer | |
| 法院立案日期 | date|null | dashboard | ||
| 预计结案 | date|null | lawyer | ||
| 标的额 | number|null | 数值 CNY | dashboard、lawyer | |
| 标的额备注 | str|null | 计算口径等说明 | lawyer | |
| 关联案件[] | list | 跨案关联(行键=案号或目录):{关系: 前置案件|后续案件|子案件|平行程序, 案号或目录: str, 说明: str, source}(材料盘点确认:前置案件判决作证据、撤诉后另诉、并行调解子程序均为真实形态) |
agent、dashboard |
2.3 当事人与代理
我方当事人[] / 对方当事人[],行键 姓名|角色:
| 字段 | 类型 | 必填 | 说明 | 消费者 |
|---|---|---|---|---|
| 姓名 | str | ✅ | agent、lawyer | |
| 角色 | str | ✅ | 原告/被告/第三人/申请人/被申请人… | agent |
| 类型 | enum | ✅ | 自然人|法人|非法人组织 |
agent |
| 证件号码 | str|null | 本地档案持有;绝不入 skill/仓库 | lawyer | |
| 联系方式 | str|null | lawyer | ||
| 住址 | str|null | lawyer | ||
| 法定代表人 / 职务 | str|null | 法人时用 | lawyer | |
| 扩展信息 | map | 领域自由扩展:与死者关系、与患者关系、继承人顺序 等 |
agent | |
| source | enum | ✅ | user|ai |
case_store |
律师[]:姓名(✅)、角色(主办律师|协办律师)、执业证号、所属律所、source。
其他诉讼参与人[](行键 姓名|角色):{姓名: str✅, 角色: str✅(第三人/对方代理人/鉴定人/证人等), 备注: str|null, source}——覆盖材料盘点中真实出现的追加第三人、对方代理律师(判决书/传票所载)。
2.4 法定期限(list,v3.0 按名索引 dict → 列表化)
| 字段 | 类型 | 必填 | 说明 | 消费者 |
|---|---|---|---|---|
| 类型 | enum | ✅ | 应诉|举证|上诉|执行|诉讼时效|其他 |
dashboard |
| 名称 | str | ✅ | 展示名(如"上诉期限";同类型多审级用名称区分,如"二审举证期限") | dashboard |
| 天数 | number|null | 法定天数;跨年期限换算为天(不再 days/years 并存) | agent | |
| 起算日期 | date|null | Scheduler 计算后落盘 | agent | |
| 截止日期 | date | ✅ | 告警基准 | dashboard |
| 状态 | enum | ✅ | 三态 | dashboard |
| 法律依据 | str|null | 条文与起算规则原文(如"民诉法第171条,判决送达之日起15日") | agent | |
| 来源文件 | str|null | 相对路径——期限所依据的文书(传票/判决书等),看板可一键打开(M6-2,可选) | dashboard | |
| 抵消标记 | str|null | 后续文书使本期限失效时填写原因(如"已由某解除裁定抵消");非 null 时告警不再显示 | dashboard | |
| source | enum | ✅ | case_store |
2.5 任务(list,唯一任务真源)
| 字段 | 类型 | 必填 | 说明 | 消费者 |
|---|---|---|---|---|
| id | str | ✅ | task_NNN 递增,创建后不变(行键) |
全部 |
| 名称 | str | ✅ | 全部 | |
| 状态 | enum | ✅ | 三态 | dashboard |
| 优先级 | enum | ✅ | high|medium|low |
dashboard |
| 截止日期 | date|null | dashboard | ||
| 负责人 | str|null | 律师名或 agent 名(DocAnalyzer 等) | agent | |
| 描述 | str | ✅ | 一句话;长说明进叙事文档 | 全部 |
| 关联文件 | str|null | 相对路径(如 06 - 📝 法律文书/xxx.docx)——看板/待办流 📄 一键打开对应文书(M6-2,可选) |
dashboard | |
| source | enum | ✅ | case_store |
2.6 案件时间线(list)
| 字段 | 类型 | 必填 | 说明 | 消费者 |
|---|---|---|---|---|
| 日期 | date | ✅ | 精确到日;仅知年份用 YYYY-MM |
dashboard |
| 事件类型 | enum | ✅ | 律所立案|法院立案|起诉|送达|答辩|举证|开庭|判决|调解|执行|鉴定|其他 |
dashboard、agent(阶段推断依据) |
| 事项 | str | ✅ | 一句话描述 | lawyer |
| 重要程度 | int | ✅ | 1–3(3 最高;展示层转 ⭐) | dashboard |
| 来源文件 | str|null | 相对路径(如 08 - 🏛️ 法院送达/xxx.pdf) |
agent | |
| 状态 | enum | ✅ | 三态(未发生已登记的预期节点用 todo) | dashboard |
| source | enum | ✅ | case_store |
2.7 证据索引(list,明细留 05 目录)
| 字段 | 类型 | 必填 | 说明 | 消费者 |
|---|---|---|---|---|
| 名称 | str | ✅ | 行键 | agent |
| 类型 | enum | ✅ | 书证|物证|视听资料|电子数据|证人证言|鉴定意见|勘验笔录 |
agent |
| 来源 | str|null | 原告提供/法院调取/被告提交… | agent | |
| 证明目的 | str | ✅ | agent | |
| 状态 | enum | ✅ | todo=待收集 / done=已收集 | dashboard |
| 目录位置 | str|null | 相对路径 | agent | |
| 取证方式 | str|null | 时间戳/录屏/公证/公证码等(可信时间戳 .tsa、批量取证截图为真实形态) | agent | |
| source | enum | ✅ | case_store |
2.8 费用信息(二域:支出成本 + 索赔评估)
支出(map):律师费 / 诉讼费 / 鉴定费 / 其他费用,每项 {金额: number|null, 状态: 已确定|待确定};律师费另含 计费方式: 固定|风险|阶段(风险代理、分阶段收费为真实形态)——终结对象/扁平串/markdown 表三种结构并存。
索赔与评估(list,医疗损害等索赔导向案件用,行键 项目):项目(✅)、金额(number|null)、计算方式(str|null)、备注(str|null)。
2.9 争议焦点与法律研究(仅索引,叙事留案件信息.md)
- 争议焦点[]:名称(✅,行键)、状态(三态:todo 待识别 / in_progress 分析中 / done 已分析)
- 法律研究[]:主题(✅,行键)、状态(三态)
2.10 工时统计(聚合 + 工作记录明细)
| 字段 | 类型 | 说明 | 消费者 |
|---|---|---|---|
| 总工时 | number | 全部工作记录时长之和(小时;由 log-work 维护,勿手改) | lawyer、dashboard |
| 工作记录[] | list | 结构化工时真值:{日期: date✅, 时长: number|null✅(小时;null=待律师补录,AI 不得臆造时长,总工时不计入), 内容: str✅, 律师: str|null, 关联任务: task_id|null, 关联文件: str|null, source}——计费依据与"何时做了什么"的机器可读落点;AI 协作完成的工作在收尾时经 log-work 自动记录(内容/产出文书/关联任务自动携带);工时记录.md 仅为手工便签/打印件,不承担真值 |
lawyer、dashboard |
工作记录行键 =
日期|内容;新增经log-work命令(自动重算总工时)。
2.11 上下文(指针,全部相对路径)
| 字段 | 类型 | 说明 | 消费者 |
|---|---|---|---|
| 叙事文档 | str | ../案件信息.md(DEC-011/012:固定名无编号前缀,案件根目录) |
agent |
| 工时记录 | str|null | 工时记录.md(与 case.yaml 同在 00 目录) |
agent |
| 关键报告 | list[str] | 02/10 目录代表产出相对路径 | agent |
2.12 同步
| 字段 | 类型 | 说明 | 消费者 |
|---|---|---|---|
| 最后同步时间 | datetime | case_store 最后一次写入时间 | case_store |
| 材料指纹 | str|null | 案件目录 mtime:size 聚合指纹(M6 审计用;Phase 1 可为 null) | case_store |
| 状态过期 | bool | 材料变更而状态未更新时置 true(看板黄点提示;不强制改值) | dashboard |
2.14 审级记录(litigation,行键 = 审级)
一案跨多审级时每审级一行(借鉴 CaseBoard case_instances 的简化):{审级: enum✅(一审|二审|再审|执行|仲裁), 法院案号: str|null, 承办法官: str|null, 法院联系方式: str|null, 立案日期: date|null, 结案日期: date|null, 结案方式: str|null(判决|调解|撤诉|裁定), source}。meta.法院案号 为当前审级案号的快捷方式,二者不一致时以本表为准;法官/助理/书记员、法院电话(判决书与传票中的真实信息)落此表。
2.15 开庭与听证(litigation,行键 = 日期|类型|次序)
{日期: date✅, 类型: enum✅(开庭|听证|谈话|质证), 地点: str|null, 法庭: str|null, 事项: str✅, 次序: int|null(第几次), 来源文件: str|null, 状态: enum✅(todo=已排期未开|done=已进行), source}——材料盘点确认:多轮庭审跨月进行、听证传票含完整时间/地点/法庭号为真实形态;M5 月历视图的直接数据源。时间线仍记一条对应事件(事件类型=开庭),明细在本表。
2.16 扩展信息(core,类型档案插件容器)
扩展信息: {} # 非诉/领域插件的命名空间,如:{商标: {申请号: ..., 类别: [...], 续展截止: ...}, 专利: {...}}规则见 §7:容器机制现在定型,具体字段惰性定义(某类非诉项目实际接入时才立档案,遵循字段准入原则)。litigation 案件此节保持空 map 或省略。
2.17 更新历史(追加式)
{日期: date, 操作者: str(case_store/律师名/agent 名), 动作: str, 细节: str}——统一五种旧字段集(action/更新原因/备注/版本 语义并入 动作/细节)。
3. v3.0 → v4.0 章节处置表(模板升级与 B 类直迁依据)
| v3.0 章节 | v4.0 处置 |
|---|---|
| 案件基本信息(含当事人信息、费用信息) | 拆分为 案件基本信息 / 当事人与代理 / 费用信息;标识四分、状态二分 |
| 案件时间线.关键节点 | 案件时间线(字段统一,日期规范化) |
| 法定期限管理(按名 dict) | 法定期限 list(补起算日期/天数/法律依据/抵消) |
| (无) | 新增 任务(吸收独立 待办事项.md,其降级为视图说明) |
| 争议焦点与法律研究 | 保留为索引(争议焦点列表/法律研究摘要/法条检索/判例研究 → 状态归并三态;细节留叙事文档) |
| 工时统计(目标制/分类统计) | 精简为 总工时 聚合;明细留工时记录.md |
| 工作记录摘要 / 进展摘要 | 删除(派生视图,由 dashboard 聚合生成,不落库) |
| 风险预警 | 删除(由期限数据实时派生:逾期红/临期橙) |
| 案件文档状态 | 删除(由文件系统扫描派生) |
| 项目管理(里程碑/预算跟踪) | 里程碑→任务+时间线;预算跟踪→费用信息 |
| 更新历史 | 保留,字段统一四元组 |
| 说明块 | 删除(元信息由 meta + 本契约承担) |
4. 存量格式 → v4.0 映射要点(M4 迁移依据)
| 来源 | 关键映射 |
|---|---|
| A(v2.1.0 英文) | case_name→案件名称;case_status→生命周期状态;current_stage→程序阶段;tasks[]→任务(id 直接沿用);legal_deadlines→法定期限(补类型归类);important_dates→案件时间线(category→事件类型尽力映射);双 yaml 案件(A 类特有)先合并再映射 |
| B(v3.0 中文) | 按 §3 处置表直迁;时间线节点 执行状态→任务/时间线状态(优先映射已有状态) |
| C(自创中文) | 工作进度三列表→任务(列表归属即状态);诉讼时效→法定期限(类型=诉讼时效);证据清单→证据索引;费用评估.预计赔偿/律师费方案→索赔与评估;案件关键事实→叙事文档(不进 yaml) |
| D(markdown) | 任务清单 checkbox→任务;时间线表→案件时间线(日期规范化);诉讼请求/主要证据→叙事文档/证据索引 |
| none | 仅生成 meta + 案件基本信息 骨架,basic_info 标"待律师/AI 补充" |
迁移安全:--dry-run 输出前后 diff;原文件改 .legacy 归档不删;迁移前 git tag。
5. 校验规则(case_store validate 依据)
- 必填字段齐全且类型正确;枚举值在 §2 定义范围内
- 所有日期匹配
^\d{4}-\d{2}(-\d{2})?$;金额为数值 - 每个列表行含合法 source;任务 id 全局唯一
程序阶段锁定=true时记录最后修改者为 user- 无绝对路径(
^/或盘符开头即报错) - 生命周期状态=已结案 的案件:提示确认(只应经手工操作产生)
6. 最小完整示例
模板版本: "4.0"
meta:
案件短码: "260101"
目录标识: "260101 张三与李四民间借贷纠纷"
律所案号: null
法院案号: null
创建日期: "2026-01-01"
案件基本信息:
案件名称: "张三与李四民间借贷纠纷案"
案由: "民间借贷纠纷"
案件类型: "民事"
管辖法院: "某某市某某区人民法院"
生命周期状态: "进行中"
程序阶段: "诉前准备"
程序阶段锁定: false
律所立案日期: "2026-01-01"
法院立案日期: null
预计结案: null
标的额: 500000
标的额备注: "借款本金及利息"
当事人与代理:
我方当事人:
- 姓名: "张三"
角色: "原告"
类型: "自然人"
证件号码: null
联系方式: null
住址: null
法定代表人: null
扩展信息: {}
source: "user"
对方当事人:
- 姓名: "李四"
角色: "被告"
类型: "自然人"
证件号码: null
联系方式: null
住址: null
法定代表人: null
扩展信息: {}
source: "user"
律师:
- {姓名: "杨卫薪", 角色: "主办律师", 执业证号: null, 所属律所: null}
法定期限: []
任务:
- id: "task_001"
名称: "起草起诉状"
状态: "in_progress"
优先级: "high"
截止日期: null
负责人: "Writer"
描述: "借款返还之诉"
source: "ai"
案件时间线:
- {日期: "2026-01-01", 事件类型: "律所立案", 事项: "接受委托建档", 重要程度: 2, 来源文件: null, 状态: "done", source: "user"}
证据索引:
- {名称: "借款合同", 类型: "书证", 来源: "原告提供", 证明目的: "借贷关系成立", 状态: "done", 目录位置: "05 - 📎 证据材料/", source: "user"}
费用信息:
支出:
律师费: {金额: null, 状态: "待确定"}
诉讼费: {金额: null, 状态: "待确定"}
鉴定费: {金额: null, 状态: "待确定"}
其他费用: {金额: null, 状态: "待确定"}
索赔与评估:
- {项目: "借款本金", 金额: 500000, 计算方式: null, 备注: null}
争议焦点与法律研究:
争议焦点:
- {名称: "利息约定效力", 状态: "in_progress"}
法律研究: []
工时统计: {总工时: 0}
上下文:
叙事文档: "../案件信息.md"
工时记录: null
关键报告: []
同步: {最后同步时间: "2026-08-14T22:00:00", 材料指纹: null, 状态过期: false}
更新历史:
- {日期: "2026-08-14", 操作者: "new-case", 动作: "创建档案", 细节: "v4.0 模板生成"}注:示例中顶层
模板版本与meta分立仅为示意——实现时模板版本归入 meta 首字段(见 §2.1),yaml 键序以 new-case 模板为准。
7. 类型档案(Profile)与非诉扩展机制
问题:律师业务不止诉讼(new-case 已有 商标/专利/咨询 预设),但各领域字段差异大(商标要申请号/类别/续展,专利要年费/审查阶段),诉讼核心字段(审级/开庭/争议焦点)对非诉无意义。
机制(三层,借鉴 CaseBoard 的 case_type 二分 + 我们的字段准入原则):
- core 层(§1 表标注 core/对抗性的节):一切案件必填——meta(含 业务领域 路由键)、案件基本信息(生命周期状态通用;程序阶段按档案取枚举)、当事人与代理(我方=客户方)、任务、时间线、费用、上下文、扩展信息、同步、更新历史。
- 类型档案:每个非诉领域的专属字段定义为其档案,落
case-progress/references/profiles/<领域>.md(如trademark.md),内容 = 该领域的 扩展信息.命名空间 字段表 + 程序阶段枚举 + 额外节定义;惰性立项——某领域第一个真实项目接入 case.yaml 时才创建档案,字段必须逐一过字段准入原则(有消费者才收录),不做投机设计。 - 配套演进:new-case 对应预设升级为生成 core +
扩展信息.<领域>骨架;case_store 的 validate 按业务领域加载对应档案校验;dashboard 对未知领域节做通用渲染(key-value 表格降级)。
接入流程(以商标为例):新建商标项目(new-case trademark 预设)→ 发现无 trademark 档案 → 按该项目真实材料起草 profiles/trademark.md(走本 schema 的评审)→ new-case 模板补骨架 → 完成。存量诉讼案件不受影响(业务领域=诉讼,litigation 节生效)。
8. 材料盘点驱动的增补记录(2026-08-14,v4.0 同日未发布增补)
对 8 个真实案件目录全量盘点(逐案证据与案号留消费项目私有仓库,不入本公开契约)+ CaseBoard 字段对照后的增补:新增节:关联案件[](前置案件作证据/撤诉后另诉/并行调解子程序)、审级记录[](多审级多案号)、开庭与听证[](多轮庭审/听证传票含时间地点法庭号)、扩展信息(非诉容器)、其他诉讼参与人[](追加第三人/对方代理人);字段增补:meta.业务领域、程序阶段加 侦查/审查起诉(刑事案件)、律师费.计费方式(风险代理/分阶段)、证据索引.取证方式(可信时间戳)。刻意不入库(保持状态/叙事/文件三分离):鉴定材料与音视频文件的组织(目录治理)、送达与邮寄凭证(文件级)、IDLE_HANDOFF 自动化状态(idle-task-runner 运行时)、执行追踪与邮寄记录(CaseBoard 有,当前无真实材料需求,留给 profile 惰性定义)。
变更记录
| 日期 | 版本 | 变更 |
|---|---|---|
| 2026-08-14 | 4.0 | 初版定稿:13 顶层节字段字典、行键/source 规则、v3.0→v4.0 章节处置、存量映射、校验规则、最小示例 |
| 2026-08-14 | 4.0(增补,未发布不另立版) | 8 案件材料盘点 + CaseBoard 对照:新增 关联案件/审级记录/开庭与听证/其他诉讼参与人/扩展信息 五节与 业务领域/计费方式/取证方式/刑事阶段 字段;§7 类型档案与非诉扩展机制;§1 表加层级列(16 节) |
| 2026-08-16 | 4.0(增补二,可选字段向后兼容) | M6-2 文书关联:任务.关联文件、法定期限.来源文件(均可选,相对路径,看板 📄 打开) |
| 2026-08-16 | 4.0(增补三,可选列表向后兼容) | 工时:工时统计新增 工作记录[](日期/时长/内容/律师/关联任务/关联文件/source)为结构化真值,md 降为便签;log-work 命令维护并重算总工时 |