v0.6.4
Bug Fix
Docker batch chats stuck in "running" after turn completion (#7)
Chat sessions spawn with Interactive=true, so the agent process stays alive between turns waiting for input. The session watcher only transitioned chats to idle on process exit (terminal state), which never happens for interactive sessions. After the first turn completes, the chat is permanently stuck in "running" — follow-up messages eventually hit 429 "chat busy".
Fix
watchSessionLoop now calls handleSessionExit on result events (turn completion), not just on process exit. The old interactive session is killed after transitioning to idle or respawning with a pending message. The ticker remains as a safety net for crashes/disconnects.
Multi-message cycle now works reliably
POST /chats/test/messages {"message":"Hi"} → spawns session 1 → result → idle
POST /chats/test/messages {"message":"Bye"} → spawns session 2 (with resume) → result → idle
POST /chats/test/messages {"message":"Again"} → spawns session 3 (with resume) → works ✓
Each turn spawns a fresh session with --resume wired from the previous turn's Claude session ID.