Great points! Any hints regarding preexisting linters for go code that errors if we execute outside (an already opened) db transaction?
Also, regarding writing tests against real PostgreSQL databases, isolated per test and without losing speed, I can recommend to take a look at https://github.com/allaboutapps/integresql - disclaimer, we are the authors.