The 70s answer clock was sized for a non-reasoning writer; thinking tokens come out of the same clock and deepseek-v4-pro took 77s on a parents answer. Product 2026-10-01 chose five minutes. The general / no-birth-minute loop has no tools, so it now starts on the answer clock instead of the 110s tool clock. Tool phase and domain budget unchanged; maxDuration 240 -> 480. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2.2 KiB
2.2 KiB
TASK · 普通对话答题时钟 70 s → 5 分钟(2026-10-01)
- 基线:
origin/staging8912ba68 - 分支 / worktree:
codex/consult-answer-clock-20261001/.worktrees/consult-answer-clock-20261001 - 模式:直接执行(产品 10-01 选择「直接执行」),Claude 派子代理实现、独立验收
- BUG:BUG-1142
事故实证
10-01 真实模型对比(docs/testing/consult-plain-answer-20261001-model-runs.md):deepseek-v4-pro 父母题 77 s 写完,超过 CONSULTATION_ANSWER_TIMEOUT_MS(frontend/src/mastra/consultation-tools.ts)的 70 s,线上会以 answer_truncated 截断。时限全链路排查:从浏览器、Caddy、Node 到 provider,能在写作中截断回答的只有本应用的两只钟(工具 110 s、答题 70 s),其余层都 ≥ 240 s 或不按总时长计。另发现无出生分钟路线(usesPublicDailyGeneralAgent)不切答题时钟,整段循环受 110 s 工具钟管。
决策记录
- 产品 2026-10-01:答题时长「可以延长、别定 70 秒这个上限」;在「3 / 5 / 10 分钟」中选 5 分钟,定位为防卡死,不是长度限制。推翻 BUG-1051 / 1053 记录中「110 + 70 = 180 s,产品接受三分钟」的口径,新上限 110 + 300 = 410 s。
- 无出生分钟路线一并走答题时钟。
- 工具阶段 110 s 与领域预算(2 个领域)不变。
硬红线
不动生时校正(rectification-*、RECTIFICATION_RUN_BUDGET_MS)、agent-generation-settings.ts、Caddy / deploy / workflow;截断仍记 answer_truncated 且不扣点。
任务与验收
| # | 内容 | 验收 |
|---|---|---|
| T1 | 答题时钟 300_000,注释写清原因 | 单测锁 300 s,工具钟仍 110 s |
| T2 | 领域预算不随之变化 | 单测锁 65 s / 2 个领域,公式不读答题时钟 |
| T3 | 无出生分钟路线从第一步起走答题时钟(answerFromStart) |
单测:工具钟到点不掐循环,答题钟到点仍掐;route 接线断言 |
| T4 | maxDuration 240 → 480 |
单测:110 + 300 + 60 s 以内 |
| T5 | 下游时限核对(只报告) | 见 PROGRESS |
| T6 | 记录:BUG-1142、CHANGELOG、README、真机清单加一步 | — |