The e2e stack's business-db is a hand-rolled schema + seed (stack/business-db/seed.sql) matching what the PKG's API-key lookup expects. That means the harness verifies PKG ↔ its own expectations, not PKG ↔ the real postguard-business schema: if postguard-business migrates a column the PKG reads (business_api_keys, organizations, users), production breaks while the harness stays green.
Fix: provision business-db from postguard-business's actual drizzle migrations (run its migrator as a one-shot container in the stack, or generate the schema from the checked-out migrations) and seed only data on top. Then a schema-contract break fails the golden flow.
The e2e stack's
business-dbis a hand-rolled schema + seed (stack/business-db/seed.sql) matching what the PKG's API-key lookup expects. That means the harness verifies PKG ↔ its own expectations, not PKG ↔ the real postguard-business schema: if postguard-business migrates a column the PKG reads (business_api_keys,organizations,users), production breaks while the harness stays green.Fix: provision
business-dbfrom postguard-business's actual drizzle migrations (run its migrator as a one-shot container in the stack, or generate the schema from the checked-out migrations) and seed only data on top. Then a schema-contract break fails the golden flow.