Files
Jyotisha/docs/tasks/PROGRESS-rectification-collection-redesign-20260910.md
T
Jesse_ChenandCursor dd8f35f7ba fix(rectification): invite-first collect, holdout at 4 events, Skill 10.0.23 (BUG-646–648)
Stop domain-wheel collecting and age-band years in prompts. Ask until the training gate, then discriminate until convergence, then deliver a range plus a concrete follow-up. Reserve holdout only with four dated events.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 01:43:02 +08:00

5.5 KiB
Raw Blame History

PROGRESS · 生时校正采集流程重设计(2026-09-10)

工作树:.worktrees/rectification-collection-redesign-20260910 分支:codex/rectification-collection-redesign-20260910 任务书:docs/tasks/TASK-rectification-collection-redesign-20260910.md 基线:任务书写 origin/staging @ 3cd7a95d(代码 52db714b);开工接到当前 origin/staging @ cb045297(任务书文档提交,尚未含本单代码)。 代码提交:未提交。

开工回执

  • 编号 BUG-646 / 647 / 648。开工时最大已占用号是 648(646/647 已在任务书占用)。
  • 顺序:T1 收集池 → T2 锚定模板 → T3 删年龄段年份线索 → T4 holdout ≥4 → T5 缺口/S3/collect_waiting → T6 Skill 10.0.23 与测试改写。

已完成

  • T1 / BUG-648collection-question-pool.ts。S1 按信息价值排序:邀请 collect:invite:more(价值 2.0)→ 用户年份锚定 → 无年份 generic。训练门关时 next_followup 取池首。邀请拒答不把整个 other 列入禁问。
  • T2:锚定规则用任务书概率表,不是让步里的统一 0.5:毕业→工作 0.8、上大学→搬家 0.6、感情跟进 / 事后追问 0.5。年份只来自账本。焦点 id collect:anchor:<kind>:<year>kind_hint 写成 anchor:… / generic:… / invite_more 以便无 question_id 的 SQL 重建仍能记住已问键。
  • T3:删除 COLLECT_QUESTION_YEAR_CUEuser-copy.ts 无「年前后」。年龄段探针年份不入口述题干。
  • T4 / BUG-647MIN_EVENTS_TO_RESERVE_HOLDOUT = 4TS + case_holdout.py)。3 件全训练;回执 not_reserved_min_events;报告 Real Case Calibration = not reserved。确认门与引擎计分未改。
  • T5 / BUG-646:训练门关且池空 → 精确缺口句、无卡、占位「再说一件带年月的事」、客户端 collect_waiting。训练门开且增益见底 → 区间卡 + 「再补什么」。不做暂定采用。职业/占问层在训练门开后仍可问,不恢复家人/财务领域轮转。
  • T6Skill 10.0.23 live 与 versions/10.0.23 逐字节相等。sha256 91f5839e15514b80fa0370bb8b539686af211082e83bc951dc0e8250cbdbadcb。10.0.22 仍 deprecated、e3765b20…10.0.21 仍 3ced1073…resolveExactSkillPackage 可打开 10.0.21 与 10.0.22。CHANGELOG、BUG-646648、走查 1921、VOICE、DESIGN 已写。

三栏(既有断言)

位置 原值 新值 原因
Skill 当前钉 10.0.22 / sha256 e3765b20… 10.0.23 / 91f5839e… 改 SKILL.md 必须升版
方法覆盖顺序(用户可见) 先走完感情→事业→家人→职业→占问再精度追问 S1 收集池到训练门 → S2 选择题到收敛/增益见底 → S3 交付 产品口径 1
采集题干年份 COLLECT_QUESTION_YEAR_CUE / 「2021 年前后」 删除;只有用户账本年份进锚定题 撤回 BUG-642
holdout 起留件数 MIN_EVENTS_TO_RESERVE_HOLDOUT=2 4 3 件全训练(BUG-647
3 件带月、2 类后的下一动 ask_fact_collection1 件 holdout ask_candidate_discriminator 同上
训练门开后 leftover dated collect 家人/财务轮转,可挡 adopt exhaustionSpokenCollectFollowup 返回 null BUG-648
池空且训练门关 「还差 N 件,领域不限」或「没有拿到下一个问题」 精确缺口句 + collect_waiting BUG-646
开场后下一问 家人/学业领域轮转 邀请 collect:invite:more 先等用户说完
事故夹具 5 件后公开 can_adopt false(财务口述未问完) true;确认门仍关 训练门开后不再轮转采集

验收命令(实测)

工作树 codex/rectification-collection-redesign-20260910,相对 origin/staging @ cb045297

命令 结果
cmp skills/jyotish-birth-time-rectification/SKILL.md skills/jyotish-birth-time-rectification/versions/10.0.23/SKILL.md 相等
computeSkillPackageSha256(versions/10.0.23) 91f5839e15514b80fa0370bb8b539686af211082e83bc951dc0e8250cbdbadcb
10.0.22 / 10.0.21 包哈希 未改:e3765b20… / 3ced1073…
cd frontend && ./node_modules/.bin/tsc --noEmit 0 error
cd frontend && npm run lint 0 error121 warning(既有债务 + 本单未做无关清理)
相关 glob97 个文件,分三批,--test-force-exit --test-timeout=20000 1163 pass / 0 fail417 + 322 + 424)。同类 glob 采集语义单曾记 1156;本单新增 rectification-collection-question-pool.test.ts
.venv/bin/python -m pytest tests/test_candidate_discriminator_contract.py -q 8 passed / 0 fail
run_quality_gate.py --profile quick --skip-frontend-runtime Quality gate passed. pytest 731 passed / 1 skipped / 0 fail263s)。
git diff --check 干净
cd frontend && npm run build blockedTurbopack Symlink [project]/frontend/node_modules is invalid, it points out of the filesystem root。未核首页 Static / gzip。

环境缺口

  • 无 Docker:未跑 npm run test:db。本单未动表。
  • 无登录态、无 Chrome:走查第 19~21 条未做。部署后须先打开绑定 10.0.22 的历史校正(BUG-621)。
  • next build 在本 worktree 因 node_modules 软链被 Turbopack 拒绝;未核首页 Static / gzip。
  • 未提升 main,未 push。

未做 / 未改

  • 未改引擎计分、未改确认门(唯一分钟仍关)。
  • 未加数据库迁移。已问键靠 kind_hint 进现有 target_kind
  • 未改冻结历史包 10.0.21 / 10.0.22 字节。