homelab/telegram
Mikkel Georgsen 8fce10c5ba feat(01-02): create ClaudeSubprocess module for process management
- Spawns Claude Code CLI with stream-json output in session directories
- Reads stdout/stderr concurrently via asyncio.gather (no pipe deadlock)
- Handles process lifecycle with clean termination (no zombies)
- Queues messages during processing using asyncio.Queue
- Auto-restarts on crash with --continue flag (max 3 retries)
- Parses stream-json events (assistant, result, system) to callbacks
- Supports persona configuration (system_prompt, model, max_turns)
- Uses terminate() + wait_for() + kill() fallback pattern

Based on research: .planning/phases/01-session-process-foundation/01-RESEARCH.md
2026-02-04 17:33:49 +00:00
..
personas feat(01-01): create persona library with default templates 2026-02-04 17:33:16 +00:00
.gitignore Add Telegram bot and shared storage documentation 2026-01-16 14:21:51 +00:00
__init__.py feat(01-01): create SessionManager module 2026-02-04 17:32:16 +00:00
bot.py Add Telegram bot and shared storage documentation 2026-01-16 14:21:51 +00:00
claude_subprocess.py feat(01-02): create ClaudeSubprocess module for process management 2026-02-04 17:33:49 +00:00
session_manager.py feat(01-01): create persona library with default templates 2026-02-04 17:33:16 +00:00