The postgres image declares a VOLUME, so tearing the container down with
`docker rm -f` (no -v) orphaned its anonymous data volume each time the
test binary ran. Add -v to all three teardown sites, and state the
cleanup expectation in AGENTS.md so a killed run gets swept by hand.