Yearless-to-collect now skips domains already confirmed, declined, or asked; adopt-exhausted turns skip leftover collect persist. Collect focus collisions only retry with :next when collect_retry is set. Co-authored-by: Cursor <cursoragent@cursor.com>
3.3 KiB
3.3 KiB
PROGRESS · 已覆盖领域再采集(2026-09-08)
工作树:.worktrees/rectification-covered-domain-recollect-20260908
分支:codex/rectification-covered-domain-recollect-20260908
任务书:docs/tasks/TASK-rectification-covered-domain-recollect-20260908.md
基线:origin/staging @ 43fd8875
本单状态:待验收。本提交交付到 staging。
未改:采用门、确认门、MIN_SEPARATION_LEAD、_relative_support、minute_step=1、SCORE_DELTA、四选项合同、Skill 版本(仍 10.0.15)。
做了什么
- 决策 1
method-followup.ts职业覆盖后的 yearless→采集:遍历全部yearlessDiscriminators,跳过拒答、hasConfirmedDomain(含health/health_pressure)和已问过collect:<domain>:*的领域。全部跳过则next保持空。 - 决策 2
shouldSkipFollowupPersist:canAdopt且(nextAction === "ready_to_adopt"或sessionOutcome === "adopt_representative")且stopReason === "probe_pool_exhausted"时,isRemainingEvidenceCollect只有该领域没有确认事件且未拒答才算剩余采集;否则跳过持久化、terminalNote。 - 决策 3
persistCollectFocus撞focus_idempotency_conflict:仅collect_retry === true才:next,否则duplicate_focus。persistFocusAfterChoice不再为duplicate_focus读 dossier 重试。 - 决策 4
holdoutFollowupFor的 occupied 归并health/health_pressure。
三栏(被触碰断言)
| 用例 | 原值 | 新值 | 理由 |
|---|---|---|---|
| 事故形状 yearless→采集 | next_followup.domain = finance(取 yearless[0]=D11) |
null |
决策 1,财务已覆盖 |
| 同形状但迁居未覆盖 | finance | relocation | 守卫只跳过已覆盖领域 |
| idle persist 事故形状 | 财务采集焦点 / :next |
terminalNote: true,0 次 set-focus |
决策 1+2 |
| 非 retry 采集撞 id | 任何撞 id 都 :next |
duplicate_focus,RPC 一次 |
决策 3 |
collect_retry 撞 id |
:next |
仍 :next |
保留 BUG-462 retry |
holdout 账本 health + oos health_pressure |
health_pressure |
null |
决策 4 |
测试
frontend./node_modules/.bin/tsc --noEmit:exit 0npm run lint:0 error(仓库既有 warning 未清)- 任务书指定 TS 切片(
tests/rectification-*.test.ts+agent-voice-copy-contract.test.ts,排除 database):1006 passed / 0 failed - Docker
database-rectification-*.test.ts:本机未跑,记 blocked block_scan壁钟(BUG-570 P2):既有缺口,本单不声称全量 Python 门通过- 浏览器七领域真人走查:无登录态,记环境缺口,见
docs/testing/rectification-scenarios-20260907.md§6
偏离
- 任务书写
nextAction === "adopt_representative"。实现同时认ready_to_adopt与sessionOutcome === "adopt_representative",因为公开 nextAction 是前者。 - 验收形状扩在
rectification-occupation-coverage-exit.test.ts,没有新建文件。 - idle 夹具按解析后账本算
evidenceLedgerFingerprint,避免 RPCsummary与内存账本对不上把快照判成过期、决策掉回collect_evidence。 rectification-eight-method.test.ts:yearless D24 在 CLASSIC_COVERAGE 已有学业时,不再锁「再问一遍学业」;改为收未覆盖的财务。