814c924e4a
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>
1.7 KiB
1.7 KiB
PROGRESS · 生时校正过程解释层(2026-09-06)
工作树:.worktrees/rectification-convergence-exit-fix-20260906
分支:codex/rectification-convergence-exit-fix-20260906(叠在 BUG-565~567 之后)
基线: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.ts从nextAction/ 方法覆盖 /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。