记下完整数据版 B 段的生成时长、没做满的项,以及真机验收清单。Yogi 的更新日志编号改为 BUG-1421。

Co-Authored-By: Grok (agent loop)
This commit is contained in:
jesse-ux
2026-10-23 10:40:06 +08:00
co-authored by Grok (agent loop)
parent 61b37bfec7
commit d74760b10a
4 changed files with 95 additions and 2 deletions
+1 -1
View File
@@ -23,7 +23,7 @@
## 2026-10-22 — 完整数据版写出 Jaimini Yogi 与 Ava Yogi 坐标
- 这一节以前因为找不到计算模块,每张盘都是 blocked。现在用本命太阳、月亮黄经按 93°20′ 和 186°40′ 算出两点,中英附录各有一张表。空的 Tajika 候选改成一句「本年没有候选」;Goel 星座强度里没有落入行星时写「无」。
- Skill 版本不变(BUG-1420)。
- Skill 版本不变(BUG-1421)。
## 2026-10-22 — 星盘大运右栏可以切到 Yogini
@@ -0,0 +1,61 @@
# PROGRESS:完整数据版补齐(一)B 段
- 分支:`codex/full-data-parity-1-20261021`
- 范围:T4–T10。A 段已在 `origin/staging` 的 `c1aa72fc`。
- 合并:实现提交之后再 `git merge origin/staging`(当时远端是 `d72adb575`)。没有 rebase,没有强推。
- 状态:B 段交验收。下面写明没做满的项。
## 这一段用户能看到什么
- Yogi / Ava Yogi 用本命日、月黄经算出坐标。Tajika 没有候选时只写一句「本年没有候选 / No candidates this year」。Goel 没有落入行星时写「无 / None」。
- 已有规则的大运子运写入标准大运表。没有规则的写「本体系未提供子运」。Kalachakra 子运标「简化模型」,主运不换。
- 年运整宫、Tripataki、特殊点公式轨迹。黄经抄已算好的盘,不另算一套。
- 当年和后两年:月返照、原生 Patyayini、Tithi Pravesha、年度大运结果。出生地八年总览出一次。
- 从报告日期所在月起 36 个月:报告口径九星、KP 岁差口径九星、五级大运月采样。
- 行星解释的六维力量合计改读已经算出的 rupa 总分。
## 没做满(让步)
| 项 | 处理 | 原因 |
| --- | --- | --- |
| 72 年生命周期年返 | 不做,函数留着但不在报告路径调用 | 任务书让步顺序允许先放。一次要多算几十张年返盘 |
| Saturn / KP 结果段,以及行星、宫主解释补到上游约 8,970 英文字 | 不做 | 让步顺序第一项。只修了「六维力量合计为未列出」 |
| 现居地八年总览 | 只有资料包里已经带了现居地坐标才出 | `_annual_payload_from_args` 在 `return` 之后才读现居地,那段代码到不了。打开它会改年返地点,已有年运数值就不能保持原样。这一版不动 |
| 年度北印度图盘面板 `pl9_annual_visual_panels` | 不新做面板 | 阅读页在没有面板时,已经用算好的黄经印成文字表。放上面板对象后,阅读页只印标题、不再印这张表 |
| 王者格 raj / dhana 排序 | 不动 | 不能证明对话卡和校正打分不受影响(BUG-1415) |
| 三年星历没有调用 `kp_monthly_transits` | 改走本系统恒星黄经 | 那条旧路径是视位置。新黄经必须和排盘函数差 ≤ 1e-6°,所以用同一套真恒星计算。KP 表只换岁差名,不改成视位置 |
## 和上游数字不同的原因
- 黄经是 Swiss Ephemeris 真恒星(真岁差),不是视位置,也不是 Moshier。
- 本轮没有重跑上游导出,所以不列具体度数差。口径差就是上面这一条。
## 一张虚构盘的生成(先英文,后中文,屏蔽 PyJHora)
| 项 | 数字 |
| --- | --- |
| 排盘加资料包 | 11.69 秒 |
| 英文渲染 | 2.34 秒 |
| 中文渲染 | 10.38 秒 |
| 合计 | 24.42 秒,低于 180 秒,没有截断 |
| 中文 | 753,561 字符,1,316,062 字节,48 个二级标题,最大一章 230,555 字符 |
| 英文 | 1,263,804 字符,1,264,696 字节,汉字 0,48 个二级标题,最大一章 572,937 字符 |
| 资料包 JSON | 14,085,147 字节(中英都渲染之后) |
| 中文 `.md` | 1,316,062 字节 |
| 星历 | 报告口径 324 行,等于 36 个月 × 9 星 |
工作树没有自己的 `.venv`,用的是 agent-loop 工作树里的 Python。没有改前端,所以没跑 `tsc` 和 `npm run lint`。
## 自测
| 检查 | 命令 | 结果 |
| --- | --- | --- |
| B 段定向测试 | 见下 | 退出码 0,约 367 秒 |
| 200 张英文扫描 | `pytest tests/test_report_english_sweep.py`,屏蔽 PyJHora,最多 4 个进程 | 退出码 0,1247 秒 |
| 快速门、全量 pytest、前端全量 | 不跑 | 交给验收 |
定向测试文件:`test_report_ephemeris`、`test_annual_expansion`、`test_annual_native_geometry`、`test_yogi_sphuta_native`、`test_dasha_master_children`、`test_full_data_parity_chapters`、`test_report_english_edition`、`test_report_full_data_fix`、`test_full_data_domain_reader`、`test_python_hygiene_budget`、`test_api_server_growth_contract`、`test_runtime_jhora_import_scan`、`test_sidereal_nutation_frame`、`test_rashi_dashas_native`、`test_bhava_bala_formal`、`test_year_lord_blocked_no_fallback`、`test_year_lord_basis_label`、`test_repo_privacy_markers`、`test_consult_card_full_source`。
## 编号
Yogi 记录在本分支曾写成 BUG-1420。staging 上 BUG-1420 已是「Bug 历史整份重复」。合并后 Yogi 改为 BUG-1421。更新日志里的编号一并改掉。
+1 -1
View File
@@ -522,7 +522,7 @@
| `TASK-chart-ascendant-slash-20261021.md` | `PROGRESS-chart-ascendant-slash-20261021.md` | #87 上升状态格「不适用」改「/」+ 悬停 / 点按说明;报告上升行同改并在表下加说明(推翻 10-15 口径) | 已合入 staging | `codex/chart-ascendant-slash-20261021` |
| `TASK-report-english-han-leak-20261021.md` | `PROGRESS-report-english-han-leak-20261021.md` | #89 个人报告英文版约 4 成整份丢弃:漏译汉字源头补英文孪生字段、修吃空格;200 张固定种子回归 + 快速门 smoke(复发自 BUG-1272);中文逐字节不变 | 已合入 staging | `codex/report-english-han-leak-20261021` |
| `TASK-chart-dasha-yogini-20261021.md` | — | #88 星盘页大运右栏切换 Chara / Yogini,Yogini 补小运(按比例,内部核对,页面注明未经外部软件核对);Ashtottari 另立单(起运表与 PyJHora 8/12 宿不一致) | 已合入 staging | `codex/chart-dasha-yogini-20261021` |
| `TASK-full-data-parity-1-20261021.md` | — | #91 完整数据版补齐(一):A 段渲染(中文附录改中文源、71 小节归 6 章、导出星座名)→ B 段引擎(Yogi 点、标准大运子运、Kalachakra 简化子运、年运三年全展开、36 个月星历、解释补长);不设大小上限 | A 段第 1 次打回,修复单见下行 | `codex/full-data-parity-1-20261021` |
| `TASK-full-data-parity-1-20261021.md` | `PROGRESS-full-data-parity-1-b-20261023.md` | #91 完整数据版补齐(一):A 段渲染已在 staging;B 段补 Yogi、大运子运、当年和后两年的月返照与 Tithi、36 个月星历。72 年年返和解释补长未做满 | B 段本地完成,待验收 | `codex/full-data-parity-1-20261021` |
| `TASK-goel-jaimini-strength-20261022.md` | `PROGRESS-goel-jaimini-strength-20261022.md` | #94 搬上游公开的 Goel Jaimini 强度与 Brahma / Maheshwara / Rudra(4 个上游原样文件,按 #81 决策 A 先例根目录预算 448→452;来源串改书目引用);只做计算、不改报告;冻结身份不变 | 已合入 staging | `codex/goel-jaimini-strength-20261022` |
| `TASK-chart-subject-table-fix-20261022.md` | `PROGRESS-chart-subject-table-fix-20261022.md` | **#86 第 1 次打回**:报告所有表被强制单行(打印跑出纸面);保存他人复制了档案页代码且已分叉;点编辑框内边距会丢修改 | 已合入 staging | `codex/chart-subject-table-20261021` |
| `TASK-full-data-parity-3-20261022.md` | — | #93 完整数据版补齐(三):「独立年度方法参考」正式环境调 PyJHora(子进程隔离;装上后其余输出逐字节不变,7 个换路径开关钉死);输入默认用本地时间与正确年份(D6 待产品确认) | 待领取(等 #91 合入) | `codex/full-data-parity-3-20261022` |
@@ -0,0 +1,32 @@
# 完整数据版补齐(一)真机清单
对照任务书 `docs/tasks/TASK-full-data-parity-1-20261021.md`。用虚构盘或公开名人,不要把真实用户的出生资料写进记录。
## 生成新报告
1. 打开一个人的星盘,生成完整数据版。
2. 等待结束。本机一张虚构盘中英合计约 24 秒。若超过 3 分钟还在转,停下来记下时间,不要反复重试把队列打满。
3. 报告能打开,末尾能翻到计算口径。
## 中英切换
1. 切到英文。整份英文都在,不出现整段中文。
2. 切回中文。年运里能看到月返照、Tithi Pravesha、出生地八年总览。
3. Tajika 若这一年没有候选,只有一句「本年没有候选」。英文是 “No candidates this year”。
## 逐章翻到底
1. 年运章有当年和后两年。
2. 行运章末尾有「三年逐月星历」。中文写「报告口径」和「KP 岁差口径」。
3. 特殊点里有 Yogi 和 Ava Yogi,不是整节「未判定」。
## 导出
1. 导出中文 `.md`。
2. 分盘宫位列表里的星座名是中文。
3. 文件能用文本编辑器打开,章节能对上报告。
## 旧报告
1. 打开一份这次上线前已经生成的报告。
2. 它仍能打开。新的月返照和星历要重新生成才出现。