Hour windows no longer drop later signature clusters. Credible range uses cluster coverage, and a mid-session spoken birth window gets a fixed reply without calling the model. Co-authored-by: Cursor <cursoragent@cursor.com>
43 lines
3.0 KiB
Markdown
43 lines
3.0 KiB
Markdown
# PROGRESS · 窗口簇上限(2026-09-09)
|
||
|
||
工作树:`.worktrees/rectification-window-cluster-cap-20260909`
|
||
分支:`codex/rectification-window-cluster-cap-20260909`
|
||
任务书:`docs/tasks/TASK-rectification-window-cluster-cap-20260909.md`
|
||
基线:开工时 `15cede97`;推 staging 前接到 `origin/staging` @ `a31a5e24`(BUG-621)
|
||
|
||
## 开工回执
|
||
|
||
- 目标:BUG-623 去掉按时间截断;BUG-624 簇覆盖进可信区间;BUG-625 中途说出时段固定回复、不改窗口、不进模型。
|
||
- 顺序:4.1 → 4.2 → 4.3 → 4.4 → 4.6。4.5 intake 自定义范围等产品,本单不做。
|
||
- 最大风险:一小时窗 17 簇依赖签名而不是分数;前端若不把 `cluster_times` 写进快照,区间仍会缩成代表分钟。
|
||
|
||
## 实测簇数(虚构盘 1997-08-08,`minute_step=1`,与任务书 §1 同盘)
|
||
|
||
| 窗口 | 分钟数 | 签名簇 | 公开候选 | 覆盖 |
|
||
| --- | --- | --- | --- | --- |
|
||
| 14:00–15:00 | 61 | **17** | 17 | 14:00 … 15:00 |
|
||
| 14:30–15:00 | 31 | 9 | 9 | 14:30 … 15:00 |
|
||
| 12:00–16:00(14:00 ±120) | 241 | 64 | 64 | 12:00 … 16:00 |
|
||
| 12:47–16:47(14:47 ±120) | 241 | **66** | **64**(相邻低分合并) | 12:47 … 16:47 |
|
||
|
||
`MAX_PUBLIC_CLUSTERS = 64` 对 ±120 够用:66 簇会合并相邻低分,窗口两端仍在。没有按时间 `break`。
|
||
|
||
## 已完成
|
||
|
||
- **4.1 / BUG-623**:`select_signature_representatives` 不再按时间截断;超 64 走 `cap_clusters_by_adjacent_merge`。夹具:17 簇含 14:46–14:51;65 簇合并后仍覆盖 `01:04`。
|
||
- **4.2 / BUG-624**:每个公开候选带 `cluster_times` / `cluster_start` / `cluster_end`,经引擎 → 快照 JSONB → 推断层;`engineClusterRange` 优先于换升聚类。簇 14:40–14:45、代表 14:40 → 区间右端 14:45。无新迁移。
|
||
- **4.3 / BUG-625**:`parseDeclaredBirthWindow` 在选模型之前拦截自由文本。命中则 `persistV9DeterministicTurn` 固定回复,不调模型、不改窗口、不换焦点。不含钟点的句子不命中。
|
||
- **4.4**:Skill **10.0.20**(live + `versions/10.0.20`,sha256 `9c09867591cc9e8726f3577346230339b5a6dd4b4f3d634a9cda3e66170d6ac6`)。§4 禁止「以你说的为准」。词表删除该短语;只剩标点时回落到固定回复。
|
||
- **4.5**:不做。
|
||
- **4.6**:BUG-623 / 624 / 625 已写入 `docs/BUG_HISTORY.md`;`CHANGELOG.md`;走查 `docs/testing/rectification-window-cluster-cap-20260909.md`(固定回复,不是确认卡)。
|
||
|
||
固定回复原文:「搜索范围是开始时按你的资料定的,校正过程中不改。想按别的时间段重来,请先到资料里改出生时间,再新建一次校正。」
|
||
|
||
## 验收命令
|
||
|
||
- `.venv/bin/python -m pytest tests/test_rectification_v5_services.py -q` → 全过
|
||
- `frontend`:`tsc --noEmit` 过;`npm run lint` 0 error(既有 warning 未动)
|
||
- `tsx --test` 任务书所列 `rectification-*.test.ts` + `birth-time-intake*.test.ts`(排除 database)→ **1073 pass / 0 fail**
|
||
|
||
本单状态:**待验收**。推 `origin HEAD:staging`。
|