The app's pooled connections belong to the loop that opened them, so a second asyncio.run in one test failed with "attached to a different loop" (run 9116). Tests that do several passes now await them in one coroutine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>