# PROGRESS · 采集方向修复单(2026-09-04) 工作树:`.worktrees/rectification-collect-direction-fix-20260904` 分支:`codex/rectification-collect-direction-fix-20260904` 基线:任务书写 `origin/staging` `3847e9c9`;开工时 tip 是纯文档 `cce919fe`。交付前再 `git fetch`,快进合入 `846b6064`(BUG-526 任务书,未占用 BUG-531)。 任务书:`docs/tasks/TASK-rectification-collect-direction-fix-20260904.md` 未改 Python、未 bump Skill(仍 10.0.14)、未改 `holdoutFollowupFor` / `validateSpokenPrompt` / `collectionProgressFromReceipt` / `declinedDomains` / 采用确认门。推 `origin/staging`。 | 任务 | 状态 | BUG | | --- | --- | --- | | 5.1 dated 分支移到轮转内(家人后、职业前) | 完成 | BUG-531 | | 5.2 回退 17 条感情/事业断言 | 完成 | 随 BUG-531 | | 5.3 门禁 CSS 合同测试 | 完成 | BUG-532 | | 5.4 记录 | 完成 | — | ## 编号 开工时 `docs/BUG_HISTORY.md` 最大号 BUG-530。本单 **BUG-531~532**。`846b6064` 未占用。 ## 实现要点 - 删掉 `buildMethodFollowupPlan` 里轮转前的 `if (!next && !meetsAcceptanceEventQuality) nextDatedCollectFollowup`。 - 轮转内 `!familyCovered` 之后、`!occupationCovered` 之前:训练门未开且 `nextDatedCollectFollowup` 有结果则取它。`source` 仍是 `method_coverage`。 - `DATED_COLLECT_ORDER` 与 `exhaustionSpokenCollectFollowup` 不动;`rectification-range-offer-deadend` 搬家在职业前保留。 - `3847e9c9` 把新案例第二问改成家人的断言回到 `45bdb63e`(感情 / 事业)。三栏:原值 = `3847e9c9`,新值 = `45bdb63e`,原因 = dated 分支移到家人之后。 - CSS 合同测试接受 `padding: 0 var(--space-3)`。这条是 `7ee7f825` 引入的,开工时 staging 仍红,别处未修。 ## 偏离 - `rectification-question-ownership` / `rectification-v10-conversation-focus` 不能把 spokenPrompt 恢复成「哪年上的大学」:服务端下一问仍是采集,BUG-529 要求题干命中领域词。默认 1 件事业现在下一问是感情,改用 `USER_COLLECT_QUESTION.relationship`。 - `three dated events with one holdout` 仍锁 `domain: finance`(家人拒答后 dated 补采集,不是轮转抢跑)。`45bdb63e` 未锁 domain;本单不删这条,因为行为与 `3847e9c9` 补第三件事一致。 - `collect_retry: true` 与 `USER_COLLECT_QUESTION_RETRY.relationship` 实际在 `rectification-walkthrough-polish`,已恢复。v10 文件里没有这两条断言。 ## 测试 `tsc --noEmit`:exit=0。 聚焦套件 `tsx --test tests/rectification-*.test.ts tests/admin-model-management-ui-contract.test.ts`: ``` # tests 875 # pass 875 # fail 0 # cancelled 0 # skipped 0 # todo 0 exit=0 ``` 新断言在 `rectification-collect-direction-20260904.test.ts`:9/9。 全量 `npm test`(本机有 Docker): ``` # tests 2656 # pass 2654 # fail 2 # cancelled 0 # skipped 0 # todo 0 exit=1 ``` 2 条失败均为 Docker 迁移争用(`database migration failed`):`database-personal-report-sections`、`rectification-v9-database` 里 `v9 agent api migration…`。`--test-concurrency=1` 隔离重跑: ``` # tests 8 # pass 8 # fail 0 # cancelled 0 # skipped 0 # todo 0 exit=0 ``` `eslint` 本单文件 0 error;`choice-card` / `walkthrough-polish` 各 1 条既有 unused 警告,未触碰。 未改 Python;未声称系统 `python3` 预检通过。 ## 改动文件 - 计划:`frontend/src/lib/rectification-agentic/v9/method-followup.ts` - 新断言:`frontend/tests/rectification-collect-direction-20260904.test.ts` - 回退:eight-method、walkthrough-polish、question-ownership、choice-card、v10-conversation-focus - 门禁:`frontend/tests/admin-model-management-ui-contract.test.ts` - 文档:`docs/BUG_HISTORY.md`、`docs/tasks/README.md`、`CHANGELOG.md`、本文件