docs(tasks): D60 mapping fix brief, option 1 (agent loop, issue #149)
Product chose 1: fix production D60 (count from the sign itself for odd and even signs) before continuing the two-way study. Renumber the branch's D60 bug BUG-1498 -> BUG-1500 to clear the staging collision, and settle the D60 boundary scoring rule as same-day events only. Co-Authored-By: Claude (agent loop) <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -20458,7 +20458,7 @@
|
||||
- 触发条件:用 D60 换格给候选分段打分,或对外宣称「到秒」。
|
||||
- 根因:未验证的技法被当成能力宣传;我方没有 D60 换格的评分实现,也没有对照实验。
|
||||
- 修复:(进行中)G1 已跑:生产 D60 上升与 PyJHora 只一致 33/77(42.9%),本仓 `mode='vedastro'` 的 D60 与 PyJHora 77/77。
|
||||
失败原因是本仓生产 D60 映射本身(见 BUG-1498),不是「D60 没有信号」;G2–G5 暂缓,先把映射口径定下来再重跑 G1。结论出来前生产代码、技法路由、对外文案都不动。
|
||||
失败原因是本仓生产 D60 映射本身(见 BUG-1500),不是「D60 没有信号」;G2–G5 暂缓,先把映射口径定下来再重跑 G1。结论出来前生产代码、技法路由、对外文案都不动。
|
||||
- 验证:待研究单 `docs/tasks/TASK-rectification-d60-two-way-20261028.md` 的 G1–G5 全部有结论后回填;不过门就写 `closed_by_design` 并附对外口径。
|
||||
- 防复发:研究单写死「先登记再跑、真值不可见、必须有安慰剂、负结果照写」。
|
||||
- 关联:BUG-1240、BUG-560、BUG-1090、BUG-1091。
|
||||
@@ -20466,7 +20466,7 @@
|
||||
- 修复版本:分支 `codex/rectification-d60-two-way-20261028`(研究单,未合入)。
|
||||
|
||||
|
||||
## BUG-1498 | 生产 D60 映射把 1-based 偶数星座整体后移一个星座
|
||||
## BUG-1500 | 生产 D60 映射把 1-based 偶数星座整体后移一个星座
|
||||
|
||||
- 状态:investigating
|
||||
- 首次发现 / 最近更新:2026-10-28 / 2026-10-28(issue #149,G1 三引擎对账)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
| VedAstro | `blocked`:本次没有联网调用 | — |
|
||||
|
||||
- 差的 44 例全部是 **1-based 偶数星座**(金牛、巨蟹、处女、天蝎、摩羯、双鱼),差值恒为 +1 个星座;一致的 33 例全部是 1-based 奇数星座。
|
||||
- 根因在 `scripts/varga.py::varga_map` 的 D60 分支(`(si+pi)%12 if o else (si+1+pi)%12`),同文件的 vedastro 映射是 `(si+pi)%12`,与 PyJHora 一致。**这是生产映射的口径问题,不是「D60 没有信号」**,已登记 BUG-1498(investigating)。
|
||||
- 根因在 `scripts/varga.py::varga_map` 的 D60 分支(`(si+pi)%12 if o else (si+1+pi)%12`),同文件的 vedastro 映射是 `(si+pi)%12`,与 PyJHora 一致。**这是生产映射的口径问题,不是「D60 没有信号」**,已登记 BUG-1500(investigating)。
|
||||
- 门要求「与至少一个外部引擎一致 ≥ 95%」,实际 42.9%(生产口径)→ **G1 判不过**,按任务书 G2–G5 全部停。没有跑任何计分,也没有据此改规则。
|
||||
|
||||
## 还没做
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
# TASK · 修正生产 D60 映射,再接着跑 D60 双向研究(issue #149,2026-10-29)
|
||||
|
||||
- 日期:2026-10-29
|
||||
- 来源:issue #149。Grok 的 G1(`98be2649`)发现生产 D60 与 PyJHora 只有 33/77 一致;Claude 验收核对成立。**产品 10-29 选 1:先修 D60,再接着研究。**
|
||||
- 执行方:Grok(Windows + Docker),**继续用分支 `codex/rectification-d60-two-way-20261028`**,只推这个分支
|
||||
- 验收:Claude(Linux)
|
||||
- BUG:分支上原 BUG-1498 与 staging 上的 BUG-1498(测试隔离修复)撞号,本提交已整体改为 **BUG-1500**(D60 映射);BUG-1497(研究本身)不变。开工时再核对一次最大号。
|
||||
|
||||
## 1. 基线
|
||||
|
||||
- 分支当前 `98be2649`,起点 `88a03808`,**早于** #159 对 `scripts/varga.py` 的改动和 `upstream_sync9b_2026_10_28` 冻结。
|
||||
- **第一步先把最新 `origin/staging` 合进本分支**(只会和 CHANGELOG / BUG_HISTORY 这类文档冲突),D60 的修改必须落在合并后的 `varga.py` 上。
|
||||
|
||||
## 2. 事故实证
|
||||
|
||||
| 项 | 结果 |
|
||||
| --- | --- |
|
||||
| 生产 `varga_map` D60 | `(si+pi)%12 if o else (si+1+pi)%12`:1-based 偶数星座多 +1 个星座,**无出处注释**(`0178dfb3` 4 月批量提交带入) |
|
||||
| 同文件 vedastro 模式 D60 | `(si+pi)%12`,与 PyJHora 77/77 一致 |
|
||||
| 我方说明 `references/shodasavarga-complete-guide.md` | D60「从本星座顺序起算」,奇偶不分,与生产矛盾 |
|
||||
| 生时校正打分(冻结的打分文件) | 没有直接用 D60;`active_rectification_questions.py`(非冻结)把 D60 列为出题层 |
|
||||
|
||||
## 3. 决策记录
|
||||
|
||||
1. **产品 10-29 选 1**:生产 D60 改为奇偶星座都从本星座起算。
|
||||
2. 冻结:沿用 #159 的规矩——校正 20 + 900 条**逐条相同**才重新冻结(新记录 `d60_mapping_2026_10_29`);有一条不同就停下回报「需拍板」,不重新冻结。
|
||||
3. **G2–G5 的 D60 换格计分口径(你 10-28 问的)定为方案 2**:每次 D60 换格当一题「事件在换格前还是后」,只有事件日期与换格同一天才作答,没有同日事件就跳过、不淘汰;与 A 组共用 `apply_answer`,只换边界来源。报告里写每题实际用了几条事件。
|
||||
4. 用户可见变化已知并接受:凡落在金牛、巨蟹、处女、天蝎、摩羯、双鱼的行星或上升,D60 星座都会变;咨询卡、深层分盘卡、报告里的 D60 跟着变。
|
||||
|
||||
## 4. 硬红线
|
||||
|
||||
1. 只改 `varga_map` 的 D60 一行(加出处注释:本仓说明 + PyJHora 对账);vedastro 模式与其他分盘逐字节不变。
|
||||
2. 冻结:`tests/test_sealed_holdout_contract_freshness.py::IDENTITY_FORBIDDEN_PREFIXES` **只追加、不替换**(#159 第 1 次打回就是这一条);脚本与 `references/rectification_sealed_holdout.v1.json` 的当前指针改到新记录。
|
||||
3. 锁 D60 旧值的测试(先查 `tests/test_d1_d60_varga_mapping_registry.py`、`tests/test_divisional_charts_extended.py`、`tests/test_deep_varga_avastha.py`、`tests/test_cli_smoke.py`):期望值按新规则改,写原值 / 新值 / 原因;**不得删断言或放宽**。
|
||||
4. **这次把 G1 的计算脚本提交进仓库**(放 `scripts/research/`,带测试),上一轮只交了结果 JSON,验收没法复跑。
|
||||
5. 研究部分仍只在研究脚本里做;生产不加 D60 判据,界面不改,不对外说「到秒」。
|
||||
|
||||
## 5. 任务分解
|
||||
|
||||
| 任务 | 内容 | 验收标准 |
|
||||
| --- | --- | --- |
|
||||
| T0 | 合并最新 `origin/staging` | 冲突只在文档;合并后上游 / sync9b 测试照过 |
|
||||
| T1 | 改 D60 映射(BUG-1500) | 新增测试:12 个星座 × 60 段与 PyJHora 一致;偶数星座第 1 段落在本星座 |
|
||||
| T2 | 校正回放 20 + 900 与 `upstream_sync9b_2026_10_28` 记录逐条比,相同才重新冻结 | 两份回放 0 处不同;冻结契约测试全过 |
|
||||
| T3 | 改锁旧值的测试 | 每条改动有三栏注释 |
|
||||
| T4 | 重跑 G1(提交脚本) | 期望 77/77;不过就停、回报 |
|
||||
| T5 | G1 过了:按原任务书 `TASK-rectification-d60-two-way-20261028.md` 先登记(计分口径用 §3.3),再跑 G2–G5、安慰剂、端到端、MEVG,出报告 | 先登记文件的提交早于任何计分提交 |
|
||||
| T6 | 记录:BUG_HISTORY(BUG-1500 resolved、BUG-1497 按结论)、CHANGELOG、PROGRESS、状态板 | — |
|
||||
|
||||
## 6. 让步顺序
|
||||
|
||||
T0–T4、T6 必做,一起回报一次(G1 结果出来就回报);T5 可以作为下一次回报。
|
||||
|
||||
## 7. 验收命令
|
||||
|
||||
| 检查 | Grok 自跑 | Claude 验收 |
|
||||
| --- | --- | --- |
|
||||
| D60 新测试 + 第 4 节列出的测试文件 | 必跑 | 复验 |
|
||||
| 校正 20 + 900 | 必跑 | 复验 |
|
||||
| G1 脚本 | 必跑 | 复跑,逐字节对结果 JSON |
|
||||
| Python 快速门 | 不跑 | 以 Claude 为准 |
|
||||
| 前端 `report-fact-tables.test.ts`、咨询卡相关 | 不跑 | 跑 |
|
||||
|
||||
## 8. 真机
|
||||
|
||||
部署后:挑一张有行星在偶数星座的盘,看咨询卡 / 深层分盘卡里的 D60 星座,与 PyJHora 或 JHora 对一下。清单在 PROGRESS 里列出,由 Claude 合入时转成 `docs/testing/`。
|
||||
Reference in New Issue
Block a user