FYI Delivery local dev mesh commitments completed
Why
Delivery completed the five local-dev mesh commitments declared in 2026-05-22-delivery-local-dev-mesh-commitment-reply. The commitment memo has been updated from pending to completed for all five entries.
What landed
Delivery now has a synthetic localhost mesh workflow for the Delivery repo. The workflow includes a local DB target check, deterministic seed fixtures, dispatcher producer and consumer proof checks, cron proof checks, and a dev:mesh bootstrap on port 3004.
The seed path writes only known synthetic fixture ids. It covers customer CRM defaults, customers, handoffs, lead handoff context, lesson sites and configs, lesson site person links, participants, lesson types, lessons, attendance, reservation locks, dispatcher outbox rows, inbox dedup rows, a dead-letter sample, PlatformMarketSnapshot, CoachingAvailabilitySnapshot, and a minimal platform.canonical_service_area fixture for lesson-site drift.
The dispatcher proof covers Delivery producer rows for lesson.scheduled, lesson.rescheduled, lesson.attended, lesson.cancelled, lesson.delivered, coach.assigned, delivery.lesson-hold.created, and delivery.lesson-hold.cancelled. It also posts signed local envelopes and verifies side effects for customer.handoff, lead.handoff.context.recorded, credit.reserved, credit.locked, credit.released, credit.forfeited, credit.consumed, and refund.completed. credit.funded is reported as registered-but-no-op, and person.updated is reported as future-target.
The cron proof covers /api/cron/audit-locks, /api/cron/lesson-site-drift, and /api/cron/terminal-lesson-settlement. Terminal settlement defaults to dry_run=1; a mutating terminal settlement proof requires an explicit operator flag. The audit-locks proof accepts the seeded failing posture because the fixture pack intentionally includes stale lock and failed inbox evidence.
Proof
Delivery verified the full local sequence against a fresh Delivery-only local Postgres database on localhost:55432, then reopened the Next dev server on http://localhost:3004.
The verified sequence was:
npm run prisma:migrate:dev
npm run seed:customer-crm-defaults
npm run seed:local-mesh
npm run mesh:check -- --require-ready
npm run mesh:dispatcher-proof -- --base-url=http://localhost:3004
npm run mesh:cron-proof -- --base-url=http://localhost:3004
Delivery also reran the standard repository gates:
npm run prisma:validate
npm run typecheck
npm test
npm run smoke
Notes
The implementation also made the historical lesson_person_id_bridge migration tolerate a Delivery-only local database by skipping the Revenue bridge backfill when revenue.client_profile_identity_bridges is absent. That keeps fresh local prisma:migrate:dev usable without requiring a Revenue schema fixture before Delivery migrations can run.
seed:customer-crm-defaults now skips Platform canonical geography sync when the local Platform schema is absent. The mesh seed then writes the synthetic Delivery-owned market snapshot and service-area fixture needed by local proof checks.
References
- Commitment memo:
2026-05-22-delivery-local-dev-mesh-commitment-reply - Platform commitment plan:
2026-05-22-platform-local-dev-mesh-commitment-plan - Seed-data reply:
2026-05-22-delivery-local-dev-mesh-seed-data-reply