Files
Jyotisha/docs/tasks/PROGRESS-rectification-targeted-collect-spoken-focus-20260913.md
T
jesse-ux 8221c6121b
Independent Staging Quality Gate / validate (push) Successful in 10m39s
Independent Staging Quality Gate / publish (push) Successful in 2m9s
fix(rectification): restore targeted collect cards from spoken focus (BUG-673)
Keep targeted existence questions as A-D cards. Recover collect-schema
stock by question-id prefix, surface the stem when persist fails, and
send spoken targeted existence to the repair exit instead of a naked prompt.
2026-09-14 01:51:55 +08:00

2.6 KiB
Raw Blame History

进度 · 定向补事口述焦点复原(2026-09-13)

范围

  • 分支:codex/rectification-targeted-collect-spoken-focus-20260913(基于 origin/staging @ 9a943cc2
  • 任务单:docs/tasks/TASK-rectification-targeted-collect-spoken-focus-20260913.md
  • BUG-673(复发自 BUG-670);最大号核对时为 672
  • 不改数据库、迁移、deploy/**、workflow、page.tsx

完成

  • T1 写入侧:serverOwnedExpectedAnswerSchema / persistServerOwnedFocusCore 对定向存在题先 rebuildTargetedCollectExistenceFollowup;重建失败返回 null / skipped,不得 collectFocusSchemarectification-set-focus 同一条件不降级,spokenPrompt 不替换卡片题干。年份阶段 collect:targeted:<domain>:year 仍是口述。
  • T2 复原侧:承接焦点与 GET choice_card 按题号前缀识别采集型 schema,用 schema.prompt 重建 frame。projectCurrentQuestion 同条件投影 kind: "choice":next 后缀同样能复原。
  • T3 persistNextInterviewAfterChoice 尾部显式 persisted: falsekeptNextQuestion 为假时 next_user_action 不再引用未落库的题。persistSkippedCollectFocus 对定向存在题写点选 schema,resolve 失败重试一次,返回值不得为 active
  • T4 interviewChoiceCardUnavailable 增加 questionId:口述形态的定向存在题走 unavailable + repair-exit;普通口述与 year 阶段不误伤。
  • T5 BUG-673、CHANGELOG、本文件、docs/testing/rectification-targeted-collect-spoken-focus-20260913.md

让步

  • 任务书 T4 写「questionId 以 collect:targeted: 开头」一律判不可用。年份追问 collect:targeted:<domain>:year 本来就是口述,若按字面会误伤。实现只把存在题(可带 :next)当缺卡。

验收

  • tsc --noEmit0 错
  • ESLint(改动文件):0 error;既有 unused-vars warning 未新增
  • 新测试 rectification-targeted-spoken-focus-recovery-20260913.test.ts10/10
  • 相关回归:rectification-server-focus / question-ownership / answer-choice / spoken-prompt 69/69targeted-card-live + surface-state 通过
  • 本机 npm test2948 tests2775 pass / 159 fail / 14 skip。失败项是 Windows CRLF、无 Docker、bash 脚本合同(Caddy \n vs \r\n、deploy/.sh、database-),与本单无关。新增测试只增加通过数。
  • next buildCompile + TypeScript 通过;collect page data 在本机 Windows 因 EPERM symlink 与 Skill 10.0.26 SHA 校验失败(未改 skills/)。/ 是否仍 ○ Static 未在本机核对。
  • 真机存量会话复验见 docs/testing/rectification-targeted-collect-spoken-focus-20260913.md