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>
52 lines
3.2 KiB
Markdown
52 lines
3.2 KiB
Markdown
# PROGRESS · 生时校正顺带审计:同年去重、双轨按簇、簇宽、代表分钟(2026-09-10)
|
||
|
||
工作树:`.worktrees/rectification-unwritten-evidence-claim-20260910`
|
||
分支:`codex/rectification-unwritten-evidence-claim-20260910`
|
||
任务书:`docs/tasks/TASK-rectification-latent-audit-20260910.md`
|
||
基线:任务书写 `origin/staging` @ `a15fc3ef`;本工作树同时交付 BUG-635/636。BUG 编号从 **637** 起,与任务书一致。
|
||
|
||
## 开工回执
|
||
|
||
- 编号 **BUG-637**(P2)/ **BUG-638**(P2)/ **BUG-639**(P3)/ **BUG-640**(P3)。
|
||
- 观察项 §5 未立单。
|
||
- 与 BUG-635/636 不改同一代码文件;文档与本单一起验收。
|
||
|
||
## 决策(BUG-638)
|
||
|
||
Python 按 **argmax 映射到所在簇** 比较,不改成代表分钟列表。两轨峰值同簇即 `agree`;没有簇时仍按分钟比较。确认门不因本次 `agree` 从关到开。
|
||
|
||
## 已完成
|
||
|
||
- **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` 不动。`decideFromDossier` 与 `parseRectificationCandidateResult` 把 `clusterStart` / `clusterEnd` 传进确认门,避免刷新路径只按代表分钟少算。
|
||
- **BUG-640**:推断代表分钟 ≠ 引擎代表分钟时,公开 `house_table` / `natal_recast` 跟推断分钟;引擎原值改名 `*_pre_inference`。Agent 可见投影剥掉这三个字段。不改引擎。
|
||
- 记录:BUG-389/593/637~640、CHANGELOG、本文件。Skill 版本不变(`10.0.21`)。
|
||
|
||
## 验收命令(实测)
|
||
|
||
工作树 `codex/rectification-unwritten-evidence-claim-20260910`。
|
||
|
||
| 命令 | 结果 |
|
||
| --- | --- |
|
||
| `.venv` `pytest` `tests/test_rectification_refinement_packet.py` `tests/test_rectification_confirmation_and.py` | **23/23 pass** |
|
||
| `frontend` `tsx --test` 探针去重 / 收敛 / 确认门 / 交付报告 / ingest-p0 | **38/38 pass** |
|
||
| `frontend` `./node_modules/.bin/tsc --noEmit` | **0 error** |
|
||
| `frontend` `npm run lint` | **0 error** / 111 warning(既有债) |
|
||
| `git diff --check` | 干净 |
|
||
|
||
### 既有断言改动
|
||
|
||
- `tests/test_rectification_refinement_packet.py` `test_decision_receipt_downgrades_confidence_on_dasha_conflict`:原值 05:13 vs 05:14、两分钟同 d1;新值 05:13 vs 05:20、d1=1 vs d1=2。原因:BUG-638 同簇改为 `agree`,相邻 1 分钟会被并成一簇,必须改成跨簇才能继续锁 conflict。
|
||
|
||
## 环境缺口
|
||
|
||
- 无登录态:未做真人走查。
|
||
- 未跑 `next build`,未核 `/` 是否仍 `○ Static`、首屏 gzip ±2%。
|
||
- 未跑 `run_quality_gate.py --profile quick`。
|
||
|
||
## 未做
|
||
|
||
- 观察项 §5 未立产品单。
|
||
- 未提升 `main`。Skill 未升版。
|