Skip to content

DR-096 — The E2E substrate is the vendor-standard local stack (`supabase start` + `db reset`) on the CI runner; hosted branches are preview/staging surfaces, not test substrates

Status: accepted · S497 (owner ratification, all four board rulings)

Grounds. Seeding is integration-owned — measured across all three branch-creation modes, only the git-PR pipeline runs Seed/Configure; every official Supabase CI example runs the local stack; and the local stack is the only substrate where config.toml is deterministically authoritative (eliminates the DR-085 inheritance lottery for E2E). Bespoke mechanisms carry the burden of proof (owner ruling S496).

Consequences. scripts/e2e-ephemeral-branch.ts retires wholesale at the {365.5} cutover; DR-085 continues to govern any hosted-branch provisioning that remains (the GitHub-integration preview lane, kept as configured); E2E users stay out of seed.sql (separate seed:e2e-users admin-API leg — committed-credentials + preview-branch hazard); cutover gated on one measured run on the private-repo runner tier. Full measurement record and cutover surface list: tasks/id-365.md + retro S497.