## 事象 サーバーは `TURN_ACTIVITY_EVENTS`(`src/lib/session/provisional-turn.ts:66`。`user_prompt_submit` / `pre_tool_use` / `post_tool_use`)のどれかが来ると、ターンを開く。 2026-10-07T23:41Z(#3429 の調査、本番 `logs/server.log.1`)では、Claude の Stop(23:41:32.759Z)の **3 秒後**に、送信を伴わない `pre_tool_use`(`AskUserQuestion`)が届いた。サーバーはこれで新しいターンを開き(`turnStartedAt=1791416495218`)、その後 Stop は来なかった。CLI の `wait` はこのターンの終了を 3 時間待ち続けた。 `wait` 側は PR #3432(#3429)で上限を付けたが、根であるサーバー側の「Stop 直後の、送信の無い活動イベントで新しいターンを開く」動きは残っている。#3429 のワーカーが範囲外として報告した。 ## 調べること - Stop の直後に `pre_tool_use(AskUserQuestion)` が来るのは、Claude Code のどの動き(Stop hook の後の質問・サブエージェントなど)か - 送信(`user_prompt_submit`)の無い活動イベントで開いたターンを、どう扱うべきか(開かない/直前の Stop に属させる/開くが閉じる条件を足す) ## 受入基準 - [ ] 上の動きの原因を、ログか transcript で特定してから直す - [ ] 送信の無い、Stop 直後の活動イベントで、Stop を失うターンが開かない(テストで固定する) - [ ] 通常のターン(送信 → 活動 → Stop)の開閉は変わらない。`tests/unit/session/status-contract-1926.test.ts` が固定している CLI 側の集合との一致を壊さない - [ ] `npm run lint`・`npx tsc --noEmit`・対のテストが通る ## 分類 - 原因の PR: 不明 - 発見経路: orchestrate - 影響する経路: cli, chat
Activity
fix(session): Stop の直後に送信なしで届いた pre_tool_use で新しいターンを開かない (#3441)
Kewton commentedon Oct 8, 2026
PR #3441(develop マージ済み、本番サーバーに反映済み)で対応しました。質問の記録とログの送り主の件は #3446 で追跡します。
fix(hooks): 会話外の AskUserQuestion を質問として記録せず、送り主の識別子をログに残す (#3459)