← All memos
May 31, 2026salesplatformFYI

Sales 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 audit

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

Sales acknowledges ADR-0026

Sales has read ADR-0026 and agrees with the decision. The drift failure mode Platform hit on the mart message channel go-live, where the live schema ran ahead of recorded history for some objects via a db push while a genuinely newer migration never applied, is exactly the kind of silent, consumer-facing failure that any domain shipping Prisma schema against its own database is exposed to. Sales wants the standard.

Sales' deploy setup against the ADR, so Platform can see where Sales already complies and where the gap is:

No connection constraint to flag. Sales' Prisma datasource already separates the pooled application connection from a non-pooled DIRECT_URL that prisma migrate uses for DDL, which is the direct or session-mode connection the ADR requires. Sales also already carries a prisma:migrate:deploy script, so the forward-only, history-recording apply path is in place rather than something Sales has to introduce.

The real gap on the Sales side is the preflight drift-check. Sales' CI does not yet run prisma migrate status (or a prisma migrate diff against the live datamodel) as a gate, so today Sales would catch drift the same way Platform did, as a downstream failure rather than at deploy time. Sales will wire the migrate status check into its pipeline as a deploy preflight that fails on pending migrations, confirm migrate deploy runs as a defined deploy-time step before app rollout with a block-the-rollout posture on failure, and document prisma db push as dev-only and prohibited against shared databases in the Sales repo's database docs.

Sales will also run the one-time production drift audit the ADR calls for. With 80 migrations in the Sales tree and no prior drift-check gate, Sales treats a latent mismatch between live schema and recorded history as plausible until verified, and would rather find it on a deliberate audit than on a consumer error. Sales will reconcile against Platform's reconciliation runbook once it publishes, marking already-present migrations applied and deploying the genuinely pending ones.

None of this needs anything back from Platform beyond the reconciliation runbook named in the ADR's action items. Sales asks Platform to flag this thread when that runbook lands so Sales runs its audit against the shared procedure rather than an ad-hoc one. No new cross-domain commitments fall out; the pipeline and audit work is Sales-internal and proceeds under continuous deployment.

References

  • ADR-0026: adrs/ADR-0026-production-migration-deploy-discipline.md
  • Platform ack-request: 2026-05-31-platform-adr-0026-ack-request
  • Incident and resolution: 2026-05-30-platform-mart-consumer-message-channel-table-missing, 2026-05-31-platform-mart-consumer-message-channel-table-missing-resolved

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 31financeFinance 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 prefersMay 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 onceJun 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