docs(sync9): record batch A bugs, the capability map, and the replay numbers (issue #141)
BUG-1472 through BUG-1479. Rectification 20-case and 900-window metrics match the sync8 reports. Batch B is not done. Co-Authored-By: Grok (agent loop)
This commit is contained in:
co-authored by
Grok (agent loop)
parent
13f45e3475
commit
57867c94fe
@@ -20080,3 +20080,123 @@
|
||||
- 复发自:无
|
||||
- 修复版本:分支 `codex/report-fast-default-20261028`。
|
||||
|
||||
## BUG-1472 | 月亮恰在星宿起点时 Yogini 第一大运余额变成约 0
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `d268d519`)
|
||||
- 影响面:星盘页 Yogini 大运、咨询卡、年运里挂上的 Yogini 子运。`scripts/yogini_dasha.py`。
|
||||
- 现象:月亮黄经恰在某个星宿起点时,第一大运余额算成接近 0,而不是这一段的整年(例如 7 年)。后面的日期跟着前移。
|
||||
- 触发条件:月亮黄经等于 `星宿序号 × 40/3` 度,或传入非有限的月亮经度、年长。
|
||||
- 根因:用 `int(经度 / 星宿宽度)` 和取余。二进制里星宿起点常常比「刚好整除」略小,于是被算进上一宿,走完的比例接近 1,余额接近 0。与 BUG-1381 是同一类边界,当时只改了另外两处大运。
|
||||
- 修复:用二分判断星宿,起点归新宿,余额是整段。非有限的月亮经度或年长直接报错。
|
||||
- 验证:`tests/test_upstream_sync9_yogini_exact_boundaries.py` 31 条通过。随机 1 万个离开起点的经度,第一大运余额与改前公式一致,不一致 0。
|
||||
- 防复发:上面的边界测试;不要再用浮点整除决定「刚好落在起点属于哪一宿」。
|
||||
- 关联:BUG-1381。
|
||||
- 复发自:BUG-1381(同一边界落在第三个大运实现里)。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1473 | 三十个 Tithi 的主星顺序不是来源顺序
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `33537b31`)
|
||||
- 影响面:Tithi 主星。`scripts/tithi_lord.py`。完整解读在函数内部引用它。
|
||||
- 现象:某个 tithi 我方给出的主星与来源表不一致(例如来源是 Rahu,我方给 Sun)。非法种子被静默收下。
|
||||
- 触发条件:按 tithi 序号取主星。
|
||||
- 根因:主星表没有用来源里的 `tithi_seed` 顺序。
|
||||
- 修复:主星顺序改与 `scripts/research_timing/cycles.py` 的 `tithi_seed` 一致。不另建 `scripts/tithi_ashtottari.py`。
|
||||
- 验证:`tests/test_upstream_sync9_tithi_lord_source.py` 通过。
|
||||
- 防复发:该测试钉住 30 个主星和非法种子。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1474 | Saham 缺 Table 74 其余公式,旧近似盖住来源公式
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `cb8a1ca7`)
|
||||
- 影响面:年运 Saham。`references/saham_rules.json`、`scripts/tajika.py`。
|
||||
- 现象:来源表有的敏感点(如 Samartha)没有公式;部分已有项仍用按宫位的旧近似,数值对不上书上的例子。
|
||||
- 触发条件:计算全部 Saham,尤其日夜盘和火星上升的 Samartha。
|
||||
- 根因:规则文件不是 Table 74 全表;算出书上的行之后,旧公式又写回同名结果。有向弧的加减方向本身已经按 BUG-1387 对齐,不是方向反了。
|
||||
- 修复:规则文件改为 Table 74。先算 36 条书上的公式,再补不在表里的旧名称。`shastra_saham` 仍是未核对的旧公式;`sastra_saham` 用来源公式,两者经度可以不同。
|
||||
- 验证:`tests/test_upstream_sync9_saham_table74_completion.py`、`tests/test_upstream_sync9_saham_pvr_directed_arc.py` 通过。既有 `tests/test_annual_native_geometry.py` 通过。
|
||||
- 防复发:上面两组上游数字测试。报告用的 `formula_traces` 仍是 36 条列表,不改成字典,避免年运章节空白。
|
||||
- 关联:BUG-1387。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1475 | Ashtottari 星宿弧和子运时钟不随来源
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `0712f98f`)
|
||||
- 影响面:星盘页 Ashtottari。`scripts/ashtottari_dasha.py`、`scripts/nakshatra_dasha.py`、`scripts/cmd_nakshatra_adv.py`。
|
||||
- 现象:罗睺星宿段的起止用了最小/最大序号,跨过白羊时弧段错了。子运不跟着父运移动。辅助的出生余额改写了子运时钟。
|
||||
- 触发条件:计算 Ashtottari 大运、子运,以及高级星宿命令里的 Ashtottari。
|
||||
- 根因:环上的连续星宿被当成一段直线;当前期用天数整除去走,而不是沿周期时钟。
|
||||
- 修复:罗睺段用环上唯一的起点。子运时钟改为平移后的周期。输出键保持原样。
|
||||
- 验证:`tests/test_upstream_sync9_ashtottari_source_arcs.py`、`tests/test_upstream_sync9_ashtottari_reference_clock.py` 通过。
|
||||
- 防复发:这两份测试。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1476 | Kalachakra 没有按月亮实际经度起算古典星座期
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `f353a096`)
|
||||
- 影响面:Kalachakra 大运日期。`scripts/kalachakra_dasha.py`。
|
||||
- 现象:给出月亮经度时,仍走简化表,星座顺序和出生余额对不上书例。非有限输入退回默认值。
|
||||
- 触发条件:调用时带 `moon_longitude`。不带月亮经度时仍走原来的简化表。
|
||||
- 根因:古典九星座周期没有接上。共用的 `find_nakshatra` 在 108 个 pada 起点里有 50 个会把「刚好在起点」划进上一份,所以这里用本地的起点表,没有改共用函数。
|
||||
- 修复:有月亮经度时按古典星座期和比例子运计算;非有限输入报错。没有月亮经度时保留简化表,两种路径都会附上子运。
|
||||
- 验证:`tests/test_upstream_sync9_kalachakra_source_lords.py` 116 条通过。`tests/test_dasha.py` 的简化表用例仍通过。`tests/test_dasha_master_children.py` 两处断言改为「子运已挂上」,原值 / 新值 / 原因写在测试注释里。
|
||||
- 防复发:116 条来源测试;不要用会划错起点的共用星宿函数来起算 Kalachakra。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1477 | Arudha、A10、Upapada 被编出星座内度数
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `8b55630a`)
|
||||
- 影响面:特殊点里的 Arudha 显示。`scripts/special_lagnas.py`。完整解读的 Jaimini pada 行不再填度数。
|
||||
- 现象:数宫只能确定星座,界面上却有星座内度数。
|
||||
- 触发条件:计算 Arudha pada 或 A10。
|
||||
- 根因:用宫主度数的余数填了 `degree`。上游改为标明坐标只到星座。
|
||||
- 修复:`degree` 与 `sign_degree` 为空,`coordinate_basis` 为 `sign_only_arudha`。显示写成星座和宫位。校正打分读的是 Bhava / Hora / Ghati 的度数和冻结的 `jaimini.calc_arudha_padas`,不读这里的度数。
|
||||
- 验证:`tests/test_upstream_sync9_special_lagnas_arudha_coordinates.py` 通过。密封 20 条与上一份校正回放的名次和分钟误差逐条相同。900 个报时窗口同样逐条相同。冻结文件哈希未变。
|
||||
- 防复发:坐标口径测试;校正回放与上一份记录比对。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1478 | Darakaraka 的排序和主 Jaimini 表可能不一致
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `45b3b66b`)
|
||||
- 影响面:配偶星 Darakaraka。`scripts/darakaraka_reader.py`。合盘和完整解读会用到它。
|
||||
- 现象:读者自己排七星或八星 Karaka,交点和排除规则可能与主表不同。
|
||||
- 触发条件:读取 Darakaraka。
|
||||
- 根因:上游新增的 `calc_chara_karaka` 我方没有。主表在冻结的 `scripts/jaimini.py`,已有七星和八星排序。
|
||||
- 修复:改为调用已有的 `calc_chara_karaka_7` 与 `calc_chara_karaka_8`。不改 `jaimini.py`。
|
||||
- 验证:`tests/test_upstream_sync9_darakaraka_reader_identity.py` 通过,结果与主表同一行。
|
||||
- 防复发:该身份测试。不要在读者里再排一套。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
## BUG-1479 | 相位不含计都,也没有按速度判断入相或离相
|
||||
|
||||
- 状态:resolved(代码 + 回归测试;待部署)
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #141,上游 `e628118d` 只取 `aspects.py`)
|
||||
- 影响面:行星相位。`scripts/aspects.py`。命令、完整解读和 `/api/aspects` 在行星带有数字速度时把速度传进去。
|
||||
- 现象:计都不参与相位。没有速度时仍可能被看成正在入相。特殊相位的角距用了 `相位号 × 30`,来源是 `(相位号 − 1) × 30`。
|
||||
- 触发条件:计算两星相位,尤其含计都,或只有经度没有速度。
|
||||
- 根因:相位模块停在更早的上游版本,计都经度应是罗睺加 180 度,速度沿用罗睺。
|
||||
- 修复:按该上游版本更新 `aspects.py`。三处生产调用在有速度时传入,没有速度时显式传空,入相记为未知。宫位相位函数不接收速度。
|
||||
- 验证:`tests/test_upstream_sync9_aspect_geometry_regressions.py` 与 `tests/test_aspects.py` 通过。
|
||||
- 防复发:几何回归测试。没有速度不得猜入相。
|
||||
- 关联:无。
|
||||
- 复发自:无。
|
||||
- 修复版本:分支 `codex/upstream-sync9-20261028`。
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# 上游计算能力映射(2026-10-28)
|
||||
|
||||
对照上游 `732642856/yinduzhanxing` main `5fb8379c4f3e649cb4804065c9a3059e4bf633fe`。状态沿用 issue #141:
|
||||
|
||||
- A. 有本地计算实现,并且命令行或接口能调到。
|
||||
- B. 有实现,但要额外参数,或还没进默认流程。
|
||||
- C. 只有外部适配器,还要额外环境。
|
||||
- D. 只有规则、资料、注册项或展示。注册了、有按钮、有历史报告,都不算已经计算。
|
||||
|
||||
本轮只移植甲批计算修正,不改这八类的入口形状,也不做统一结果外层。
|
||||
|
||||
| 类目 | 上游文件与函数 | 我方文件与函数 | 我方入口 | 状态 | 最近记下的上游提交 | 未跟 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| 行星(位置、星座、度数、速度、逆行、宫位) | `scripts/jyotish_engine.py` `_calc_sidereal_planets_for_jd` | 同名函数 | 命令 `cmd_chart`;接口 `/api/chart` | A | 本轮没改行星计算,最近我方提交没有写上游提交号 | 本轮任务书没有点名要跟的行星修正 |
|
||||
| 宫位(宫头、宫界、宫主、Bhava Chalit) | `scripts/bhava_chalit.py` `BhavaChalitCalculator` | 同名类,`get_bhava_chalit_chart`、`cmd_bhava_chalit` | 命令 `cmd_bhava_chalit`;接口 `/api/bhava_chalit` | A | `0337b77fce353252f7d115025c8703c3aec4204a`(BUG-1319 记录的宫头口径) | 本轮没有新的宫位修正 |
|
||||
| 分盘 D1 / D9 / D10(其他分盘入口仍在) | `scripts/varga.py` `calc_all_vargas` | 同名函数 | 命令 `cmd_varga`、`cmd_varga_full`;接口 `/api/varga_full` | A | `f32472b5`(BUG-1260,D5/D6/D8/D11) | `50847e57` 的 22 号 Drekkana 与 Sarpa。文件在生时校正冻结清单里,本轮不改,等 #137 之后另开 |
|
||||
| 大运 Vimshottari | `scripts/jyotish_engine.py` `cmd_dasha`;星宿起点 `scripts/nakshatra_advanced.py` `calc_vimshottari_start` | 同名 | 命令 `cmd_dasha`;接口 `/api/dasha` | A | 边界修正在第八轮,本轮只把上游测试 `07fc5be3` 收进来,不改 `dasha_analyzer.py` | 无新的 Vimshottari 代码 |
|
||||
| 大运 Narayana | `scripts/narayana_dasha.py` `calc_narayana_mahadasha` | 同名函数;完整结果走 `narayana_dasha_full_report` | 命令 `cmd_narayana_dasha` 与 `cmd_full_reading`。星盘数据包在有行星和上升时也会调用它。`/api/dasha/chara` 算的是 Chara,不是 Narayana | A | 本轮没改这个冻结文件 | `6859b263` 的小运强度口径。同样等 #137 之后 |
|
||||
| 行运 | `scripts/jyotish_engine.py` `cmd_transit`、`cmd_double_transit_pac`、`cmd_transit_ll7l` | 同名命令 | 接口 `/api/transit` | A | 本轮没改行运 | 本轮任务书没有点名要跟的行运修正 |
|
||||
| Shadbala | `scripts/shadbala.py` `calc_shadbala` | 同名函数 | 命令 `cmd_shadbala`;接口 `/api/shadbala` | A | 本轮没改这个冻结文件 | 无本轮点名的 Shadbala 修正 |
|
||||
| Bhava Bala | `scripts/bhava_bala.py` `calc_bhava_bala`、`bhava_bala_from_chart` | 同名;完整解读调用 `bhava_bala_from_chart` | 命令 `cmd_full_reading`;接口 `/api/bhava_bala` | A | 本轮没改 | 无 |
|
||||
| Vimsopaka | `scripts/vimsopaka_calculator.py` `VimsopakaBalaCalculator.calculate_vimsopaka_bala` | 同名 | 命令 `cmd_full_reading` 里会算。没有单独的 `/api/vimsopaka`。报告 HTML 注入只展示已有摘要,本身不是计算 | A | `f32472b5`(BUG-1261) | 无本轮点名的新修正 |
|
||||
| 相位 | `scripts/aspects.py` `calc_all_aspects`、`calc_house_aspects` | 同名 | 命令 `cmd_aspects`;完整解读;接口 `/api/aspects` | A | 本轮跟上 `e628118d` 的 `aspects.py`(计都、速度、入相/离相) | 同期 `2f52cfca` 的 `karaka_calculator.py` 不搬。`95ea9e02` 的瑜伽节点测试不搬:我方 `YogaContext` 没有 `parashari_aspect` |
|
||||
| 瑜伽 | `scripts/yoga_engine.py` `detect_yogas` | 同名函数 | 命令 `cmd_yoga`;接口 `/api/yogas` | A | 本轮没改瑜伽规则 | 上游那条依赖 `parashari_aspect` 的节点策略没有对应接口 |
|
||||
|
||||
调用 `calc_all_aspects` 的生产位置都传速度:有数字速度就传入,没有就显式传 `planet_speeds=None`(入相记为未知)。三处是 `cmd_aspects`、`cmd_full_reading`、接口 `_compute_aspects`。`calc_house_aspects` 不算速度。测试里不传速度,是在核对「没有速度时不得猜入相」。
|
||||
|
||||
## 上游有、我方入口到不了的计算模块
|
||||
|
||||
下面这些文件在上游 main 的 `scripts/` 根目录,我方没有同名文件。筛选只保留大运、轮或敏感点计算本身,去掉回放、审计、台账、外部抓取和报告包装。共 33 个。任务书写的 43 是另一口径;这里不把 901 个上游独有脚本都算进来,也不为了凑 43 把研究脚本算成已计算。一律标「未接入,第二批另评估」。
|
||||
|
||||
- `amsayu.py`
|
||||
- `annual_pravesha.py`
|
||||
- `beeja_kshetra_sphuta.py`
|
||||
- `brahma_dasha.py`
|
||||
- `conditional_dashas.py`
|
||||
- `dasha_pravesha.py`
|
||||
- `drig_dasha.py`
|
||||
- `extended_dashas.py`
|
||||
- `kaala_dasha.py`
|
||||
- `kalanala_chakra.py`
|
||||
- `karaka_dasha.py`
|
||||
- `karana_annual_dasha.py`
|
||||
- `kota_chakra.py`
|
||||
- `lagna_kendradi_dasha.py`
|
||||
- `lagnamsaka_dasha.py`
|
||||
- `mandooka_dasha.py`
|
||||
- `naisargika_dasha.py`
|
||||
- `nakshatra_annual_dasha.py`
|
||||
- `navamsa_dasha.py`
|
||||
- `navamsha_dasha.py`
|
||||
- `paryaaya_dasha.py`
|
||||
- `sarvatobhadra_chakra.py`
|
||||
- `shattrimsa_sama_dasha.py`
|
||||
- `shoola_chakra.py`
|
||||
- `shoola_dasha.py`
|
||||
- `sthira_dasha.py`
|
||||
- `sudarsana_dasha.py`
|
||||
- `sudasa.py`
|
||||
- `tara_dasha.py`
|
||||
- `tara_lagna_dasha.py`
|
||||
- `varnada_dasha.py`
|
||||
- `yoga_annual_dasha.py`
|
||||
- `yogardha_dasha.py`
|
||||
|
||||
另外,`tithi_ashtottari.py` 上游有,本轮不新增。Tithi 主星已在 `scripts/tithi_lord.py`,顺序用 `scripts/research_timing/cycles.py` 的 `tithi_seed`。这个文件也标「未接入,第二批另评估」。
|
||||
@@ -0,0 +1,74 @@
|
||||
# PROGRESS · 上游同步第九轮(2026-10-28)
|
||||
|
||||
- 分支:`codex/upstream-sync9-20261028`
|
||||
- 基线:`9a0ce76d480c8b3d9fd8dd73bcc5ab59437469c4`(当时的 `origin/staging`)
|
||||
- 计算提交止于:`8aed605a43ad8e235cd341ebcaeb7675503325e6`
|
||||
- 结论:甲批九项已按语义移植。生时校正 20 条和 900 条与第八轮回放的名次、分钟误差逐条相同。乙批未做。
|
||||
|
||||
## 做了什么
|
||||
|
||||
| 项 | 上游 | BUG | 提交 |
|
||||
| --- | --- | --- | --- |
|
||||
| T1 Yogini 起点余额 | `d268d519` | BUG-1472 | `d226b0e5388cc3606272956bc5b9c2072685210d` |
|
||||
| T2 Tithi 主星 | `33537b31` | BUG-1473 | `9d3f59a87206d4b7f6c10f94c56565bbd98089a6` |
|
||||
| T3 Saham Table 74 | `cb8a1ca7` | BUG-1474 | `16bae006158aad8b493362ce1a51391626a95dca` |
|
||||
| T4 Ashtottari | `0712f98f` | BUG-1475 | `b35c424945e578abe95fca69de5eff1a8e14c0e1` |
|
||||
| T5 Kalachakra | `f353a096` | BUG-1476 | `96312893b7ad7660e72081c81bf4bf031f0b38a0` |
|
||||
| T6 Arudha 只到星座 | `8b55630a` | BUG-1477 | `bd09485243000ea7012b865dbee04fc00c535005` |
|
||||
| T7 Darakaraka | `45b3b66b` | BUG-1478 | `7bede9c99a056446648aa1e8fa36b3a4734a36eb` |
|
||||
| T8 边界测试,不改代码 | `07fc5be3` | 无(没有改冻结文件) | `c1bd59e97a76e914b884b650cae1adfb13b1e858` |
|
||||
| T8b 相位调用方传速度 | `e628118d` | BUG-1479 | `8aed605a43ad8e235cd341ebcaeb7675503325e6` |
|
||||
|
||||
`aspects.py` 本体在 `d226b0e5` 里。开工时它已经在暂存区,第一次提交把它和 Yogini 记在了一起。没有改写历史。相位行为由后面的调用方提交和几何测试覆盖。
|
||||
|
||||
接入映射:`docs/research/upstream_capability_map_2026_10_28.md`。
|
||||
|
||||
## 跑过的命令
|
||||
|
||||
| 检查 | 命令 | 结果 |
|
||||
| --- | --- | --- |
|
||||
| 本轮新增测试 + 年运几何 + 相位 + 特殊点 + 星盘点 | `.venv\Scripts\python -m pytest` 下列 16 个文件 | 297 个点,退出码 0 |
|
||||
| Yogini 非边界抽样 | 种子 `20261028`,1 万个随机经度,与改前 `int` 公式比第一大运余额 | 核对 10000,不一致 0 |
|
||||
| 既有 Yogini / Saham / Tajika / Dasha | `test_yogini_seed_profile.py`、`test_saham_daynight.py`、`test_saham_directed_operand_contract.py`、`test_tajika.py`、`test_dasha.py` | 退出码 1。唯一失败是 `test_tajika.py` 的 Windows 路径断言,见下面三栏。其余为通过的点 |
|
||||
| 密封校正 20 条 | `scripts/research/sealed_holdout_rerun.py`(没有 `--freeze`) | `trial_count` 20,`implementation_hash_matches_at_replay` true。与 `sealed_holdout_rerun_upstream_sync8_2026_10_18.json` 比 `true_rank`、`opaque_true_rank`、`minute_error`、`would_confirm`、`false_confirmation`、`insufficient_evidence_rejected`、`candidate_count`、`event_count`:不一致 0。相对更老档案的 `changed_trial_count` 仍是 8,与第八轮记录相同 |
|
||||
| 报时窗口 900 条 | `scripts/research/reported_offset_sweep.py --json`(没有 `--freeze`) | `trial_count` 900,冻结哈希匹配。与 `reported_offset_upstream_sync8_2026_10_18.json` 同样八个字段:不一致 0。相对更老档案的 `changed_trial_count` 仍是 581 |
|
||||
| 开工预检 | `scripts/pre_work_check.py --remote-timeout 8 --command-timeout 45` | 退出码 1。只有碎片扫描 90 秒和定向测试 45 秒在 Windows 上超时。远端可见、Python、外部适配器是通过的。不把这次写成预检通过 |
|
||||
|
||||
16 个文件是:`test_upstream_sync9_yogini_exact_boundaries.py`、`test_upstream_sync9_tithi_lord_source.py`、`test_upstream_sync9_saham_table74_completion.py`、`test_upstream_sync9_saham_pvr_directed_arc.py`、`test_upstream_sync9_ashtottari_reference_clock.py`、`test_upstream_sync9_ashtottari_source_arcs.py`、`test_upstream_sync9_kalachakra_source_lords.py`、`test_upstream_sync9_special_lagnas_arudha_coordinates.py`、`test_upstream_sync9_darakaraka_reader_identity.py`、`test_upstream_sync9_dasha_analyzer_boundary_contract.py`、`test_upstream_sync9_aspect_geometry_regressions.py`、`test_dasha_master_children.py`、`test_aspects.py`、`test_annual_native_geometry.py`、`test_special_lagnas_birth_instant.py`、`test_chart_view_points_api.py`。
|
||||
|
||||
Python 快速门、前端 tsc / lint / build、`npm test`、`test:db` 本轮不跑。没有改前端,没有改表。
|
||||
|
||||
## 断言三栏
|
||||
|
||||
| 位置 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| `tests/test_dasha_master_children.py` 来源大运 | major 行没有 `antardasha` | 计算函数自己挂上子运 | 上游 `f353a096` 在返回前附上按比例的子运。简化附件仍只改自己的副本 |
|
||||
| 同上,无月亮经度的 Kalachakra | major 行没有 `antardasha` | 无月亮经度时也带按比例子运 | 上游简化路径同样在返回前附上子运 |
|
||||
| Saham `formula_traces` | 上游是 36 个键的字典 | 我方仍是报告用的 36 条列表,每条有 `key` / `rule` / `longitude` | 年运几何测试和报告章节按列表读。Table 74 的数值在各 `*_saham` 行上,黄金值按上游数字断言,没有放宽 |
|
||||
| `tests/test_tajika.py` 规则路径 | `SAHAM_RULES_PATH.endswith('references/saham_rules.json')` | 没有改这条断言 | Windows 上 `os.path.join` 是反斜杠,断言为假。路径拼法本轮没改。这是环境缺口,不把断言改成「或反斜杠」 |
|
||||
|
||||
## 偏离
|
||||
|
||||
- 有向弧方向保持 BUG-1387,没有按一份更早的上游习惯翻回去。Table 74 失败来自缺公式和旧行覆盖,不是方向反了。
|
||||
- Kalachakra 的 pada 起点用本地 `10/3` 度表。共用 `find_nakshatra` 在 108 个精确起点里有 50 个会划进上一份。不改共用函数,免得带动 Yogini、Vimshottari 和校正。
|
||||
- 没有月亮经度时,Kalachakra 仍是原来的简化表,所以 `tests/test_dasha.py` 里「没有月亮经度则从 Ketu / 摩羯起」仍然成立。
|
||||
- 上游 `95ea9e02` 的瑜伽节点测试不收。我方 `YogaContext` 没有 `parashari_aspect`。计都进入相位由几何测试覆盖。
|
||||
- 不新增 `scripts/tithi_ashtottari.py`。Tithi 主星在 `scripts/tithi_lord.py`,顺序用已有的 `tithi_seed`。
|
||||
- 清单里的 `source_commit` 仍是 `b9a0ef8f`。改它会让 `tests/test_upstream_import_plan.py` 和 `tests/test_upstream_git_import_b9a0ef8f.py` 失败,而且那份提交在上游已经不存在。本轮只加长 `boundary`,并在同步台账另记 main `5fb8379c`。`hash_contract_result` 用和上一笔一样的文字结论,没有编文件哈希。导入器要求工作树干净,而且 `--apply` 会覆盖镜像,本轮没有跑。
|
||||
- 相位三个生产调用方:`cmd_aspects`、`cmd_full_reading`、接口 `_compute_aspects`。有数字速度就传入,没有就传 `None`。`calc_house_aspects` 不接收速度。
|
||||
- 校正不读 `special_lagnas` 的 Arudha 度数。20 条和 900 条因此不必改回旧显示。冻结文件没有改,也没有重新冻结。
|
||||
- 能力图里「上游有、我方没有」的计算模块按文件名筛出 33 个,另加 `tithi_ashtottari.py`。任务书写的 43 没有逐份清单,这里不把 901 个上游独有脚本算进去,也不凑数。
|
||||
|
||||
## 未做
|
||||
|
||||
- 乙批:`50847e57`(Drekkana / Sarpa)、`6859b263`(Narayana 小运强度)。都要改冻结文件,等 #137。
|
||||
- 统一结果外层(`source_commit` / `execution_status` 包在所有接口上)。任务书明确不做。
|
||||
- `tests/test_full_report_quality_gate.py` 没有跑。它不断言 Arudha 度数。
|
||||
- `tests/run_all.py` 的 t62 没有重跑。
|
||||
- Python 快速门留给 Claude。
|
||||
|
||||
## 环境缺口
|
||||
|
||||
- 预检的碎片扫描和定向测试超时。
|
||||
- `test_tajika.py` 那一条路径断言在 Windows 上失败,Linux 验收应再看一次。
|
||||
- 无模型凭据,没有跑真人盘面。走查清单仍是 `docs/testing/upstream-sync9-20261028.md`。
|
||||
@@ -543,4 +543,4 @@
|
||||
| — | `PROGRESS-chart-ui-114-20261027.md` | **#114 星盘页一页铺开**:南北印度可点盘、检视、深读四页、对话右栏完整盘面(直接执行) | 待推 staging | `codex/chart-ui-114-20261027` |
|
||||
| — | `PROGRESS-session-shell-116-20261028.md` | **#116 侧栏会话菜单搬进外壳**:每个页面都能「…」和拖动(直接执行,BUG-1467) | 已推 staging | `codex/session-shell-116-20261027` |
|
||||
| `TASK-home-crash-saved-people-20261027.md` | `PROGRESS-home-crash-saved-people-20261027.md` | **#115 首页崩溃**:存过别人的账户一进首页就「页面出错了」——人物列表的资料缺两个字段,启程引导一读就报错;入口补齐默认值(BUG-1464) | 待验收 | `codex/home-crash-saved-people-20261027` |
|
||||
| `TASK-upstream-sync9-20261028.md` | — | **#141 上游同步第九轮**:上游 main 10-16 有 15 个计算修正我方从没跟过(第八轮取的是另一条分支);甲批九项(Yogini 边界、Tithi 主星、Saham Table 74、Ashtottari、Kalachakra、Arudha 只到星座、Darakaraka、相位含计都)+ 接入映射表;乙批 Varga / Narayana 改冻结文件,等 #137 后另开 | 待领取 | `codex/upstream-sync9-20261028` |
|
||||
| `TASK-upstream-sync9-20261028.md` | `PROGRESS-upstream-sync9-20261028.md` | **#141 上游同步第九轮**:甲批九项已做完并推 `codex/upstream-sync9-20261028`;校正 20 条和 900 条与上一份回放逐条相同;乙批仍等 #137 | 待验收 | `codex/upstream-sync9-20261028` |
|
||||
|
||||
Reference in New Issue
Block a user