bfeda5b5e9
The min_size=10 default survived to 1.2.4 because every PG test injected a pool and thus skipped the pool-building path entirely. Unit tests now assert the create_pool arguments, but "we passed min_size=0" and "the server really opened that many backends" are two different claims, and only a real instance can settle the second one. Count via a run-unique application_name carried on the DSN: the instance is shared with other projects, so counting by database or role would fold their connections into ours and make the case flaky by construction. Degradation is exercised through an unreachable DSN rather than by exhausting the shared instance's connections. A refused connection lands in the same class as exhaustion, and the fake clock lets the 60s cooldown be observed without sleeping. retry_after_s is the signal that separates a real retry (which renews the window) from the cheap short circuit (which does not). Evidence: with create_pool reverted to its pre-fix form both cases go red (observed 10 backends after a single write, and refusal surfacing at pool creation instead of at prepare time).