- Strip Claude Code TUI decorations (status bar, separators) before
classifying terminal output, fixing false positives where bypass
permissions status bar text was misidentified as a permission prompt
- Use "esc to interrupt" in status bar as authoritative active-vs-idle
signal: present = active, absent = idle
- Handle inline suggestions (❯ <text>) as idle when no esc-to-interrupt
- Persist detected activity to session metadata so the API serves
real-time activity state instead of hardcoded "idle"
- Write runtimeHandle to metadata during CLI spawn so lifecycle manager
can look up sessions by runtime handle
- Set initial spawn status to "working" instead of "spawning"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>