Files
Jyotisha/docs/tasks/PROGRESS-upstream-sync8-20261017.md
T
Jesse_ChenandClaude Opus 5.5 0d92f586b6
Independent Staging Quality Gate / validate (push) Successful in 15m2s
Independent Staging Quality Gate / publish (push) Successful in 4m10s
docs: record sync8 acceptance, BUG-1390/1391 and the ERR-110 refreeze
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-18 18:57:02 +08:00

4.8 KiB
Raw Blame History

PROGRESS · 上游同步第八轮(2026-10-18)

十项计算修正都在分支 codex/upstream-sync8-20261017,每项一个提交。校正打分的 20 条封存回放和 900 条偏移回放,与改代码之前逐条相同。冻结身份测试有 3 项失败,因为任务书要求改的三个文件就在冻结清单里。没有重新冻结,也没有改冻结记录。这一项需要产品决定:按分数相同验收,还是把冻结身份失败当成未通过。

基线

任务书写的基线是 53608d8b。开工时 origin/staging 已到 e7bf60c1f(文档提交,给 #83 加状态板一行)。本分支从 e7bf60c1f 拉出。

上游参照是 codex/upstream-notice-20261016 的 caf1ed4e3。没有整文件覆盖。

提交

项 提交 BUG 上游
T1 第一大运小运 68762ccec BUG-1380 8643bc9a
T2 星宿边界 d11ee6f0d BUG-1381 3c2dad95、8643bc9a、9e04f0db 只取 lon_to_nakshatra
T3 Sandhi 5be864a8e BUG-1382 3c2dad95
T7 KP 边界 b5eb72343 BUG-1383 8eec9a54
T4 Pinda e8a7f3ac2 BUG-1384 30b43643
T5 Bhava Bala 6cbae4ce2 BUG-1385 a4d4a249
T6 Argala aa87c0f12 BUG-1386 e7301feb、86935c0a、4f1536f2
T9 Saham 例外弧 2f8263b6a BUG-1387 ce9fed15
T10 日出 0bd254cf1 BUG-1388 9f9f16b3 只取 gulika.py;872eaecf 只取 saham_daynight.py
T8 Avastha 83c97a897 BUG-1389 e628118d、7d545039、f75a6e77、ac565836

校正回放

改代码前的结果在本机临时目录,不入库。改完后跳过冻结哈希检查再跑同一套打分,只比 trials:

回放 条数 与改前
sealed_holdout_rerun.py 20 相同
reported_offset_sweep.py 900 相同

直接跑这两个脚本会在出结果前退出,原因是 frozen_record_mismatch。变了的冻结文件只有三个:scripts/ashtakavarga.py、scripts/dasha_analyzer.py、scripts/narayana_dasha.py。这三份正是 T2、T4、T6 要改的。没有写新的 freeze 文件。

tests/test_sealed_holdout_contract_freshness.py:3 失败,其余通过。失败的是 test_contract_tracks_actual_current_scorer_and_dataset_audit、test_frozen_record_matches_dataset_scorer_and_evaluator_bytes、test_changed_frozen_identity_fails_before_any_replay。隐私标记测试通过。

定向测试

检查 结果
星宿、Sandhi、KP、Pinda、Bhava、Argala、Saham、日出、Avastha 的新增与相关旧测试 通过
KP 20 万随机经度 0 处不同
星宿非边界抽样 0 处不同
报告事实表 report-fact-tables.test.ts 11 通过
全量 pytest、快速门、前端全量 npm test 未跑,留给验收方

偏离

  • 9e04f0db 只移植了 lon_to_nakshatra。dasha_analyzer 的整段时钟改写没有搬,避免改校正打分。
  • Sandhi 没有照搬「跳过第一大运起点」。我方第一大运的起点本来就是出生前的真实交界。
  • Argala 同数复用已有的 select_narayana_seed_sign,给它加了可选的对照星座。没有移植后面的强弱层。
  • determine_daytime 默认仍是原来的视日出窗口。只有 Saham 昼夜、Gulika、Shayanadi 传入 Hindu rising。Panchanga 和校正调用点没有改。
  • 年运快照没有锁住这三条公式 Saham 的旧经度,所以没有改快照数字。
  • 本机没有把 ruff 装进这次用的虚拟环境,没有跑 ruff。

验收与收尾(Claude,2026-10-18)

验收基于 44e961ef9,基线 e7bf60c1f。产品同意按打分相同验收、重新冻结,并授权 Claude 直接收尾(分支 codex/upstream-sync8-finish-20261018,已合入当时的 origin/staging)。

检查 结果
封存回放 20 条(Claude 独立重跑) 与基线逐项相同
偏移回放 900 条(Claude 独立重跑) 与基线逐项相同
全量 pytest(两棵树并行,逐名对比) 新增失败只有 8 条冻结身份;test_vedastro_gateway 一条并行偶发,单跑通过
tsc / lint 0 错 / 0 error(123 条存量 warning)

收尾改动:

  • BUG-1390:极昼极夜出生时整张 Avastha 表消失,改为只有 Shayanadi 标无法计算。
  • BUG-1391:英文报告 Deeptadi 并存条件改用英文逗号。
  • 重新冻结(ERR-110):标签 upstream_sync8_2026_10_18。两份研究脚本的 FREEZE / REPORT、密封合同当前指针、tests/test_sealed_holdout_contract_freshness.py 排除前缀、frontend/tests/rectification-confirmation-gate.test.ts 冻结路径,均按三栏改。scoring_perf 四份旧记录逐字节保留。新报告与 scoring_perf 报告的 trials、metrics、summary、historical_comparison 相同(合同更新脚本里有断言)。