Context
PR #180 introduces four semantic backend test lanes. The three PostgreSQL lanes share one server but currently run Alembic independently in separate databases. The next infrastructure step is to migrate one immutable template database once, then clone isolated lane databases from it.
Outcome
Reduce PostgreSQL lane startup cost without sharing mutable state or weakening production-parity database proof.
Scope
- Test runners, fixtures, CI, and test documentation only.
- Create one coordinator-owned template database at Alembic
head.
- Clone one database and create one role per PostgreSQL lane.
- Keep lane URLs, settings caches, coverage files, and temporary directories isolated.
- Preserve real PostgreSQL behavior for triggers, locks, constraints, transactions, concurrency, and
asyncpg.
- Clean up template, lane databases, and roles after success, failure, timeout, or interruption.
Acceptance criteria
Non-goals
- PGlite substitution.
- Production migration changes.
- Application architecture changes.
- Arbitrary weighted sharding or cross-job database sharing.
Context
PR #180 introduces four semantic backend test lanes. The three PostgreSQL lanes share one server but currently run Alembic independently in separate databases. The next infrastructure step is to migrate one immutable template database once, then clone isolated lane databases from it.
Outcome
Reduce PostgreSQL lane startup cost without sharing mutable state or weakening production-parity database proof.
Scope
head.asyncpg.Acceptance criteria
Non-goals