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

3.8 KiB
Raw Blame History

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 = 3SCORE_DELTA、四选项合同、采用门、确认门、Skill 版本(仍 10.0.16)。

做了什么

  • 决策 1 directionFor 对新分钟按题目语义推结论,不再一律中性。
    • 分盘风格题(choice_kind = varga_stylesemantic_keyvarga.<layer>. 开头):signFromTransitions 取该分钟该层上升,对照 style_options[].sign 与已答 answer_class 判 support/conflict。没有 transitions 或该层无星座 → 中性。
    • 大运/激活/事件质量题:新分钟落在某 outcome 集合最小与最大分钟之间、且两侧最近旧分钟同属该集合 → 继承;否则中性。
    • 携带题写入 outcome_by_minuterounds.score_deltas 对新分钟可非 0。
  • 决策 2 signFromTransitions 下沉到 core/sign-from-transitions.tsbuildCaseInferenceState / score-persistwindow_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 ≥ 3eliminated、范围仍 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 --noEmitexit 0
  • 本单改动文件 ReadLints0 error
  • tests/rectification-probe-replay-loss-20260908.test.ts10/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。