Files
Jyotisha/docs/tasks/PROGRESS-rectification-collection-redesign-20260910.md
T
Jesse_ChenandCursor e36bda53fc
Independent Staging Quality Gate / validate (push) Failing after 35s
Independent Staging Quality Gate / publish (push) Has been skipped
docs: record BUG-646–648 fix SHA dd8f35f7
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-11 01:44:39 +08:00

66 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`(任务书文档提交,尚未含本单代码)。
代码提交:`dd8f35f7`
## 开工回执
- 编号 **BUG-646 / 647 / 648**。开工时最大已占用号是 648(646/647 已在任务书占用)。
- 顺序:T1 收集池 → T2 锚定模板 → T3 删年龄段年份线索 → T4 holdout ≥4 → T5 缺口/S3/collect_waiting → T6 Skill 10.0.23 与测试改写。
## 已完成
- **T1 / BUG-648**`collection-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_CUE``user-copy.ts` 无「年前后」。年龄段探针年份不入口述题干。
- **T4 / BUG-647**`MIN_EVENTS_TO_RESERVE_HOLDOUT = 4`TS + `case_holdout.py`)。3 件全训练;回执 `not_reserved_min_events`;报告 Real Case Calibration = `not reserved`。确认门与引擎计分未改。
- **T5 / BUG-646**:训练门关且池空 → 精确缺口句、无卡、占位「再说一件带年月的事」、客户端 `collect_waiting`。训练门开且增益见底 → 区间卡 + 「再补什么」。不做暂定采用。职业/占问层在训练门开后仍可问,不恢复家人/财务领域轮转。
- **T6**Skill **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_collection`1 件 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 error**121 warning(既有债务 + 本单未做无关清理) |
| 相关 glob(97 个文件,分三批,`--test-force-exit --test-timeout=20000` | **1163 pass / 0 fail**417 + 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 fail**263s)。 |
| `git diff --check` | 干净 |
| `cd frontend && npm run build` | **blocked**Turbopack `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 字节。