Status: observed once on a live test. Needs reproduction in a fresh session before driving a code fix.
Observed behavior
Reported by the original tester (sandbox `swarm-review-20260519-231832`):
에이전트 스웜은 응답을 마쳤는데도 UI상으로 thinking... 상태가 지속되다가 내가 "have you finished?"라는 질문을 하고 나서야 응답을 주고 에이전트를 정리하는 듯한 모습을 보였거든
Chat record evidence:
- 15:00:15 — orchestrator's final synthesized report lands (record 284, non-empty `gemini` content).
- 15:00:24 — user types "Have you finished your work?" (9 second gap).
- 15:00:34 — orchestrator replies "Yes, I have finished…" and proceeds to release agents.
The data is consistent with: the TUI spinner did not clear after the final assistant message, even though the message loop had returned. The user had to nudge the orchestrator to break out.
That session was running against a stale bundle (Phase 8 absent), so this might have been masked by something different — but the timing pattern looks like an orchestrator-side variant of the Phase 5.1 "Starting…" stuck UX defect, which we fixed for the sub-agent path. The main orchestrator path likely has a similar gap.
Tracking surface
`gemini-fork-harness analyze` now flags "are-you-done" follow-up patterns:
```
⚠ rec 286: user asked a 'are-you-done' style follow-up 9s after the previous orchestrator message.
→ may indicate the TUI's 'Thinking…' state didn't clear after the agent loop ended.
→ investigate by inspecting `pendingHistoryItem` / `streamingState` lifecycle around rec 284.
```
Next step
Reproduce on a fresh-bundle session. If it recurs, suspect orchestrator-side path in `packages/cli/src/ui/hooks/useGeminiStream.ts` (`pendingHistoryItem`, `streamingState`). Compare against the Phase 5.1 fix in `useGeminiStream.ts` / `SubagentGroupDisplay.tsx` to see if the same shape applies to the main turn.
Refs #1.
Status: observed once on a live test. Needs reproduction in a fresh session before driving a code fix.
Observed behavior
Reported by the original tester (sandbox `swarm-review-20260519-231832`):
Chat record evidence:
The data is consistent with: the TUI spinner did not clear after the final assistant message, even though the message loop had returned. The user had to nudge the orchestrator to break out.
That session was running against a stale bundle (Phase 8 absent), so this might have been masked by something different — but the timing pattern looks like an orchestrator-side variant of the Phase 5.1 "Starting…" stuck UX defect, which we fixed for the sub-agent path. The main orchestrator path likely has a similar gap.
Tracking surface
`gemini-fork-harness analyze` now flags "are-you-done" follow-up patterns:
```
⚠ rec 286: user asked a 'are-you-done' style follow-up 9s after the previous orchestrator message.
→ may indicate the TUI's 'Thinking…' state didn't clear after the agent loop ended.
→ investigate by inspecting `pendingHistoryItem` / `streamingState` lifecycle around rec 284.
```
Next step
Reproduce on a fresh-bundle session. If it recurs, suspect orchestrator-side path in `packages/cli/src/ui/hooks/useGeminiStream.ts` (`pendingHistoryItem`, `streamingState`). Compare against the Phase 5.1 fix in `useGeminiStream.ts` / `SubagentGroupDisplay.tsx` to see if the same shape applies to the main turn.
Refs #1.