Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
3.5 KiB
3.5 KiB
PROGRESS · 特殊上升点改为本仓原生计算(2026-10-08)
执行分支 codex/special-lagnas-native-20261008。工作树从当时的 origin/staging fe833b35 拉出(任务书写的基线是 c04786f7,其后 staging 又有纯文档提交)。状态:待验收。未上线。
做了什么
- 八个特殊上升点在有经纬度时改由 Swiss Ephemeris 计算,
source为native_special_lagna。日出用出生地经纬度和请求的岁差,算完恢复原来的岁差。 - 公式按本仓已引用的出处:P.V.R. Narasimha Rao《Vedic Astrology: An Integrated Approach》§5.2(Bhava 0.25°/分、Hora 0.5°/分、Ghati 1.25°/分、Vighati 15°/分),Sree 为月亮在星宿内剩余度数乘 27 再加上升,Indu 与 Varnada 用 B.V. Raman。没有把「一宫每一 vighati」写成 75°/分。
references/里没有 BPHS 第 4 章原文,八点都有上述具名出处,没有写 blocked。 - 运行时删除
calculate_pyjhora_special_lagnas。PyJHora 4.8.7 只离线生成tests/fixtures/special_lagnas_pyjhora_487.json。生成命令:python scripts/research/freeze_special_lagnas_pyjhora_fixture.py。 - 缺坐标时仍用原来的 Bhava / Hora / Ghati 公式。生时校正继续调用这三个函数,算法身份不升。
- Tajika 的进程内 PyJHora 打分、校正三引擎对照的 PyJHora 列,分别挪到
scripts/pyjhora_panchavargiya_reference.py和scripts/pyjhora_rectification_d1_reference.py。默认全盘不调用它们。 - 快速门增加
tests/test_runtime_jhora_import_scan.py。
对照
三张公开或虚构盘 × Lahiri、Raman × 八个点,相对冻结的 PyJHora 4.8.7,最大绝对差 4.9e-5°。Hora 与 Ghati 度数不同。公开盘 Lahiri 的 Bhava / Hora / Ghati 仍是狮子 17.12°、水瓶 22.58°、处女 8.94°。
本机验证
| 检查 | 结果 |
|---|---|
| ruff(本轮改过的 Python 文件) | 通过 |
| py_compile(本轮改过的模块) | 通过 |
test_runtime_jhora_import_scan.py、test_special_lagnas_birth_instant.py(不含全盘那条)、test_rectification_three_engine_packet.py |
18 通过 |
屏蔽 jhora 后的 cmd_full_reading,加上三引擎包测试 |
5 通过;八点 computed,source 为 native_special_lagna |
隐私扫描 tests/test_repo_privacy_markers.py |
通过 |
未跑、不能写成通过:没有 PyJHora 的门禁虚拟环境(本机 Anaconda 装了 PyJHora 4.8.7,测试是屏蔽导入);Linux 全量 pytest 相对 62 条基线;快速门整段(含 npm test 与 turbopack 构建);部署后的 /api/health、/login、未登录 /api/account。
开工预检
python scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45 在本工作树跑完。远端可见性已核对,外部引擎适配器诊断通过,Python 运行时通过。碎片扫描在 90 秒超时,聚焦测试在 45 秒超时。不把这次退出当成通过,也没有改断言或补 .workbuddy 镜像。
偏离
- 导入扫描会走到
jyotish_api_server再走到校正三引擎包。那里的import_module("jhora...")挪进 pyjhora 文件名的参考模块,包函数_pyjhora_d1仍在原处,现有测试照旧替换它。 - 全盘年运段仍会按需导入
annual_pyjhora_replay(文件名含 pyjhora,扫描不进入)。导入失败时该段记 blocked,不挡八个特殊上升点。
Claude 验收(2026-10-08)
通过。见 docs/BUG_HISTORY.md BUG-1273 的验收补记。已部署 staging 795b8845。