fix(rectification): make delivery report use inference-window facts (BUG-593)
Independent Staging Quality Gate / validate (push) Successful in 15m5s
Independent Staging Quality Gate / publish (push) Has been cancelled

The verification template was still quoting the engine's pre-inference span and eliminated dasha tops, and D9/D10 signs were left for the model to guess from transition clocks.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-08 15:33:48 +08:00
co-authored by Cursor
parent f17af254c5
commit 06e4410431
35 changed files with 1049 additions and 65 deletions
+16
View File
@@ -9174,3 +9174,19 @@
- 复发自:BUG-462`:next` 重试本为穷尽采集撞开场题号)
- 修复版本:待提交(`codex/rectification-covered-domain-recollect-20260908`
## BUG-593 | 交付轮验证报告引用推断前的引擎事实
- 状态:resolved
- 首次发现:2026-09-08
- 最近更新:2026-09-08
- 影响面:`latestResultToolProjection``buildSkillVerificationPacket``jyotish-birth-time-rectification@10.0.16`
- 用户现象:区间卡已是约 3 分钟可信窗,交付轮正文却写宽度约半小时、双轨偏向已淘汰分钟、某候选 D10 升成下一座。
- 触发条件:推断层已把候选收到短区间并出交付卡;引擎 `tied_minute_count` / `dasha_agreement` 仍按全部候选计算;`window_scan` 换升在代表分钟之后。
- 根因:结果投影把 `candidates` 换成推断层,但报告仍喂引擎 `indistinguishable_width_minutes``dasha_agreement`。分盘上升没有按候选分钟给出星座,模型按换升时刻自己算。
- 修复:有推断层时报告宽度用 `credible_range` 含两端分钟数;双轨在 active 候选内重算,引擎原值只留 `dasha_agreement_pre_inference` 供审计。顶层宽度改名 `engine_indistinguishable_width_minutes`。报告给出 `sign_by_candidate`,与分歧面板共用换升函数。确认门不改。Skill 10.0.16 要求只抄该表。
- 验证:`frontend/tests/rectification-delivery-report-facts.test.ts`:推断窗 04:5104:53、引擎宽 29、双轨 top 为已淘汰分钟时,报告 `width_minutes === 3` 且正文不含 29 / 已淘汰分钟;D10 05:00 换升时 `sign_by_candidate["04:53"].d10 === "巨蟹座"``agent-voice-copy-contract` / `skill-registry` 锁 10.0.16 新句。
- 防复发:交付轮宽度、双轨、分盘星座必须来自推断层报告字段,不得再把引擎原跨度或换升时刻交给模型自算。
- 相关记录:BUG-545、BUG-568、BUG-290
- 复发自:BUG-290(宽度字段进投影后未随推断层更新);BUG-568(区间读盘,交付正文仍用开工跨度)
- 修复版本:待提交(`codex/rectification-delivery-report-facts-20260908`