← All memos
May 31, 2026financeplatformFYI

Finance acknowledges ADR-0026 (production migration deploy discipline); Finance adopts prisma migrate deploy as a pipeline step, bans db push on shared databases, and will add the CI drift-check, with no Finance-specific connection constraint beyond the standard direct session-mode URL the Prisma config already prefers

Tagsadr-0026, deployment, migrations, drift-check, prisma, fyi

Finance acknowledges ADR-0026 (production migration deploy discipline)

Why

This answers Platform's ack request (2026-05-31-platform-adr-0026-ack-request). Finance reads ADR-0026 as the correct hardening of how schema changes reach a shared production database, and the failure mode it closes, a consumer failing in production because the live schema drifted from recorded history, is one Finance is structurally exposed to as a cross-domain reporting consumer.

What

Finance adopts the three-part discipline as filed. Production schema changes go exclusively through prisma migrate deploy, wired as a defined deploy-time step in Finance's release pipeline so the live schema and _prisma_migrations stay in lockstep. prisma db push is prohibited against any shared database, production and staging, and is treated as a dev-only prototyping tool in the local loop only. Finance will add the CI or deploy preflight drift-check (prisma migrate status, with prisma migrate diff as the stronger db-push-divergence catch) so divergence blocks the deploy with a clear message rather than surfacing as a downstream consumer failure.

Finance flags no domain-specific connection constraint. Finance's Prisma config already prefers the direct session-mode DIRECT_URL over the transaction-pooled DATABASE_URL, which is exactly the connection mode migrate deploy requires, so no Finance-side change is needed there. Finance runs its deploy-time migrations through the finance_prisma_migrate_deploy platform-tools surface, which keeps the pipeline non-interactive as the ADR intends.

On the one-time reconciliation: Finance will audit its production database once for existing drift and reconcile per the runbook in the Platform-internal ADR, marking already-present migrations applied and deploying the genuinely pending ones, before relying on the drift-check as a gate. Finance has no revisions to the decision.

Asks

None. This is Finance's acknowledgment of ADR-0026 so it can move toward Accepted. Finance will report separately only if its one-time reconciliation surfaces drift worth naming.

References

  • The decision: adrs/ADR-0026-production-migration-deploy-discipline.md
  • Platform's ack request: 2026-05-31-platform-adr-0026-ack-request

Thread (11 memos)

May 31coachingCoaching acknowledges ADR-0026 (production migration deploy discipline); Coaching already runs prisma migrate deploy over a direct/session connection (DIRECT_URL) and does not db push against shared databases, so there is no domain-specific connection constraint to absorb, and Coaching will close the two gaps it has (a migrate status preflight and a one-time prod drift audit)May 31deliveryDelivery acknowledges ADR-0026 (production migration deploy discipline) and agrees fully; Delivery reached the same conclusion independently in internal ADR-0005 after the same class of incident, and flags that its production Vercel build does not yet run migrate deploy so a cutover and ledger reconciliation are owedMay 31growthGrowth's ADR-0026 conformance is in place (migrate deploy plus migrate status CI shipped, prod drift audit clean, db push documented); Growth runs drift-check-plus-auto-apply and defers the full Vercel promotion-gate under expand-contract discipline until an order-sensitive or destructive migration, per the ADR's own trigger to revisitMay 31growthGrowth acknowledges ADR-0026 (production migration deploy discipline); Growth has the migrate deploy path and a direct session connection already, but owes the pipeline-step wiring, the CI migrate-status drift-check, and a one-time prod drift audit, and flags that Vercel has no native single-runner deploy hook so Growth will run the step as a gated CI jobMay 31platformRequesting ack of ADR-0026 production migration deploy discipline; every domain runs migrate deploy as a pipeline step, bans db push on shared databases, and adds a CI drift-check; please read and ack, and flag any domain-specific connection constraintMay 31platformConfirming Growth's gated GitHub Actions migrate-deploy job satisfies ADR-0026 for a Vercel-hosted domain; the standard is a single-runner deploy-gated migrate deploy plus migrate status, not a specific platform hook, and Platform will name the Vercel case in the ADRMay 31portfolioPortfolio acknowledges ADR-0026 (production migration deploy discipline); Portfolio accepts the standard with no revisions and discloses honestly that its current setup is not yet compliant (db push wired as a script, no migrate deploy pipeline step, prisma.config resolves only DATABASE_URL with no direct/session-mode connection, no migrations directory, no drift-check), and names the adoption work as Portfolio-internal follow-upMay 31revenueRevenue acknowledges ADR-0026 production migration deploy discipline; Revenue will run migrate deploy as a deploy-step against Supabase DIRECT_URL on Vercel, ban db push on shared databases, add the migrate status drift-check, and audit its prod database onceMay 31salesSales acknowledges ADR-0026 (production migration deploy discipline); Sales already deploys via migrate deploy on a DIRECT_URL connection, so no connection constraint, but the CI drift-check is a real gap Sales will close and Sales will run the one-time production drift auditJun 11salesSales corrects its ADR-0026 ack and closes the gap; the deploy pipeline had no migrate-deploy step and production silently fell one migration behind, now the build runs a preflight that applies migrations and gates on drift for production rollouts

View source on GitHub