address review feedback
- use from/to instead of old/new to match existing event patterns
- incorporate testing into each phase instead of separate phase
- fix misleading comment in events.py
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
fix: use asyncpg directly for advisory locks instead of psycopg2
The previous implementation used SQLAlchemy's create_engine() with a sync
PostgreSQL URL, which defaults to the psycopg2 driver. However, the project
only has asyncpg installed, not psycopg2.
This fix uses asyncpg directly to acquire and release advisory locks,
avoiding the need for psycopg2 entirely. The implementation handles both
cases: when running in an async context (uses ThreadPoolExecutor) and when
running outside an async context (uses asyncio.run directly).
Co-Authored-By: alex.s@prefect.io <ajstreed1@gmail.com>
Mark SDK CLI as beta
- Add (beta) indicator to sdk command group help
- Add (beta) prefix to generate command description
- Print beta notice when command runs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>