Full TAP failed because invite_more is not a target_kind enum value, and exhaustion re-decide after skipped targeted persist must reuse decideAfterInferenceChange. Co-authored-by: Cursor <cursoragent@cursor.com>
2.2 KiB
2.2 KiB
进度 · 修复单:采集焦点 kind、剩余候选刷新、刷新尝试落库(2026-09-12)
范围
- 分支:
codex/rectification-targeted-collect-persist-fix-20260911(基于origin/staging@2b6d28e7) - 任务单:
docs/tasks/TASK-rectification-targeted-collect-persist-fix-20260911.md - BUG-656:采集焦点
kind映射到表 CHECK - BUG-657:引擎刷新按剩余候选
- BUG-658:刷新尝试落库、等待收窄按已问过判定、落库失败同一事务出卡
- T1 与 T3 不可省;T2 已一并做完
完成
- T1
collectFocusTargetKind:targeted:/anchor:/generic:写入 CHECK 枚举;原 hint 进collect_kind - T2
build_refinement_packet:refresh_probes且column_times非空时用剩余分钟生成探针;回执refresh_result - T3
refresh_attempts以already_answered持久化;refreshExhausted/shouldRefreshDatedPool同源;定向 persistskipped出「目前范围」;collect_waiting覆盖无 stopReason 的采集缺口 - T4 BUG-656~658、CHANGELOG、本文件、场景 0c
验收(本机,未部署)
frontendtsc --noEmit0 错- eslint 变更文件 0 error(既有 unused-import warning 仍在)
rectification-server-focus.test.ts+rectification-probe-pool-exhausted-20260911.test.ts+rectification-surface-state.test.ts+rectification-replay-20260911.test.ts:51 / 51- Python:
test_candidate_discriminator_contract.py+test_rectification_event_probes.py,fail=0(.venv/bin/python -m pytest)
门禁跟进(2026-09-12)
- Independent Staging Quality Gate run 2568 / SHA
eae049d0:validate 失败,npm test --prefix frontendfail 4 / 3132 - 原因不是基础设施:全量 TAP 才跑到的既有用例被 CHECK 映射和第三次
decideFromDossier打坏invite_more不再写入target_kind(CHECK 不允许),改断言null+collect_kind=invite_morepersistExhaustionCollect定向 persist skipped 后改走已有的decideAfterInferenceChange,idle 源码切片仍是两次decideFromDossier(BUG-653)
- 本机补跑上述 4 个失败套件后再推 staging
未做
- 未部署后按场景 0c 真机走一遍