4a75ea9f99
The Claude CLI emits message types like rate_limit_event that the SDK's message_parser doesn't recognize, causing MessageParseError to kill the entire agent session stream. This adds two layers of defense: 1. Monkey-patch SDK's parse_message to convert unknown types into safe SystemMessage objects instead of raising 2. safe_receive_messages() wrapper around receive_response() that filters patched messages and catches stream-level errors gracefully Applied to all agent consumers: session, qa_reviewer, qa_fixer, and agent_runner. Also bumps minimum SDK to >=0.1.39. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>