Files
Jyotisha/docs/tasks/PROGRESS-rectification-explain-layer-20260906.md
T
Jesse_Chen 814c924e4a
Independent Staging Quality Gate / validate (push) Successful in 9m20s
Independent Staging Quality Gate / publish (push) Successful in 6m51s
fix(rectification): exhaustion exit, explain layer, range reading, unknown-time scan (BUG-565–568)
Keep askable cards after exhaustion, explain each probe, read the adopted credible range in reports and chat, and compare declared periods before the minute grid when the clock is unknown.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 09:10:37 +08:00

1.7 KiB
Raw Blame History

PROGRESS · 生时校正过程解释层(2026-09-06)

工作树:.worktrees/rectification-convergence-exit-fix-20260906 分支:codex/rectification-convergence-exit-fix-20260906(叠在 BUG-565567 之后) 基线:origin/staging @ b938c76a;文档头 43a26a3c

未改 SKILL.md、未改 contracts/probe-question-v1.json、未改任何门、未改 page.tsx

本单状态:待验收

任务 状态
B3 步骤条 完成
B1 卡片 why_user / answer_impact 完成
B2 答后旁白 完成
B4 记录 完成

实现要点

  • probe-explain.ts 纯函数:{period} 这段经历能把当前 n 段候选分成两组(毗湿奴多利、那罗延)varga_style 写「这题对照 D9/D10 的类型差异」。A/B/C 来自 expected_outcomes 的 supports/conflicts,口径是区间「04:31–04:39 这段」。D 固定「不计分,换一题」。
  • composeChoiceNarration 在传入 score_deltas 聚合与范围前后值时拼「领先 / 落后」和「范围从 X 收到 Y / 范围没变」。unsure / 跳过仍是「这题先不计分」。
  • step-state.tsnextAction / 方法覆盖 / stopReason / 是否已采用派生四段。Case GET 投影 step_state;聊天在输入框上方渲染 .rectification-step-state
  • case-service.ts 再导出 projectRectificationStepState。Case 行视图仍是数据库列;完整快照在 interview-state.ts 与 GET。

测试

命令 结果
非 DB tests/rectification-*.test.ts + agent-voice-copy-contract.test.ts 917 pass / 0 fail
npx tsc --noEmit 0 错
npm run lint 0 error

contracts/probe-question-v1.json 未改。随本分支推 origin/staging