fix(rectification): feed cluster span into confirmation-gate refresh paths
Independent Staging Quality Gate / validate (push) Failing after 9m55s
Independent Staging Quality Gate / publish (push) Has been skipped

Representative minutes still undercounted width on dossier refresh and parsed snapshots even after the engine used cluster coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-10 17:51:07 +08:00
co-authored by Cursor
parent a998b6ec53
commit a1db6fe550
7 changed files with 69 additions and 5 deletions
+2 -2
View File
@@ -9934,8 +9934,8 @@
- 用户现象:报告宽度跟区间两端对得上,引擎「不可分宽度」却按各簇代表分钟算,少算两端延伸;极端时可把 ≤5 分钟的确认门误开。
- 触发条件:各簇 `cluster_start` / `cluster_end` 超出代表分钟。
- 根因:宽度公式用代表分钟的 `max-min+1`,不是簇覆盖。
- 修复:改为 `max(cluster_end)-min(cluster_start)+1`;缺簇字段时回退到 `time``tied_minute_count` 不动。
- 验证:`tests/test_rectification_confirmation_and.py``frontend/tests/rectification-delivery-report-facts.test.ts``rectification-confirmation-gate.test.ts`
- 修复:改为 `max(cluster_end)-min(cluster_start)+1`;缺簇字段时回退到 `time``tied_minute_count` 不动。决策层与客户端解析把 `clusterStart` / `clusterEnd` 传进确认门。
- 验证:`tests/test_rectification_confirmation_and.py``frontend/tests/rectification-delivery-report-facts.test.ts``rectification-confirmation-gate.test.ts``rectification-candidate-result.test.ts`
- 防复发:两簇 04:5004:55 与 04:5605:02 必须得到 13,不得算成 7。确认门不得因代表分钟看起来相邻而打开。
- 相关记录:BUG-593
- 复发自:无
@@ -19,7 +19,7 @@ Python 按 **argmax 映射到所在簇** 比较,不改成代表分钟列表。
- **BUG-637**:账本派生的精确 `domain.year` 键只拦存在性探针。`known_event_quality` / `event_quality``askedKeysForSameYearDedup` 去掉这些键后再做同年去重;已答质量键仍丢。`remainingConflictProbes` 本来就跳过质量题,未改。不改 `SCORE_DELTA`、四选项、确认门。
- **BUG-638**`dasha_agreement(..., clusters=)` 与 TS `dashaAgreementAmongActive(..., clusters)` 按簇比较。`decision_policy``candidate_decisions` 传入 `build_refinement_packet`。引擎原值仍是 `dasha_agreement_pre_inference`。BUG-593 记录已补正。
- **BUG-639**`indistinguishable_width_minutes` / `indistinguishableWidthMinutes``max(cluster_end)-min(cluster_start)+1`;缺字段回退到 `time``tied_minute_count` 不动。
- **BUG-639**`indistinguishable_width_minutes` / `indistinguishableWidthMinutes``max(cluster_end)-min(cluster_start)+1`;缺字段回退到 `time``tied_minute_count` 不动。`decideFromDossier``parseRectificationCandidateResult``clusterStart` / `clusterEnd` 传进确认门,避免刷新路径只按代表分钟少算。
- **BUG-640**:推断代表分钟 ≠ 引擎代表分钟时,公开 `house_table` / `natal_recast` 跟推断分钟;引擎原值改名 `*_pre_inference`。Agent 可见投影剥掉这三个字段。不改引擎。
- 记录:BUG-389/593/637640、CHANGELOG、本文件。Skill 版本不变(`10.0.21`)。