fix(report): fill the full-data edition and clear English Han
Add the interpretation pages from fields the engine already computed, project the annual tables the reader prints, and clear English Han on the four measured charts. Patyayini is not implemented. The generate button copy is unchanged. This commit stays on the feature branch and is not pushed to staging.
This commit is contained in:
+25
-9
@@ -17117,19 +17117,19 @@
|
||||
|
||||
## BUG-1272 | 完整数据版英文报告清理后仍含汉字,接口整份撤回英文
|
||||
|
||||
- 状态:investigating
|
||||
- 状态:resolved(本分支 `codex/report-full-data-edition-20261007`,未合入 staging,未上线)
|
||||
- 首次发现 / 最近更新:2026-10-08 / 2026-10-08
|
||||
- 来源:`TASK-report-full-data-edition-20261007`。上游任务书已记录乔布斯盘英文清理失败(`chinese_characters:14981`)。
|
||||
- 来源:`TASK-report-full-data-edition-20261007`。上游任务书已记录乔布斯盘英文清理失败(`chinese_characters:14981`)。补齐见 `TASK-report-full-data-fix-20261008`。
|
||||
- 影响面:新生成的个人报告英文版。中文完整数据版不受影响。已生成的旧报告仍按当时保存的正文打开。
|
||||
- 现象:完整数据版英文沿用上游清理器。清理器对没有译文的汉字不会删行,而是包成 `[source text retained: …]`。这样正文里仍然有汉字。公开接口发现汉字后设置 `english_unavailable=han_leak`,不返回 `markdown_en`。页面不显示「中文 / English」切换。
|
||||
- 触发条件:用完整数据版生成中英两份。本机虚构盘、乔布斯盘、奥巴马盘都如此。泰勒盘没有公开出生资料,没有生成。
|
||||
- 根因:英文清理器的设计是留下缺译文的原文,避免看起来干净、实际少了证据。本仓资料包里这类汉字不是一小张术语表:补译分盘提示、行星主星标题、八分法标题和「合计」之前,三张盘大约有 350–470 处汉字串、240–300 个不同写法,很多是单字或半句。不能靠手写词典清空,也不能把夹汉字的英文交给用户。
|
||||
- 修复:未解决。生成路径已经整份撤回英文,不输出中英夹杂的英文报告。清理器里的汉字标记只留在生成过程中。
|
||||
- 验证:`tests/test_report_english_edition.py` 要求要么英文没有汉字,要么接口撤回且不带 `markdown_en`。没有在浏览器里走查。
|
||||
- 防复发:沿用阅读版泄漏词表检查英文全文;接口和前端都在发现汉字时撤回英文。汉字清零之前不得把这则标成 resolved。
|
||||
- 相关记录:BUG-1126(有英文版时切换必须真换正文)、BUG-1271。
|
||||
- 触发条件:用完整数据版生成中英两份。本机虚构盘、乔布斯盘、奥巴马盘都如此。泰勒盘没有公开出生资料,没有生成。第四张公开盘用爱因斯坦。
|
||||
- 根因:短词替换会先把整句拆开,剩下的单字和半句再被包进 source text retained。早期大约 350–470 处汉字串,是拆开之后的碎片,不是必须整段删掉的正文。双主星有一条中文依据,资料包里本来就有英文对照,阅读时却只印了中文,单字「水」又把「水瓶」拆成了 Mercury。
|
||||
- 修复:章节标题按语言写;拆开后剩下的碎片补进英文术语,不删段落。双主星说明在英文里改用已有的英文依据。清理器仍把没有译文的汉字包起来。接口发现汉字后仍整份撤回英文。
|
||||
- 验证:虚构、爱因斯坦、乔布斯、奥巴马四张盘英文汉字数为 0,中英二级标题都是 35/35。`tests/test_report_english_edition.py` 改为要求三张虚构盘汉字为 0,并且虚构日盘的接口必须交回英文。故意写入汉字的测试仍要求 `english_unavailable=han_leak`。没有在浏览器里走查。
|
||||
- 防复发:上述测试。接口和前端仍在发现汉字时撤回英文。
|
||||
- 相关记录:BUG-1126(有英文版时切换必须真换正文)、BUG-1271、BUG-1274。
|
||||
- 复发自:无。
|
||||
- 修复版本:无。
|
||||
- 修复版本:本分支,未合入 staging。
|
||||
|
||||
## BUG-1273 | 生产镜像没有 PyJHora,八个特殊上升点算不出来
|
||||
|
||||
@@ -17149,6 +17149,22 @@
|
||||
- Claude 验收(2026-10-08,Linux):屏蔽 `jhora` 导入后跑 `cmd_full_reading`,乔布斯、奥巴马、虚构盘 × Lahiri / Raman 共 6 组,8 个点全部 `computed`、`source` 为 `native_special_lagna`,与 `fb8277bf` 调 PyJHora 的结果最大差 0°。Python 全量 62 条失败,与 `2df6ee72` 逐名相同;快速门通过;`tests/test_runtime_jhora_import_scan.py` 在快速门内,人为在 `native_special_lagnas.py` 加一行 `from jhora ...` 后该测试失败(变异检查)。年运资料包屏蔽 `jhora` 前后逐字节相同。
|
||||
- 待问占星师:Vighati 上升按每分钟 15° 计(与 PyJHora 一致);按字面「每个 vighati 一个星座」应为每分钟 75°。
|
||||
|
||||
## BUG-1274 | 中文报告把 Bhava Bala 译成年龄状态,并把 Planets 译成行星s
|
||||
|
||||
- 状态:resolved(本分支 `codex/report-full-data-edition-20261007`,未合入 staging,未上线)
|
||||
- 首次发现 / 最近更新:2026-10-08 / 2026-10-08
|
||||
- 来源:`TASK-report-full-data-fix-20261008` 的译名项。
|
||||
- 影响面:完整数据版中文报告的力量标题和行星标题。
|
||||
- 现象:标题出现「六维力量 / Bhava 年龄状态」和「Natal / KP Ruling 行星s」。
|
||||
- 触发条件:生成完整数据版中文。清理器先把 Shadbala 写成「六维力量」,再把单独的 Bala 写成「年龄状态」,于是修 Bhava Bala 的那一步对不上原文。另一处把 Planet 换成「行星」时没有先处理 Planets,复数的 s 留在汉字后面。
|
||||
- 根因:两段替换都按较短的词下手,较长的词还在句里。
|
||||
- 修复:先替换整段「Natal / KP Ruling Planets」「Planets」「Planetary」,再替换 Planet。力量标题改回「六维力量 / Bhava Bala」。星体年龄那一列仍叫年龄状态,没有全局改掉。
|
||||
- 验证:`tests/test_report_full_data_fix.py` 检查这两句,并检查中文不得出现「英文单词 + 汉字 + s」。
|
||||
- 防复发:同一条测试。
|
||||
- 相关记录:BUG-1272。
|
||||
- 复发自:无。
|
||||
- 修复版本:本分支,未合入 staging。
|
||||
|
||||
## BUG-1275 | 恒星黄道经度少扣章动:所有行星偏约 0.005°,Vimshottari 日期差 2–3 天
|
||||
|
||||
- 状态:resolved(代码;部署以 `/api/health` 的 `deployment.gitCommit` 为准)
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
# 进度 · 完整数据版补齐(2026-10-08)
|
||||
|
||||
- 分支:`codex/report-full-data-edition-20261007`
|
||||
- 基线:`e14fa377`(完整数据版那一笔,已经 rebase 到 `origin/staging` `16782634` 之上;特殊上升点 `795b8845` 仍是祖先)
|
||||
- 状态:代码在本分支,**未合入 staging**,未上线。等 Claude 验收通过后再合入
|
||||
- 远端功能分支上的旧提交 `06028759` 不是这次 rebase 之后的祖先。更新功能分支需要 `--force-with-lease`,不能推 `staging`
|
||||
|
||||
## 结论
|
||||
|
||||
新报告仍是完整数据版。中文补上了大运、行星、宫主、Dosha、瑜伽解释,以及开篇「重点」。英文四张盘汉字数为 0,接口会返回英文。Patyayini 没有实现,没有新写计算器。生成按钮文案没改。
|
||||
|
||||
## 四张盘(本机,一次一个进程)
|
||||
|
||||
汉字范围用的是接口同一条规则。没有把出生时间写进这份记录。
|
||||
|
||||
| 盘 | 中文字符 | 英文字符 | 英文汉字 | 二级标题(中/英) | 缺字段 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 虚构 | 212336 | 361577 | 0 | 35/35 | 6 |
|
||||
| 爱因斯坦 | 234199 | 402881 | 0 | 35/35 | 6 |
|
||||
| 乔布斯 | 209717 | 359869 | 0 | 35/35 | 6 |
|
||||
| 奥巴马 | 222602 | 380264 | 0 | 35/35 | 6 |
|
||||
|
||||
四份中文都有「大运解释」「行星、星宿与宫位解释」「宫主逐宫解释」「Dosha 逐项」「瑜伽解释」,开篇「重点」里有 MD、AD、PD。中文没有「再婚」「几段关系」「早夭」「一定会」「必然」「疾病诊断」「疾病」。英文没有 divorce、miscarriage、infertility、guarantee。决策 4 的七种大运标题没有出现。中文都超过约 20 万字,阅读页会一次显示一章。
|
||||
|
||||
另有一张任务书测试里的夜盘,双主星说明原来会留下汉字。英文改用资料包里已经写好的英文依据之后,正文和适用性说明的汉字也是 0。接口因此会交出英文。
|
||||
|
||||
## 章节目录
|
||||
|
||||
| 状态 | 章节 |
|
||||
| --- | --- |
|
||||
| 已有 | 大运解释、行星解释、宫主逐宫、Dosha 逐项、瑜伽解释、Mudda、Sahams、Tajika 瑜伽、Mudda 月段窗口、太阳返照 |
|
||||
| 本单不做(决策 4) | Sthira、Drig、Shoola、Navamsha、Niryaana Shoola、Lagna Kendradi、Chara。不写占位 |
|
||||
| 本单不做(让步,月返照 / 八年总览) | 月返照盘、八年总览。目录标成延后,不算进缺字段 |
|
||||
| 缺字段 | Patyayini(两节同一个来源,只计一次;正文写「没有实现」)、Raman Sahams(不用普通 Sahams 冒充)、一生年运图、Tripataki、年运特殊点、当年结果说明。合计 6,不超过 10 |
|
||||
|
||||
## 让步
|
||||
|
||||
1. T6 生成按钮不改。`frontend/docs/VOICE.md` 和现有测试锁着「大约 10–30 秒」。本机不是 staging 的 2 核计时,不新编一段分钟数。卡片里的「中英两版」留着,因为英文现在能生成。
|
||||
2. T3 没有让。开篇「重点」写当前 MD / AD / PD,以及事业、财富、婚恋三宫的宫主、尊贵和功能吉凶。
|
||||
3. T2 的月返照和八年总览按让步顺序放下,没有新算。
|
||||
|
||||
## 测试
|
||||
|
||||
| 项 | 结果 |
|
||||
| --- | --- |
|
||||
| `tests/test_report_full_data_fix.py` | 4 条通过 |
|
||||
| `tests/test_report_english_edition.py` | 18 条通过。含上面两处改过的断言 |
|
||||
| 运行时不得导入 jhora | `tests/test_runtime_jhora_import_scan.py` 4 条通过 |
|
||||
| ruff(改过的四个脚本加新测试) | 8 条都是改动前就有的,没有改格式去消 |
|
||||
| Linux 快速门、Python 全量、`npm test`、`next build` | 本机没跑,不能当成通过 |
|
||||
|
||||
改过的既有断言:
|
||||
|
||||
| 测试 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| 英文无汉字 | 有汉字就必须包在 source text retained 里 | 三张虚构盘汉字数为 0 | BUG-1272 已清零 |
|
||||
| 接口是否交英文 | 没汉字就交,有汉字就整份撤回 | 虚构日盘必须交回无汉字的英文 | 同上。故意写进汉字的那条测试仍要求撤回 |
|
||||
|
||||
没有改 `scripts/jyotish_api_server.py`,没有改 `Home()` 的状态数,没有改默认报告版本,没有改生时校正公式,没有改生成按钮。
|
||||
@@ -202,8 +202,8 @@
|
||||
| 任务书 | 进度 | 主题 | 状态 | 落点 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `TASK-report-full-data-edition-20261007.md` | `PROGRESS-report-full-data-edition-20261007.md` | **报告改为完整数据版、删除阅读版**:网站阅读版中文 7.6 万字符 vs 上游 `pl9_ai_density` 97 万;移植原始数据附录 / 清理器 / 时间补充,中英文;我方报告口径(BUG-1199~1229)全部保持;旧报告仍可打开;排在 sync6 之后 | 未合入(验收未通过,见 fix-20261008) | `codex/report-full-data-edition-20261007`(未推 staging) |
|
||||
| `TASK-report-full-data-fix-20261008.md` | — | **完整数据版补齐**(同分支继续):中文只有上游 19%(9.9 万 vs 52.6 万字);产品允许移植上游解释生成器并逐条核口径;年运表接我方字段;英文必须交付才上线;其他 7 种大运另开单 | 待领取 | — |
|
||||
| `TASK-report-full-data-fix2-20261008.md` | — | **完整数据版第二轮**(同分支 `32f19f07` 续):英文已过;未过——全量 +1 旧断言、寿命断言、半译词与字段名被改坏、「守护第未列出宫」163 处、年运章 6/29 节、大运解释只有上游 42%(产品:补回传统段落改「可能」口吻) | 待领取 | — |
|
||||
| `TASK-report-full-data-fix-20261008.md` | `PROGRESS-report-full-data-fix-20261008.md` | **完整数据版补齐**(同分支继续):解释段、年运字段、开篇重点、英文汉字清零。Patyayini 不新算。生成按钮文案不改。等验收后再合入 staging | 验收未通过(见 fix2) | `codex/report-full-data-edition-20261007`(未合入 staging) |
|
||||
| `TASK-report-full-data-fix2-20261008.md` | — | **完整数据版第二轮**(同分支续):英文已过;未过——全量 +1 旧断言、寿命断言、半译词与字段名被改坏、「守护第未列出宫」163 处、年运章 6/29 节、大运解释只有上游 42%(产品:补回传统段落改「可能」口吻) | 待领取 | — |
|
||||
| `TASK-report-reader-main-fix-20260925.md` | `PROGRESS-report-reader-main-fix-20260925.md` | **读者版修复**:真实年主比较、分字段绑定与未来返照;保留 Bhava Bala 和标题,隔离报告/聊天规则 | 已验收(Claude 09-25:年运表逐年填齐且不同、Bhava Bala 保留、泄漏 0) | `4d801e53`(已部署,health 核对一致) |
|
||||
| `TASK-report-reader-main-20260924.md` | `PROGRESS-report-reader-main-20260924.md` | **报告正文换上游读者版 reader_main + KP / Muntha 计算缺陷 + 投影截断(BUG-1026/1027/1028)**:正文一直是上游审计版(读者版 09-09 才出、从未同步),本仓又自加「结论等级规则」/英文段/异常原文;投影黑名单不认 PL9 词汇且截断半句、删表留说明;KP args `vars()` 拷贝为空恒失败;Muntha 漏合 `birth_asc_sign_idx` → Year Lord 恒火星。产品拍板接入读者版、旧报告不回填。 | 部分通过(Claude 09-25:读者版切换、泄漏 0 命中、KP 已修;年运 Year Lord/Muntha 全为「-」P1、投影误删 Bhava Bala P2 → 修复单) | `3c2f7bd5`(已部署) |
|
||||
| `TASK-report-reader-actions-20260924.md` | — | **报告操作收敛**:列表只留「查看报告」;阅读页删「下载原始附录」「打印」,导出改图标按钮;导出对话框 ≥860 居中、窄屏仍贴底(修订 chapter-export D9/D10)。产品变更,不开 BUG 号 | 基本通过(Claude 09-24:入口收敛、图标、≥860 居中均符合;原始附录三文件因执行方权限未删、PROGRESS/清单未写 → 并入修复单) | `f125fae0`(未部署) |
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# 真机清单 · 完整数据版补齐(2026-10-08)
|
||||
|
||||
对应 `docs/tasks/TASK-report-full-data-fix-20261008.md`。电脑和手机各走一遍。第 1 步会用掉一次生成次数。本机没有登录态,也没有用浏览器点过,下表结果留空。
|
||||
|
||||
这一轮和上一份清单的差别,供对照:
|
||||
|
||||
- 新报告中文大约 21 万到 23 万字,超过约 20 万字的分页线。阅读页一次只显示一章,目录和「上一章 / 下一章」可以换章。
|
||||
- 四张核对过的盘,英文汉字数为 0。新生成的报告应出现「中文 / English」。点过去正文和目录一起换,停在同一章。
|
||||
- 生成卡片仍写「大约 10–30 秒」和「中英两版」。时长不是 staging 上量的,这轮没有改文案。
|
||||
- 以前生成的报告仍按当时保存的正文打开,不会自动变成这一版。
|
||||
|
||||
| # | 操作 | 应该看到 | 结果 |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | 「我的报告」→ 生成报告,等它完成 → 打开 | 正文是中文。有「中文 / English」。有「上一章 / 下一章」 | |
|
||||
| 2 | 点「English」,再点「中文」 | 正文和目录换成另一种语言,还停在刚才那一章。英文里看不到汉字 | |
|
||||
| 3 | 点目录里的某一章 | 正文跳到那一章。页面不卡住 | |
|
||||
| 4 | 点「导出」 | 只有这一处导出。新报告可以选择中文或 English,下载的是 Markdown。不出现「英文版没有生成成功」 | |
|
||||
| 5 | 打开一份这次更新之前生成的旧报告 | 能打开,正文仍是当时保存的那一版,没有自动重算 | |
|
||||
| 6 | 在旧报告地址后手动加 `?lang=en` | 仍显示原来的正文,不报错 | |
|
||||
Reference in New Issue
Block a user