Files
Jyotisha/docs/tasks/TASK-report-full-data-fix-20261008.md
T

7.7 KiB
Raw Blame History

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. 开工前置命令

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