Files
Sauci/e2e

System E2E

Execute with npm run verify:e2e. The command starts the documented standalone local stack, waits for API, web, admin, and MCP health, and supplies Playwright with the ports selected by scripts/dev-local.sh. Product-data fixtures use only the loopback standalone PostgreSQL database and assert the visible web result plus the resulting database state. It never starts or writes to the retired Supabase data plane.

To reuse a stack that the same local-stack configuration already manages, set SAUCI_E2E_REUSE=true. The command still requires the approved local/non-production Auth URL, loopback PostgreSQL, and all four local services to be healthy. Keep the same SAUCI_*_PORT overrides that were used to start that stack; do not pass ad-hoc WEB_URL, ADMIN_URL, or MCP_URL values.

Playwright retains traces, screenshots, and videos on failure under ignored output directories.

Native flows live under maestro/ and run with npm run test:mobile:e2e after an iOS or Android build is installed. login-screen-smoke.yaml is credential-free. login-smoke.yaml requires E2E_EMAIL and E2E_PASSWORD for a disposable, onboarding-complete user in the designated hosted non-production Supabase Auth project, with a matching standalone database profile. Never use production Auth, a subscriber account, or a service-role key for local/E2E acceptance.