fix(report): keep actionNotes within the document cap at assemble
Independent Staging Quality Gate / validate (push) Successful in 12m42s
Independent Staging Quality Gate / publish (push) Successful in 1m56s

Five-theme personal_full still failed final parse after the charts cap
fix because writer output exceeded actionNotes.max(24). Truncate at
assemble; do not raise the schema cap.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-04 22:22:38 +08:00
co-authored by Cursor
parent d4627a5019
commit a75929c139
6 changed files with 43 additions and 8 deletions
+2 -2
View File
@@ -8270,8 +8270,8 @@
- 用户现象:报告中心显示生成失败。错误码 `report_schema_invalid`,日志 `innerReason=final_parse_rejected`。五章其实都已写完。
- 触发条件:accepted 生时、默认五主题、staging @ `e27d5dc5`。干净 attempt 1 与此前被租约打断后恢复的 attempt 都复现。
- 根因:`c2f23131``CHART_IDS` 扩到 9 个(加 D6/D8/D30),文档 v2 仍 `charts.max(6)`。分盘提取修好后,五主题装配 9 张图,终稿 parse 拒绝。四主题一直 ≤6 所以从未踩中。
- 修复:v2 `charts.max(CHART_IDS.length)`JSON Schema / Python 合同同步;装配允许集改为 `CHART_IDS``final_parse_rejected` 日志增加 `parsePaths`(仅 path + code)。
- 验证:合同测试 9 图过 parse;五主题分章夹具 READY四主题不回归;超限仍 `too_big`。staging 真实 standard personal_full 待任务 3
- 修复:v2 `charts.max(CHART_IDS.length)`JSON Schema / Python 合同同步;装配允许集改为 `CHART_IDS``final_parse_rejected` 日志增加 `parsePaths`(仅 path + code)。装配把 `actionNotes` 截到合同上限 24,不放宽 schema。
- 验证:合同测试 9 图过 parse;五主题分章夹具 READY每章 6 条行动仍 READY 且 notes=24。staging @ `d4627a50` request `31025c49`:五章 ready 后 `parsePaths=actionNotes/too_big`(charts 已不是原因)。截断修复待再部署
- 防复发:上限必须绑定 `CHART_IDS.length`,不得再写裸 6/9。扩枚举必须同时改 Zod / JSON Schema enum / Python `CHART_IDS`。终稿失败必须带 parse path。
- 相关记录:BUG-526、BUG-534;引入半拉子改动的提交 `c2f23131`
- 复发自:无