Per-user, per-agent Claude clients
Each of the eight agents owns its own Claude client with its own
httpx
connection pool, tagged with agent_id.
Eight parallel requests, eight separate pools — no head-of-line blocking between
the PM and the Validator.
src/utils/llm_client.py · LLMClient owns its AsyncAnthropic + httpx pool