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.