设计:每项明确承诺对应一个数组对象;不加入摘要、优先级或情绪。未知负责人/日期使用 null,因为缺失本身有意义;空字符串无效。“尽快”保留在依据中,但不能填入 due_date。
结构:action 为必填非空字符串;owner 为必填键,值为字符串或 null;due_date 为必填键,值为 YYYY-MM-DD 字符串或 null;status 为必填枚举;evidence 为必填对象,包含非空 speaker、HH:MM:SS timestamp、≤200 字符的非空 excerpt。键顺序:action、owner、due_date、status、evidence。跨字段规则:completed 必须有说明完成的依据;只有依据含准确日期时 due_date 才能非空。
准确提示语条款:“只返回 UTF-8 JSON 数组。每项明确承诺为一个对象,键依次为 action、owner、due_date、status、evidence。负责人或准确期限未说明时使用 null;不得省略键,也不得把相对时间转换为日期。status 只能是 proposed、confirmed、completed、cancelled。evidence 包含 speaker、HH:MM:SS 时间戳和不超过 200 字符的来源摘录。没有明确承诺时返回 []。不要添加散文或 Markdown。”
有效示例:[{"action":"发送修订预算","owner":"Nora","due_date":null,"status":"confirmed","evidence":{"speaker":"Nora","timestamp":"00:14:22","excerpt":"我会尽快发送修订预算。"}
}]。有效空结果:[]。无效:due_date 为“尽快”违反日期格式;省略 owner 违反必填键。人工仍需判断摘录是否构成承诺,以及 Nora 是否对应正确身份。