Files
Jyotisha/docs/tasks/PROGRESS-rectification-new-minute-inherit-20260908.md
T
Jesse_ChenandCursor be71104313
Independent Staging Quality Gate / validate (push) Successful in 13m45s
Independent Staging Quality Gate / publish (push) Successful in 12m20s
fix(rectification): inherit answered-probe outcomes onto new minutes (BUG-594)
Rescored candidate sets were widening because new minutes stayed
neutral. Derive support/conflict from varga signs and dasha segments,
and announce range changes from facts rather than tool names.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 17:33:24 +08:00

48 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 重算后新分钟继承已答题结论(2026-09-08)
工作树:`.worktrees/rectification-new-minute-inherit-20260908`
分支:`codex/rectification-new-minute-inherit-20260908`
任务书:`docs/tasks/TASK-rectification-new-minute-inherit-20260908.md`
基线:`origin/staging` @ `6aba672c`(含修复单 `56067fda` 与 BUG-592/593 验收 `6aba672c`;代码头仍是 `6a687085`
本单状态:**待验收**。未 commit、未 push。
未改:淘汰阈值 `STRONG_CONFLICT_ELIMINATION_COUNT = 3``SCORE_DELTA`、四选项合同、采用门、确认门、Skill 版本(仍 10.0.16)。
## 做了什么
- **决策 1** `directionFor` 对新分钟按题目语义推结论,不再一律中性。
- 分盘风格题(`choice_kind = varga_style``semantic_key``varga.<layer>.` 开头):`signFromTransitions` 取该分钟该层上升,对照 `style_options[].sign` 与已答 `answer_class` 判 support/conflict。没有 transitions 或该层无星座 → 中性。
- 大运/激活/事件质量题:新分钟落在某 outcome 集合最小与最大分钟之间、且两侧最近旧分钟同属该集合 → 继承;否则中性。
- 携带题写入 `outcome_by_minute``rounds.score_deltas` 对新分钟可非 0。
- **决策 2** `signFromTransitions` 下沉到 `core/sign-from-transitions.ts``buildCaseInferenceState` / `score-persist``window_scan.transitions` 传进核心层。`divergence-panel.ts` 改为引用核心函数,再用 D9/D10 类型表收口星座名。
- **决策 3** `agent-run` 范围句比较本轮开始时与结算时的 `credible_range`,不再看 `toolsUsed.has("rectification-compare-candidates")`。batch 内重算也会接 `withRangeChangedAfterEvidence`
- **决策 4** 记录 BUG-594(关联 BUG-587 决策 2 定错)、BUG-588 batch 路径补记、CHANGELOG、手测脚本第 8 条。
## 三栏(被触碰断言)
| 用例 | 原值 | 新值 | 理由 |
| --- | --- | --- | --- |
| 换入 05:14D9 射手、D10 狮子,2024.04 支持段、2023.05 反对段) | `strong_conflict_count = 0`、活着、范围到 05:14 | `≥ 3``eliminated`、范围仍 04:4704:59 | 决策 1 |
| 新分钟夹在两个 outcome 集合之间 | 中性(碰巧) | 仍中性 | 决策 1 的「两侧同属」条件 |
| 分盘题无 transitions | 中性 | 仍中性,不报错 | 决策 1 退化 |
| 证据轮 batch 内范围 04:4704:59 → 04:4705:14 | 无范围句(没有 compare 工具名) | 旁白末尾接范围句 | 决策 3 |
| BUG-587 旧夹具里的 04:59 | 新分钟 delta 0 | 落在 04:5705:13 冲突段内,继承 conflict | 推翻决策 2 后的正确结果 |
## 测试
- `frontend` `./node_modules/.bin/tsc --noEmit`exit 0
- 本单改动文件 ReadLints0 error
- `tests/rectification-probe-replay-loss-20260908.test.ts`10/10
- `tests/rectification-varga-style-weight.test.ts` + `agent-voice-copy-contract.test.ts` 与上一文件合计 31/0
- 任务书指定 TS 切片(`tests/rectification-*.test.ts` + `agent-voice-copy-contract.test.ts`,排除 database):**1021 passed / 0 failed**
- `exp_case_head.py` 合成 7 事件序列:仓库无此脚本;4.1 (d) 用事故形状的合成 6 题 + 三次换分钟回放代替
- 浏览器真人走查:本轮未跑,见 `docs/testing/rectification-scenarios-20260907.md` §8
## 偏离
1. 任务书基线写 `6a687085`。本 worktree 跟 `origin/staging` 尖端 `6aba672c`(多了修复单文档与 592/593 验收记录,无额外代码差)。
2. 4.1 (d) 没有 `scripts/exp_case_head.py`,用同文件内的事故形状合成序列。
3. 4.2 的「落库 assistant_message」用源码锁 + `withRangeChangedAfterEvidence` 合同,没有起一整轮 mock agent 写库。
4. `signFromTransitions` 的类型表收口仍留在 `divergence-panel.ts`,核心层只返回原始星座名,避免 core 依赖 v9。