Files
Jyotisha/docs/tasks/PROGRESS-rectification-adopt-narration-20260904.md
T
Jesse_Chen 0aaa0d702e
Independent Staging Quality Gate / validate (push) Successful in 10m33s
Independent Staging Quality Gate / publish (push) Successful in 1m55s
fix(rectification): narrate exhausted-probe adopt instead of keep-collecting
When leftover probes cannot split adjacent minutes, skip frameless follow-ups and let a no-tool agent explain the stop. Distinguish-card "no" no longer closes a whole evidence domain.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 14:22:13 +08:00

4.4 KiB
Raw Blame History

PROGRESS · 采集题答「没有」后采用卡旁白(2026-09-04)

工作树:.worktrees/rectification-adopt-narration-20260904 分支:codex/rectification-adopt-narration-20260904 基线:任务书写 origin/staging 4d0a67a2;开工时 origin/staging 是任务书提交 fc5eca8c。交付前已 git fetch 并快进合入 cfa82499(校正时间线 live 步骤 + 去掉「先这样」出口)。 任务书:docs/tasks/TASK-rectification-adopt-narration-20260904.md 未改 Python、未 bump Skill(仍 10.0.14)、未放宽采用门 / 确认门 / DB target_domain check。未提交、未 push。

任务 状态 BUG
4.1 已丢弃区分探针不得绕过采用早退 完成 BUG-519(任务书原写 516
4.1.4 采用旁白 Agent + 模板停止原因兜底 完成 BUG-519
4.2 区分题答否不再关整条领域 完成 BUG-520(任务书原写 517

编号

cfa82499 已占用 BUG-516518。本单实际落点 BUG-519 / BUG-520。任务书第 7 节已补同步说明。

实现要点

  • rectificationFollowupCatalognakshatraProbe 先过 inspectDiscriminatorProbes;无 choice_frame 的 nakshatra followup 进 dropped_probesnot_renderable)。
  • isRemainingDiscriminatorFollowup 对无 frame 的 distinguish 返回 false。interviewToPersistdeferred 只取可渲染 distinguish。
  • persistableFocusDomain:非白名单返回 null。原值 "horary" / 新值 null / 原因:DB check 不含 horary。无 frame 的 appearance distinguishskipped、零次 RPC、不二次重试。
  • 采用旁白:adoptDeliveryFacts + deliverAdoptNarration(无工具;HH:MM / 四位年份 / 剩余整数含相对支持度必须能在事实里找到,否则整段丢弃)。三条入口都接了 writer。模板在 BUG-503 stopReasonPrefix 之后补「分不开 A 和 B」。与意图分类器相同,不计费
  • 点选路径:skippedNextInterview 时保留 Agent 旁白,不用模板 adoptionNarration 覆盖。
  • declinedDomains 只把采集题(缺 intent 的旧行仍算采集)当成领域拒答。dossierWithClosedFocusintent

偏离

任务书验收句「plan.next_followupplan.deferred_followup 均为 null 或均带 choice_frame」按字面会打断既有「adopt 本轮不提问、采集题进 deferred」不变量(adopt_representative defers method follow-up)。实际锁的是:deferred 不得再放无 frame 的 distinguish;采用轮仍可 stash 采集题。14 探针 fixture 按此断言。

既有「occupation collect denial advances to horary」:原值写 p_target_domain=horary / 新值不写 horary 采集焦点 / 原因同上 DB check。计划层仍可提出 horary,落库层不再写。

测试

  • tsc --noEmit0 错
  • npm run lintfrontend/):0 error74 warning(既有,本单未新增 error)
  • 聚焦:rectification-adopt-narration-20260904 8/8;与 stall / server-focus / eight-method / provisional-adopt / adopt-flow-fix / answer-choice 合计 150/150
  • tests/rectification-*.test.ts tests/agentic-rectification-*.test.ts tests/birth-time-rectification-contract.test.ts869 pass / 0 fail
  • 全量 tests/*.test.ts2638 条。与 next build 并行时 3 条 Docker Postgres 测试因 migration/连接争用失败(billing-admin、foundation、model-configuration-security);隔离重跑这 3 个文件 11/11 通过。有效失败清单与 staging 一致(空)。本单新增 8 条,总数不低于 cfa82499
  • next build:工作树 frontend/node_modules 是指向主仓的符号链接,默认 Turbopack 会报 symlink 出根。用 NEXT_TURBOPACK_ROOT 临时对齐 tracing root 后构建成功;/ 仍是 Static。next.config.ts 未改、未提交该 workaround。
  • 未改 Python;预检里的系统 Python / swisseph 噪音不当作本单回归。

改动文件

  • 新增:frontend/src/lib/rectification-agentic/v9/adopt-narration.tsadopt-narration-agent.tsfrontend/tests/rectification-adopt-narration-20260904.test.ts
  • 决策/落焦点:method-followup.tsdecision-from-dossier.tsanswer-choice.tsserver-focus.tsuser-copy.tsroute.ts
  • 回归:rectification-collect-stall.test.tsrectification-server-focus.test.tsrectification-answer-choice.test.ts
  • 文档:docs/BUG_HISTORY.mddocs/testing/rectification-adopt-narration-20260904.mddocs/tasks/README.mdCHANGELOG.md