# 进度 · 出卡精度门槛 + 引导式补经历(2026-09-16) 基线:`origin/staging` @ `20435a19`(任务书提交;代码基线其父 `071317f7`)。合入前需 rebase `317e9f18`(顶栏 preventScroll,staging 已快进 1 笔)。 分支:`codex/rectification-precision-gate-guided-collect-20260916`。 BUG:740~743(开工时最大号 BUG-739)。 相关单已合入 staging,本单在其上实现,未回退。 ## 做了什么 - T1:`deliveryMaxWidthMinutes: 10` 写入 `references/rectification_policy.v1.json`,Python / TS 各读一次。`decideRectification` 的 tied_first / exhausted / offer 出卡都要 `precisionGateMet || userStopped || guidedCollectExhausted`。`user_uncertainty_too_high` 未动。`withholdAdoptOnUnnarrowedRange` 未动。`stillNeedNarrowing` / `datedMethodCollectOpen` 在门槛已达时不再挡住出卡。`decideFromDossier` 的宽度回退到候选分数并集,避免 inference 没有 `credible_range` 时门槛恒为假。 - T2:新增 `guided_collect_windows`(`min_boundary_days=0`、含小运与 D9/D10 那罗延),挂进 packet。未改 `MIN_BOUNDARY_DAYS` 与自动题生成。离线回放脚本 `scripts/research/guided_collect_holdout_replay.py`。 - T3:引导题排在自动题之后、定向七条线之前。录入卡 `event-date-picker.tsx` + `event-date-entry-card.tsx`。年份范围出生年到今年。删除自由文本邀请常量。常驻条加「已对照 N 件」。 - T4 / T4b:skipped 换问法再问一次;declined 不重问。存在性题改问整个领域。时间点负答案不关领域。`remainingTargetedDomains` 不再按分盘层剔除。只有 `target_domain` 的拒答也关闭该线。 - T5:Skill 10.0.27。hash `7e5417419ffad9bb34b78318f541484821bb22476655092047006b3a05aff020`。 - T6:回执文案对调已核实并随 T4 修(BUG-742)。性格题范围回弹代码路径已看到,真机未复现,记 BUG-743 investigating。 - T7:BUG_HISTORY / CHANGELOG / DESIGN / VOICE / 真机清单 / 本进度。 ## 测试 ### 前端 - `tsc --noEmit`:0 错。 - `npm run lint`:0 error(既有 warning 未顺手清)。 - 定向套件(本单相关):`rectification-guided-collect-20260916`、`rectification-precision-gate-20260916`、`rectification-eight-method`、`rectification-occupation-coverage-exit`、`rectification-probe-pool-exhausted-20260911`、`rectification-collect-stall`、`rectification-exhaustion-exit-20260906`、`rectification-tiebreak-before-card-20260914` 等 **fail=0**。 - `page.tsx`:只加 `birthDate` 一处 prop,`Home()` 的 `useState` / `useRef` 未增长。 - 全量 `npm test`:本机无 Docker、Windows 无 symlink 权限。与 holdout 并行时还出现过 `spawn UNKNOWN` / OOM,不能当回归清单。无 Docker 的失败与基线同类(compose 起不来、symlink EPERM)。 ### Python - `pytest tests/test_event_probes_guided_windows.py tests/test_rectification_event_probes.py tests/test_candidate_discriminator_contract.py tests/test_rectification_refresh_r3_r4.py`:**56 passed**。 - `run_quality_gate.py --profile quick`:卡在本机 venv 缺 `mcp` 包(`interpretation_source_inventory_gate`),与既有环境缺口一致,不是本单引入。 ### T2 离线 holdout(不是合入门槛) `minute_rectification_holdout_v4.json` 20 例,六题后按 `guided_collect_windows` 注入真值侧带月事件。550 s,错误 0。原始表 `docs/research/guided_collect_holdout_2026_09_16.json`。 | 半径 | 20 例达标 | 达标例所需件数中位 | 未达 | | --- | ---: | ---: | ---: | | ±10 | 3 | 0(六题后已经达标,没有靠引导件补上) | 17 | | ±30 | 1 | 0 | 19 | | ±60 | 0 | — | 20 | 没有一例是「六题后未达、再补引导件后达标」。Picasso / Freud 三档窗口数都是 0(年龄带把边界年裁掉)。产品据此决定要不要调 10 分钟门槛。 ### 未测 - `next build` 首屏 gzip ±2%:本机未跑。选择器在校正对话里,不进 `/` 首屏。 - 真机清单:`docs/testing/rectification-guided-collect-20260916.md`,留给产品负责人。 - 历史校正会话打开:Skill 合同测了版本绑定;无登录态,浏览器级留给清单第 6 条。 ## 偏离 - T2 离线 20 例三档都跑完,未用让步(只跑 ±10/±30)。 - T6 性格题回弹不阻塞合入。 - 选择器年份原先误写成 1950,已改成档案出生年→今年。 - 既有测试里「训练门开即出卡 / leftover 不再问」与 D1/D5 冲突的断言,已按「原值 / 新值 / 原因」改。