Files
Jyotisha/docs/tasks/PROGRESS-rectification-window-cluster-cap-20260909.md
T
Jesse_ChenandCursor 6008c07c81
Independent Staging Quality Gate / validate (push) Successful in 17m15s
Independent Staging Quality Gate / publish (push) Successful in 2m15s
fix(rectification): keep hour-window tail clusters and lock the search window (BUG-623, BUG-624, BUG-625)
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>
2026-09-09 20:45:11 +08:00

3.0 KiB
Raw Blame History

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 @ a31a5e24BUG-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-08minute_step=1,与任务书 §1 同盘)

窗口 分钟数 签名簇 公开候选 覆盖
14:0015:00 61 17 17 14:00 … 15:00
14:3015:00 31 9 9 14:30 … 15:00
12:0016:0014:00 ±120 241 64 64 12:00 … 16:00
12:4716:4714:47 ±120 241 66 64(相邻低分合并) 12:47 … 16:47

MAX_PUBLIC_CLUSTERS = 64 对 ±120 够用:66 簇会合并相邻低分,窗口两端仍在。没有按时间 break

已完成

  • 4.1 / BUG-623select_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-625parseDeclaredBirthWindow 在选模型之前拦截自由文本。命中则 persistV9DeterministicTurn 固定回复,不调模型、不改窗口、不换焦点。不含钟点的句子不命中。
  • 4.4Skill 10.0.20live + versions/10.0.20sha256 9c09867591cc9e8726f3577346230339b5a6dd4b4f3d634a9cda3e66170d6ac6)。§4 禁止「以你说的为准」。词表删除该短语;只剩标点时回落到固定回复。
  • 4.5:不做。
  • 4.6BUG-623 / 624 / 625 已写入 docs/BUG_HISTORY.mdCHANGELOG.md;走查 docs/testing/rectification-window-cluster-cap-20260909.md(固定回复,不是确认卡)。

固定回复原文:「搜索范围是开始时按你的资料定的,校正过程中不改。想按别的时间段重来,请先到资料里改出生时间,再新建一次校正。」

验收命令

  • .venv/bin/python -m pytest tests/test_rectification_v5_services.py -q → 全过
  • frontendtsc --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