# TASK · 完整数据版报告补齐:解释内容、年运表、英文(2026-10-08) - 分支:继续在 `codex/report-full-data-edition-20261007`(远端 `06028759`)上做,不另开分支。 - 基线:`06028759`;合入前 rebase 到 `origin/staging`,并且排在 `TASK-special-lagnas-native-20261008` 之后。 - 上游参照:`/workspace/yinduzhanxing` `origin/main` @ `23be1807`。 - BUG 编号:本分支已用到 BUG-1272;特殊上升点修复单从 1273 起。本单开工时核对最大号,再顺延。 - 原任务书 `TASK-report-full-data-edition-20261007.md` 仍有效,本单只改写其中红线 1,并补任务。 ## 1. 验收实证(Claude,2026-10-08,Linux,乔布斯盘,Lahiri) | 项 | 本分支 | 上游完整数据版 | | --- | --- | --- | | 中文正文(按字符,不含标题行) | 99,354 | 526,133 | | 上游有、本分支没有的章节 | 75 节,合计约 36.6 万字 | — | | 生成耗时(本机 Linux) | 12.5 秒(排盘 2.1 秒) | 34 秒 | 缺得最多的部分: | 缺的内容 | 约字数 | 上游从哪里来 | | --- | --- | --- | | 每段大运主运 + 子运解释(9 段) | 22 万 | `scripts/professional_parity_closure.py` 的 `build_dasha_interpretation_pack`、`build_vimshottari_dasha_report_pack` | | Mudda / Patyayini 年运表、Patyayini 结束日期表 | 6.5 万 | 我方年运资料包有 `mudda_dasha`(`partial_verified`),渲染器没认出字段名。**`patyayini_dasha` 在我方是 `blocked`**(有无 PyJHora 都一样,引擎不产出),Patyayini 两节写进缺口清单,不补算 | | Sthira、Drig、Shoola、Navamsha、Niryaana Shoola、Lagna Kendradi 等大运 | 5 万 | 另开一单(见决策 4) | | 生命周期年度返照、年度北印度图盘、月返照、八年总览 | 1.9 万 | 部分在我方年运资料包里,逐项核对 | | Sahams、Raman Sahams、Tajika 呈现 / Condition / 格局对照、Tripataki | 0.6 万 | 我方年运资料包有 `sahams`、`tajika_yogas` | | 宫主逐宫解释、Dosha 逐项事实与解释、年度结果解释 | 0.5 万 | `build_bhavesh_interpretation_pack`、`build_dosha_remedy_pack`、`build_graha_interpretation_pack`、`build_yoga_interpretation_pack` | | 开篇「重点」 | — | 本分支是固定三句核对清单;上游按当前大运和宫主写 | 其他问题: - 译名错误:「六维力量 / Bhava **年龄状态** 摘要」(Bala 被当成 Baladi 的年龄状态);「Natal / KP Ruling **行星s**」。 - 英文清理后仍有汉字(BUG-1272),接口不给英文。 - 生成按钮仍写「大约 10–30 秒」「中英两版」。 ## 2. 根因 原任务书红线 1 写的是「不得因为移植上游渲染器,就把上游的计算函数一起带进来」。执行方照办,于是凡是数据要由上游 `professional_parity_closure.py` 生成的章节都空着。这条红线是 Claude 写得太宽:解释内容是「模板文字 + 已算好的盘面数值」,不是天文计算。 ## 3. 决策记录(产品 2026-10-08) 1. **允许移植上游的解释内容生成器**:`build_dasha_interpretation_pack`、`build_vimshottari_dasha_report_pack`、`build_graha_interpretation_pack`、`build_bhavesh_interpretation_pack`、`build_dosha_remedy_pack`、`build_yoga_interpretation_pack`,以及它们依赖的模板函数。**本条改写原任务书红线 1**,执行方据此可以搬,不得以原红线拒做。 2. 搬过来的模板要**逐条核对口径**(见红线 2)。 3. **英文做好之前不上线**:完整数据版的英文必须交付(清理后全文无汉字)才合入 staging。在此之前线上继续用现有的阅读版,中英文都在。 4. Sthira、Drig、Shoola、Navamsha、Niryaana Shoola、Lagna Kendradi、Chara 等大运**另开一单,放后面**。上游有原生模块(`sthira_dasha.py`、`drig_dasha.py`、`shoola_dasha.py`、`navamsha_dasha.py`、`lagna_kendradi*.py`),我方没有。本单不做,报告里这些章节不出现,不写占位。 5. 补完之后由 Claude 验收,通过再合入。 ## 4. 硬红线 1. **数值只用我方引擎**。搬过来的生成器只读我方资料包里已经算好的字段;生成器里凡是自己做天文或大运计算的部分(例如 `build_dasha_master_pack` 里的 PyJHora 回放、`sthira` / `niryaana_shoola` 调用、`*_pyjhora_*` 档)不搬。运行时不得导入 `jhora`。 2. **模板口径核对**,以下写法一律改写或删除,并为每条加测试(对中英文全文断言): - 不断言死亡、寿命长短、疾病诊断、离婚、流产、不孕(AGENTS B4);上游模板里的 death / 疾病 / guarantee / 必然 / 一定会 逐条检查; - 落陷取消不叫 Raja Yoga(BUG-1205); - 不写「再婚」「几段关系」(sync4 T1,BUG-1183);不写早夭、过早死亡(sync5,BUG-1192~1198); - 功能吉凶按我方功能吉凶 v2(BUG-1174~1182);模板里自带的吉凶判断与我方层冲突时,以我方为准; - 大运解释不得把「主题」写成必然事件,要写成「这段时间可能突出」的口吻(原书模板改写)。 3. 原任务书的红线 2(我方报告口径)、红线 3(泄漏检查)、红线 4(不启用视位置 / 拟合偏移)继续有效。`customer_timing_supplement` 仍不搬。 4. 英文:四张盘(乔布斯、奥巴马、虚构盘,再加一张公开 AA 盘替代泰勒)全文无汉字;术语只增不减,不能靠删段落凑「无汉字」。 5. 隐私:只用公开名人盘与虚构盘。 ## 5. 任务分解 | # | 内容 | 验收标准 | | --- | --- | --- | | T1 | 移植决策 1 的生成器,接到完整数据版 | 乔布斯盘「大运解释」「行星解释」「宫主逐宫」「Dosha 逐项」「瑜伽解释」都出现;红线 2 每条一个测试 | | T2 | 年运:把我方 `annual_tajika_pack` 的 `mudda_dasha`、`patyayini_dasha`、`sahams`、`tajika_yogas`、`monthly_windows`、`solar_return` 接到上游对应章节 | 列表对照:上游每个年运章节要么出现,要么写进缺口清单并说明缺哪个字段 | | T3 | 开篇「重点」按上游逻辑写:当前三级大运 + 事业 / 财富 / 婚恋三宫的宫主落宫、尊贵、功能吉凶(取我方功能吉凶层) | 乔布斯盘「重点」含当前 MD / AD / PD 与三宫宫主行 | | T4 | 英文 BUG-1272 | 四张盘英文全文汉字数为 0;中英章节数一致 | | T5 | 译名 | 修掉「Bhava 年龄状态」「KP Ruling 行星s」;加测试:中文版不得出现「英文单词 + 汉字 + s」这类半译词(正则扫) | | T6 | 生成按钮文案 | 按 staging 部署后实测生成时长改写(对照 `frontend/docs/VOICE.md`);有英文后保留「中英两版」 | | T7 | 覆盖度报告 | 对上游 `23be1807` 同盘导出逐节比对,进度记录列「已有 / 本单不做(附决策号)/ 缺字段」三栏;除决策 4 的大运外,「缺字段」不得超过 10 节 | | T8 | 测试与门禁 | 在 **Linux 或门禁同等环境**跑:快速门全过(Windows 上 `test_consultation_native_layers` 的既有失败不能作为放行依据)、Python 全量失败名单 ⊆ 基线、`npm test` 失败名单与基线相同、`next build` `/` Static、gzip ±2% | | T9 | 记录 | `docs/BUG_HISTORY.md`(BUG-1272 更新与新编号)、`CHANGELOG.md`、进度记录、`docs/testing/` 真机清单(生成、旧报告打开、中英切换、跳章节、导出) | ## 6. 让步顺序 T6 → T3 → T2 中的月返照 / 八年总览。T1、T4、红线 1–2 不让步。 ## 7. 开工前置命令 ```bash git fetch origin --prune git worktree add .worktrees/report-full-data-edition-20261007 codex/report-full-data-edition-20261007 # 已有就直接进 grep -o "^## BUG-[0-9]*" docs/BUG_HISTORY.md | sed 's/## BUG-//' | sort -n | tail -1 ```