Files
Jyotisha/docs/tasks/PROGRESS-rectification-covered-domain-recollect-20260908.md
T
Jesse_ChenandCursor 7ca6ade244
Independent Staging Quality Gate / validate (push) Successful in 11m33s
Independent Staging Quality Gate / publish (push) Successful in 7m49s
fix(rectification): stop re-asking covered domains after adopt (BUG-590, BUG-591)
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>
2026-09-08 12:27:40 +08:00

3.3 KiB
Raw Blame History

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_supportminute_step=1SCORE_DELTA、四选项合同、Skill 版本(仍 10.0.15)。

做了什么

  • 决策 1 method-followup.ts 职业覆盖后的 yearless→采集:遍历全部 yearlessDiscriminators,跳过拒答、hasConfirmedDomain(含 health/health_pressure)和已问过 collect:<domain>:* 的领域。全部跳过则 next 保持空。
  • 决策 2 shouldSkipFollowupPersistcanAdopt 且(nextAction === "ready_to_adopt"sessionOutcome === "adopt_representative")且 stopReason === "probe_pool_exhausted" 时,isRemainingEvidenceCollect 只有该领域没有确认事件且未拒答才算剩余采集;否则跳过持久化、terminalNote
  • 决策 3 persistCollectFocusfocus_idempotency_conflict:仅 collect_retry === true:next,否则 duplicate_focuspersistFocusAfterChoice 不再为 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: true0 次 set-focus 决策 1+2
非 retry 采集撞 id 任何撞 id 都 :next duplicate_focusRPC 一次 决策 3
collect_retry 撞 id :next :next 保留 BUG-462 retry
holdout 账本 health + oos health_pressure health_pressure null 决策 4

测试

  • frontend ./node_modules/.bin/tsc --noEmitexit 0
  • npm run lint0 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

偏离

  1. 任务书写 nextAction === "adopt_representative"。实现同时认 ready_to_adoptsessionOutcome === "adopt_representative",因为公开 nextAction 是前者。
  2. 验收形状扩在 rectification-occupation-coverage-exit.test.ts,没有新建文件。
  3. idle 夹具按解析后账本算 evidenceLedgerFingerprint,避免 RPC summary 与内存账本对不上把快照判成过期、决策掉回 collect_evidence
  4. rectification-eight-method.test.tsyearless D24 在 CLASSIC_COVERAGE 已有学业时,不再锁「再问一遍学业」;改为收未覆盖的财务。