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

50 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 节已补同步说明。
## 实现要点
- `rectificationFollowupCatalog``nakshatraProbe` 先过 `inspectDiscriminatorProbes`;无 `choice_frame` 的 nakshatra followup 进 `dropped_probes``not_renderable`)。
- `isRemainingDiscriminatorFollowup` 对无 frame 的 distinguish 返回 false。`interviewToPersist`**deferred** 只取可渲染 distinguish。
- `persistableFocusDomain`:非白名单返回 `null`。原值 `"horary"` / 新值 `null` / 原因:DB check 不含 horary。无 frame 的 appearance distinguish`skipped`、零次 RPC、不二次重试。
- 采用旁白:`adoptDeliveryFacts` + `deliverAdoptNarration`(无工具;`HH:MM` / 四位年份 / 剩余整数含相对支持度必须能在事实里找到,否则整段丢弃)。三条入口都接了 writer。模板在 BUG-503 `stopReasonPrefix` 之后补「分不开 A 和 B」。与意图分类器相同,**不计费**。
- 点选路径:`skippedNextInterview` 时保留 Agent 旁白,不用模板 `adoptionNarration` 覆盖。
- `declinedDomains` 只把采集题(缺 intent 的旧行仍算采集)当成领域拒答。`dossierWithClosedFocus``intent`
## 偏离
任务书验收句「`plan.next_followup``plan.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 --noEmit`0 错
- `npm run lint``frontend/`):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.ts`869 pass / 0 fail
- 全量 `tests/*.test.ts`2638 条。与 `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.ts``adopt-narration-agent.ts``frontend/tests/rectification-adopt-narration-20260904.test.ts`
- 决策/落焦点:`method-followup.ts``decision-from-dossier.ts``answer-choice.ts``server-focus.ts``user-copy.ts``route.ts`
- 回归:`rectification-collect-stall.test.ts``rectification-server-focus.test.ts``rectification-answer-choice.test.ts`
- 文档:`docs/BUG_HISTORY.md``docs/testing/rectification-adopt-narration-20260904.md``docs/tasks/README.md``CHANGELOG.md`