New reports request reader_main from upstream origin/main 23b9609e. KP and transit no longer copy an empty vars() dict, solar returns keep birth_asc_sign_idx, and ordinary projection deletes internal lines whole.
4.4 KiB
4.4 KiB
PROGRESS · 报告正文换成读者版(2026-09-25)
结论
T1–T7 已在 codex/report-reader-main-20260924 完成。没有推 staging。没有登录浏览器,没有声称生成过真实用户报告。
基线与预检
- 分支
codex/report-reader-main-20260924,开工 HEAD514951d7,跟踪origin/staging。 - 预检:Anaconda Python 3.11.7 运行
scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45。远端verified,碎片扫描和适配器诊断成功。focused tests 失败 1 条:.workbuddy/skills/jyotish-vedic-astrology镜像路径不存在。没有制造该目录。预检整体 fail,不记通过。这是台账里已有的镜像断言,不是新类错误。 - 上游:
git -C G:\Ferti\yinduzhanxing fetch origin成功。origin/main实际是23b9609e330dbee70a4725bdc222b125d9b0e39f,不是任务书的19195f6e。f3b5196f是其祖先。读者版按23b9609e引入。没有改上游工作区。
任务
| 项 | 结果 |
|---|---|
| T1 读者版 | 完成。scripts/pl9_reader_export.py 整段引入 _render_pl9_user_markdown、render_pl9_parity_markdown 及其读者版闭包。缺省 edition 仍是参考版。pl9_ai_density 依赖不在读者版闭包里,按让步 1 未引入。 |
| T2 生成链 | 完成。personal-report-longform-generate.ts 请求 edition: "reader_main"。版本 pl9_personal_long_report.v3。 |
| T3 自加泄漏 | 完成。结论等级规则、英文 boundary、不可用节的原始 error 都不再进入参考版。空数据节整节不输出。 |
| T4 KP / transit | 完成。_copy_call_namespace 不再依赖空的 vars()。虚构盘 cmd_full_reading 上 KP 与三项 transit 不是 blocked。 |
| T5 Muntha / Year Lord | 完成。返照结果写回 birth_asc_sign_idx。2024/2026/2028 的 Muntha 与 Year Lord 不恒定。一侧 blocked 不判冲突。 |
| T6 投影 | 完成。内部词删整行;删表连同紧邻说明。新增 PL9 词进入 ordinaryOutputLeaks。英文整段用连续 12 个英文单词,避免误伤行星名。读者版 fixture 命中为 0。 |
| T7 记录 | 完成。BUG-1026/1027/1028 仍空,已使用。1023–1025、1030 未占用。 |
断言三栏
| 位置 | 原值 | 新值 | 原因 |
|---|---|---|---|
personal-report-density-retry.test.ts 普通投影 sha |
01cc1e03c5adca2833e014156e1162fff12e5cb336e4484c5871859cd878acd7 |
f3aeb8f4b09ba0a78af4ab5e7aee4db32d7499b8e6b1488f2925b35fd91750b9 |
原 sha 锁的是截断后的泄漏正文 |
report-export-blocks.test.ts LF 下载 sha |
3c52e8bfcfcb3ce3852bd5323867a69bc47d0f9aa821a34692172e7d61c6bcb8 |
b7f6947f6ae6f82e4a972be3c1f2bc50260ed0c5f029847264f40a5ee6ba7b88 |
同上,BUG-1020 当时锁的是投影前的泄漏输出 |
test_report_longform_gaps2.py 空 KP |
必须出现 KP 原始表标题和 kp_lord_sub_unavailable |
整节不出现,且没有 synthetic_kp_failure |
D3。BUG-561 的 blocked 标题把原始 error 打进了正文 |
test_report_longform_parity.py 导航 |
必须含「结论等级规则」 | 该标题不出现 | D3 |
验证
- Python:
pytest tests/test_report_reader_main.py tests/test_annual_tajika_pack.py tests/test_professional_report_reference_api.py tests/test_api_server_growth_contract.py tests/test_report_longform_parity.py tests/test_report_longform_gaps2.py tests/test_repo_privacy_markers.py通过。jyotish_api_server.py增长合同仍绿(未改该文件)。 - 前端:
tsc --noEmit0 错。npm run lint0 error、121 warnings,均不在本单文件;没有为消 warning 改业务代码。点名测试:投影、导出哈希、读者版 fixture、edition: "reader_main"通过。 - 快速门:
scripts/run_quality_gate.py --profile quick退出 1。编译、JSON、能力/碎片审计、BPHS 18/18,以及门禁里的 Python pytest 名单跑完后进入npm test。npm test在本机失败:Skill 运行时 symlinkEPERM,以及 Windows 把迁移 symlink 收成普通文件后的duplicate migration filename。这是已知环境缺口,不是本单断言。不把快速门写成通过。没有单独再跑全量npm test,也没有跑next build。 - Skill 版本不 bump。报告版本升到 v3。
没做
- 未推 staging,未改 workflow,未动 DNS。
- 未做登录浏览器验收。清单在
docs/testing/report-reader-main-20260924.md。 - 未引入
pl9_ai_density附录。 - 旧报告不回填。