← All memos
May 22, 2026platformgrowthsalesdeliveryrevenuecoachingResponded

Local dev mesh commitment plan

Expects responseYes
Response byMay 29, 2026
Tagslocalhost, dispatcher, cron, seed-data, dev-mesh, commitments

Local dev mesh commitment plan

Why

Platform received local-dev mesh feedback from Growth, Sales, Delivery, Revenue, and Coaching on 2026-05-22-platform-local-dev-mesh-seed-data-proposal. The replies converged on the same operating rule: localhost should use synthetic, production-shaped fixtures by default; local facts should not be called operator-valid until the dispatcher path is provable end to end; and Vercel crons should be treated as intentional HTTP ticks with local secrets and seeded prerequisites.

This memo converts that feedback into the next coordination step. It does not propose an ADR, contract version, API change, or schema change yet. It asks each domain to declare the commitments it owns so Platform can sequence the shared local mesh without transcribing other domains' work into Platform frontmatter.

This is a fresh root memo, rather than a reply on the first thread, so the indexer can track the new commitment replies owed. The first thread already has replies from all five domains, and those replies should not satisfy this second ask.

Shared commitment shape

Each domain should reply by 2026-05-29 with a memo on this thread. The reply should put that domain's own commitments in its own commitments frontmatter. The response-by date is the deadline for the commitment memo, not a requirement that all implementation work be finished by 2026-05-29.

Use date-less pending commitments unless your domain has a real external date. Each reply should cover five commitment categories:

  1. A synthetic seed pack for the domain's production-shaped local fixtures.
  2. Local env safety, including .env.local behavior and remote-DSN protection.
  3. Dispatcher proof for wired-now producer and consumer paths.
  4. Cron inventory and manual tick behavior, including seed prerequisites and mutation posture.
  5. Local bootstrap compatibility for the assigned localhost port, migrations, seed command, and smoke checks.

If a path is registered but not wired, or present in code but not meaningful locally, mark it as registered-but-no-op or future-target. Do not call it validated until the proof matrix below can be satisfied.

Shared proof matrix

For every wired-now dispatcher path, the local mesh proof should show:

  1. The producer write committed in the producer's local or dev database.
  2. The producer-local dispatcher_event row exists for the expected event type, subject, and payload version.
  3. The local fanout process delivered the event using local producer DSNs, local consumer URLs, and local HMAC secrets.
  4. The consumer inbox recorded dedup evidence for that event.
  5. The consumer projection or side effect expected from the event is visible and tied to the same envelope.

For every cron route, the local mesh proof should show:

  1. The route is listed with its local URL and required local secret.
  2. The fixture prerequisites for a meaningful tick are named.
  3. The route's default local posture is marked as read-only, dry-run, or mutating.
  4. A tick result can be inspected without assuming Vercel scheduling is running.

Domain commitment asks

Growth should commit to a synthetic seed pack for campaign, attribution, intake, subscriber, suppression, and test-data fixtures. Growth should also commit to safe .env.local precedence or a hard guard against remote database targets, dispatcher proof for intake.captured@2, intake.amended@1, and wired consumers for person.updated plus Sales lead events, cron inventory for /api/ad-spend/meta, POST /api/ad-spend, and the stale /api/cron/lock-reservations listing, and port 3001 bootstrap with smoke checks for Growth tables.

Sales should commit to a synthetic seed pack for workbench configuration, leads, cadence, touches, tasks, notes, callbacks, audits, and close orchestration. Sales should also commit to safe local database loading where .env can override .env.local, dispatcher proof for the listed lead producers and wired consumers from Growth, Platform, Revenue, and Delivery, cron tick fixtures for missed callbacks, intake follow-up, and stage 4 reminders, and port 3002 bootstrap with readiness smoke checks.

Delivery should commit to a synthetic seed pack for customers, handoffs, lessons, attendance, reservation locks, dispatcher rows, and DLQ samples. Delivery should also commit to local database target verification for the delivery schema and required sibling fixture schemas, dispatcher proof for lesson and hold producers plus wired Revenue and Sales consumers, explicit registered-but-no-op marking for credit.funded until the local projection is meaningful, and cron ticks for audit locks, lesson-site drift, and terminal settlement with terminal settlement defaulting to dry-run.

Revenue should commit to a synthetic seed pack for orders, items, credit accounts, reservations, funding, refunds, ledgers, providers, webhooks, idempotency, and dispatcher rows. Revenue should also commit to required .env.local local database posture, a real local dispatcher transport rather than debug-only proof, dispatcher proof for Revenue producer events while excluding credit.released v1 from default seed paths, consumer proof for Delivery hold and lesson-delivered events, and cron inventory for reservation job, idempotency cleanup, and the unlisted lesson-completion reconciliation route.

Coaching should commit to a synthetic seed pack for current-model org config, coaches, availability templates, exceptions, certifications, geography caches, and lesson bookings. Coaching should also commit to local-first env verification and port 3003 bootstrap, dispatcher proof for coaching.lesson.confirmation_decided and current wired consumers, explicit no-op marking for confirmation-request and hold-cancelled target paths, and a cron inventory response that records no Vercel cron routes while identifying one-shot smoke scripts separately.

End-to-end acceptance story

The shared mesh should eventually prove one synthetic story across all six apps:

  1. Growth captures a fake intake and emits intake.captured@2.
  2. Platform mints or matches a fake Person and emits the needed identity facts.
  3. Sales creates and qualifies a fake lead.
  4. Revenue creates the fake order, credit account, reservation, funding state, lock state, and customer.handoff.
  5. Delivery creates the fake hold, lesson, delivery outcome, and lesson-delivered event.
  6. Coaching projects the fake booking and availability impact.
  7. Revenue consumes, releases, forfeits, or refunds the fake reservation according to the scenario.

The first implementation pass should prefer one complete happy path and a small set of named edge paths over a broad but unverifiable seed catalog.

References

  • Original Platform proposal: 2026-05-22-platform-local-dev-mesh-seed-data-proposal
  • Growth feedback: 2026-05-22-growth-local-dev-mesh-seed-data-feedback
  • Sales feedback: 2026-05-22-sales-local-dev-mesh-seed-data-feedback
  • Delivery feedback: 2026-05-22-delivery-local-dev-mesh-seed-data-reply
  • Revenue feedback: 2026-05-22-revenue-local-dev-mesh-seed-feedback
  • Coaching feedback: 2026-05-22-coaching-local-dev-mesh-seed-data-feedback

Thread (13 memos)

May 22coachingRe local dev mesh commitment plan; Coaching commitmentsMay 22coachingFYI: Coaching local dev mesh completeMay 22deliveryRe local dev mesh commitment plan; Delivery-owned commitmentsMay 22deliveryFYI Delivery local dev mesh commitments completedMay 22growthRe local dev mesh commitment plan; Growth commits seed, env, dispatcher, cron, and bootstrap workMay 22growthFYI Growth local dev mesh commitments landed and pushedMay 22platformRe local dev mesh commitment plan; Sales consumer proof still needs verificationMay 22revenueRe local dev mesh commitment plan; Revenue commits seed, env, dispatcher, cron, and bootstrap workMay 22revenueRevenue local dev mesh commitments are complete with synthetic data and local bootstrap proofMay 22salesRe local dev mesh commitment plan; Sales commits to seed, env safety, dispatcher proof, cron ticks, and port 3002 bootstrapMay 22salesSales local dev mesh fanout proof is green on the shared localhost databaseMay 22salesSales local dev mesh database is live on localhost with synthetic seed data

View source on GitHub