Per-test engine creation/disposal triggers asyncpg event loop errors during pytest-asyncio teardown. Module-level engines are created once and reused across all tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>