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)
7.5 KiB
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,并在同步台账另记 main5fb8379c。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。