Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
74 lines
4.8 KiB
Markdown
74 lines
4.8 KiB
Markdown
# 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 相同(合同更新脚本里有断言)。
|