个人长报告同盘同日重试改为秒回

完整数据版在版本号明确时复用当天的结果。渲染快捷算法留下但默认关闭,本机只快了大约两成。

Co-Authored-By: Grok (agent loop)
This commit is contained in:
jesse-ux
2026-10-14 06:37:40 +08:00
co-authored by Grok (agent loop)
parent 66cd60081f
commit 69c739fbee
12 changed files with 1334 additions and 35 deletions
+30
View File
@@ -17795,3 +17795,33 @@
- 复发自:无。
- 修复版本:未修复。
## BUG-1335 | 个人长报告的中文出稿和溯源哈希重复劳动
- 状态:investigating
- 首次发现 / 最近更新:2026-10-13 / 2026-10-14
- 来源:issue #61。任务书 `docs/tasks/TASK-report-reference-perf-20261013.md`。
- 现象:同一份个人长报告,中文正文要做多遍全文替换;大运补句的正则没有锚点,在长行上反复试;正文里根本没有的术语也会先编译再替换。溯源哈希对每一条「任意层的某个键」都把整包复制一遍。
- 触发条件:生成完整数据版长报告。不是某一次改坏的,是这些补丁一直往上叠。
- 根因:替换规则一条条追加,没有先问这句话在不在。哈希按排除路径各走一遍,再单独做键名规范化。
- 修复:加了等值的预检、预编译,以及哈希的一次遍历。旧代码留在开关后面。本机屏蔽 PyJHora 后,端到端只快了大约两成,没有达到 35% 的开通门槛,所以开关默认关,读者现在仍走原来的出稿速度。
- 验证:四张虚构盘的中文、英文、事实表、适用性和整份响应逐字节一致。单次哈希中位从 1.115 秒降到 0.402 秒。详见 `docs/testing/report-reference-perf-ab-20261013.md`。
- 防复发:`scripts/research/report_reference_perf_ab.py` 会在字节不一致时失败;`tests/test_report_reference_perf.py` 用真实引擎包对比开关两边和新旧哈希。
- 相关记录:BUG-693、BUG-694、BUG-576、BUG-1336。
- 复发自:无。
- 修复版本:分支 `codex/report-reference-perf-20261013`,默认未开通,尚未合入 staging。
## BUG-1336 | 同一张盘同一天再要长报告,每次都重算
- 状态:fixed-pending-verify
- 首次发现 / 最近更新:2026-10-13 / 2026-10-14
- 来源:issue #61。任务书 `docs/tasks/TASK-report-reference-perf-20261013.md`。
- 现象:同一输入的长报告每次字节都一样,却没有复用。重试或当天再生成,都要再占一次重计算名额,再等十几秒以上。
- 触发条件:完整数据版、markdown。其它格式和精简版不在这条里。
- 根因:咨询卡已经有按键单飞和两天清理,长报告这条生产路径没有接上。
- 修复:只缓存完整数据版的 markdown。键包含规范化后的出生输入、格式、版本、语言、事实表开关和代码版本号。版本号缺失或是 `unknown` 时不缓存。命中字节与现算相同。失败不落盘。同键并发只算一次。重计算名额逻辑没改,命中只占很短时间。
- 验证:四张虚构盘命中中位约 0.06 秒,低于 1.5 秒,且与未命中字节相同。新测试覆盖改日期、语言、事实表、候选窗口、版本号都会错过,json 和开关关闭不落盘,并发只建一次,失败后下次会重算。
- 防复发:`tests/test_report_reference_perf.py` 的缓存用例;A/B 脚本把命中和未命中的 sha256 放在一起比。
- 相关记录:BUG-576、BUG-1304、BUG-1335、BUG-693。
- 复发自:无。
- 修复版本:分支 `codex/report-reference-perf-20261013`,尚未合入 staging。