Source-level SQL and PL/pgSQL convention linter: fully qualified references, no search_path, no dynamic SQL, with inline waivers. Pure AST, no database.