diff --git a/CHANGELOG.md b/CHANGELOG.md index 09218c61..be3b1845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # 印度占星 Skill 更新日志 +## 2026-10-18 — 星盘计算十处口径与作者修复分支对齐 + +- 门闩(Argala)在两边行星数相同、两级比较仍分不出时,咨询卡写「待定」,不再当成被挡住。 +- 福德点等公式敏感点:第三项不落在规定弧上时,结果多 30°。 +- 行星状态的名称按落陷、燃烧、友星、中性、敌星分开;同时成立的几种会一起显示。姿态改用日出后的小时来算。 +- 八分力的 Pinda 改为削减后再求和,数字会明显变大。每宫力量的方向和吉星集合也换了口径,排序可能变。 +- 生时校正的打分结果与改前相同。Skill 版本不变(BUG-1380 至 BUG-1389)。 + ## 2026-10-16 — 大运接口不再编造周期,Ashtottari 计入出生余额 - 选择一套还没接上引擎的大运时,接口会明确回复未实现,不再返回编出来的周期。已经接上的大运与完整解读使用同一套算法。Vimshottari 的算法和返回字段不变。 diff --git a/docs/tasks/PROGRESS-upstream-sync8-20261017.md b/docs/tasks/PROGRESS-upstream-sync8-20261017.md new file mode 100644 index 00000000..b8cbc04f --- /dev/null +++ b/docs/tasks/PROGRESS-upstream-sync8-20261017.md @@ -0,0 +1,56 @@ +# 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。 diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 7352f2c9..c32164bc 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -334,7 +334,7 @@ | `TASK-rectification-refresh-r3-r4-20260913.md` | `PROGRESS-rectification-refresh-r3-r4-20260913.md` | 刷新阶段 R3(MIN_BOUNDARY_DAYS 45→30)+ R4(pratyantar 与 D9/D10 上升 Narayana);首轮出题不变。即使放宽仍有 0 题例子,定向补事另线保留(BUG-664/665) | 已实现 `ab1ade59`,已部署;2026-09-13 验收通过(实现单由执行方自拟,无产品决策记录段;收益口径见研究文档) | `codex/rectification-refresh-r3-r4-20260913` | | `TASK-upstream-sync6-20261007.md` | [PROGRESS-upstream-sync6-20261007.md](PROGRESS-upstream-sync6-20261007.md) | **上游同步第六轮(`23be1807`)**:10-05 五个计算修正一行未合——D5/D6/D8/D11 映射(乔布斯盘四张分盘星座全不同)、Vimsopaka 权重、Yogini 顺序与出生余额、Panchadhikari 宫位参照、Narayana 并列、特殊上升、出生秒数、Neecha Bhanga 两条件、首段大运子运、岁差被覆盖;逐项对照原书核实;最先做 | 已验收(门禁补修 `2df6ee72`,已部署 staging) | [PROGRESS-upstream-sync6-20261007.md](PROGRESS-upstream-sync6-20261007.md) | | `TASK-upstream-sync7-20261014.md` | [PROGRESS-upstream-sync7-20261014.md](PROGRESS-upstream-sync7-20261014.md) | **上游同步第七轮(BUG-1318 起)**:婚恋评级断语改证据档位、DK「婚姻质量 X/100」改对;KP 宫头到宫头判宫;瑜伽宫主排序去重;api_server 大运年长 365.25;星历路径只核查。不动校正打分。Grok 执行(agent 循环) | 待验收 | `codex/upstream-sync7-20261014`(BUG-1318~1321 已改;BUG-1322 星历路径核查中,未改代码) | -| `TASK-upstream-sync8-20261017.md` | — | **上游同步第八轮(BUG-1380 起)**:按作者修复分支 caf1ed4e 移植——星宿拆解第一大运小运、星宿边界、Sandhi、Pinda、Bhava Bala、Argala 裁决、KP 边界、Avastha 一批、Saham 弧方向、Gulika / Hindu 日出。不动校正打分(回放逐字节相同)。Grok 执行(agent 循环) | 待领取 | issue #80 | +| `TASK-upstream-sync8-20261017.md` | `PROGRESS-upstream-sync8-20261017.md` | **上游同步第八轮(BUG-1380 起)**:十项计算已在 `codex/upstream-sync8-20261017`。校正 20 条与 900 条打分与改前相同。冻结身份测试因任务书要求修改的三个冻结文件而失败,未重新冻结,待产品决定是否按分数相同验收 | 待拍板 | issue #80 | | `TASK-beta-main-path-20261014.md` | `PROGRESS-beta-main-path-20261014.md` | **内测主路径**:BUG-1063 他人报告 worker 读档案(逐列只读授权 + test:db);对话与报告「AI 生成,仅供参考」标识与免责;BUG-1080/283 状态;状态板按事实清账;冒烟清单 `docs/testing/beta-smoke-20261014.md`。与发布单并行 | 第 1 次打回后已修,待验收 | `codex/beta-main-path-20261014` | | `TASK-beta-main-path-fix-20261014.md` | `PROGRESS-beta-main-path-20261014.md` | **#73 第 1 次打回**:`fca62fda` 内容通过;与 #63 删除的旧报告视图有代码冲突,接受删除即可 | 待验收 | `codex/beta-main-path-20261014` | | `TASK-release-path-production-20261014.md` | `PROGRESS-release-path-production-20261014.md` | **发布通路 + 生产首发**:产品 10-14 授权改生产工作流(发布 SHA = 最近门禁成功提交 + 其后纯文档);63 个迁移清单与演练脚本、首发 runbook;生产拒绝测试验证码。Grok 不 dispatch 生产工作流 | 第 2 次打回后续修 | `codex/release-path-production-20261014`(BUG-1348、BUG-1349) |