## 现象 PR #225 引入的 `chapters_error` 落盘字段(llm_status.json,人工排障用,API/页面零引用)存在一个过期诊断边角:章节层**被触碰**但结果为 `skipped_short` / `skipped_no_timeline` / `disabled` 的轮次,本轮 error=None,按「None=不更新」合并语义,上一轮 FAILED 写入的旧 error 会与新状态共存: ``` chapters_status=skipped_short + chapters_error=<上一次失败原因> # 互相矛盾 ``` generated 转换已由 GENERATED⇒pop 不变式覆盖(cache_manager.py 单点),未触碰层由 llm_ops 回填语义覆盖(I9),唯独「触碰了但 skipped/disabled」这条路径两头都不管。 ## 复现链 上一轮 FAILED(error 落盘)→ 下一轮重处理时校对产出文本低于 min_chapters_threshold(或章节配置改 disabled、结构化丢失)→ effective_chapters_status=skipped_short(非 None)→ final_chapters_error=本轮值 None → save_llm_status 不写不清 → 旧 error 残留。 ## 修复方向(验收 consult claude-opus 建议 + 主脑细化) cache_manager 的 pop 条件从 `chapters_status == "generated"` 放宽为「非 None 且非 failed 的新状态统一 pop 旧 error」——failed 才有 error 共存权。附带收益:顺带清洗 B 上线前遗留的存量矛盾状态。 ## 影响面 诊断字段自相矛盾,不影响 chapters_status 判定(视图/历史只读 status),不阻塞 #225 合并(claude-opus 验收 consult 2026-10-10 裁决维持继续)。
Activity
zj1123581321 commentedon Oct 12, 2026
分诊更新(2026-10-12)
当前主干生产 save_llm_status 实测:FAILED→skipped_short / skipped_no_timeline / disabled 后磁盘仍保留旧 chapters_error。保留 P2。应在权威 writer 维护 status/error 一致;未触碰章节仍保留诊断,不向各调用方散补丁。拟独立增量 A,待设计确认,尚未修复。
基线:
c7dc7fcbb1727057ecf2c4d8c3f38e34d3136f72。证据初稿:分支card/vta-261012-triage-audit的docs/sessions/261012-issue-triage/triage.md;设计仍在收紧,未激活产品修复卡。zj1123581321 commentedon Oct 12, 2026
分诊设计定稿
四张独立修复增量及验收边界已发布,分诊证据位于同提交的 triage.md。#226/#204/#212/#216 为待修;#211/#191 待取证;#199 外部阻塞;#227 已通过主干基线7条回归并关闭。
本次只分诊、打标、形成设计,未修改产品代码、未部署。待确认设计后再形成正式实现卡。
zj1123581321 commentedon Oct 12, 2026
Opus复核:降级原四卡设计(2026-10-12)
Opus复核后收紧方案:只在 generated / skipped_short / skipped_no_timeline / disabled 等非失败终态清旧 chapters_error;pending 是进行中而非终态,保留原有诊断合并语义。本次尚未证实真实生产是否会写 pending,但不应为修跳过状态而改变该已有语义。实现测试应覆盖 FAILED→pending 保留、FAILED→各正常终态清除、未触碰层保留。仍待修,尚未实现。
原设计提交0fd2fd67是此前方案;上述收紧意见优先,待用户确认后再修订设计和正式派卡。当前没有产品代码改动或部署。
zj1123581321 commentedon Oct 12, 2026
本轮最小修复已进入草稿 PR: #235 。只调整
save_llm_status的清诊断条件,没有新增状态、配置或抽象。generated / skipped_short / skipped_no_timeline / disabled;pending / failed / 未触碰章节保持原合并语义。docs/sessions/261012-issue-fixes/reviews/chapter-error-verdict.md。当前仍在验收及 CI 阶段,草稿检查的绿色不代表完整主审通过;暂不关 issue。未合并、未部署,不声称生产存在 pending 写入事故。
zj1123581321 commentedon Oct 12, 2026
已正常交付:PR #235 在 ready 全部门禁通过、pr_merge_ready=READY 后,租约内按精确 head
d3648c67d4205f43ae6707ca95fdc06391127ce6合并。默认分支权威合并 SHA 为a7eb68e7e017d3bbee94f9461ecaf58f037c67bd。CacheManager.save_llm_status:四个正常终态 generated / skipped_short / skipped_no_timeline / disabled 清除旧 chapters_error;pending / failed / 未传状态保留,失败可写入新错误。没有新增 schema、框架、重试或配置,没有宣称 pending 生产事故。没有执行部署操作或生产探活,生产状态未探测。关闭本项过期诊断问题。