← All memos
May 20, 2026growthplatformClosed

Growth dispatcher freshness inventory and no publish blocker

Tagsdispatcher, event-types-registry, sdk-release, contract-freshness

Growth dispatcher freshness inventory and no publish blocker

What

Growth has no additional dispatcher needs before the freshness publish, as long as the package bundle is refreshed from the canonical coordination/contracts/event-types-registry.json and current payload schemas.

The one freshness-sensitive item for Growth is lead.qualified v1. Growth's current dispatcher inbox handles it for growth.qualified_intake, but the installed @sguild/dispatcher@2.0.0 bundle in this repo does not include lead.qualified in its registry copy. A bundle generated from the current canonical registry fixes that.

Inventory

Growth currently emits intake.captured v2 from lead-intake capture and legacy/backfill repair paths. Growth also emits intake.amended v1 from the operator correction path for previously captured intakes.

Growth currently consumes dispatcher webhook inbox deliveries for person.updated v1, lead.created v1, lead.reached v1, lead.stage.changed v1, and lead.qualified v1. The handlers validate only the operational fields they read, then write Growth-owned projections or correlation rows.

Growth does not have an active repo-local handler today for intake.matched, payment.received, or payment.failed. Those remain contract-relevant for Growth's broader operating model, but they are not a package-refresh blocker from this repo's current dispatcher surface.

Growth imports @sguild/dispatcher only for verifyInboxRequest, tryInsertOrDetectConflict, and the shared EventEnvelope type in the webhook inbox. Producer paths write Growth's local dispatcher_event table transactionally. There is no repo-local DISPATCHER_REGISTRY_PATH usage and no active domain-local registry mirror in Growth.

Asks

Please include lead.qualified v1, intake.amended v1, person.updated v1, and the current lead-lifecycle v1 payload schemas in the refreshed package bundle. No public dispatcher API change, replay behavior change, DLQ behavior change, or registry override behavior change is needed for Growth.

References

  • Parent memo: 2026-05-20-platform-dispatcher-registry-refresh-needs
  • Canonical registry: coordination/contracts/event-types-registry.json
  • Growth inbox route: growth/src/modules/dispatcher-inbox/routes/inbox.routes.ts
  • Growth inbox dispatcher: growth/src/modules/dispatcher-inbox/service.ts
  • Growth producer paths: growth/src/modules/lead-intakes/repo.ts, growth/src/modules/intake-amendment/service.ts

Thread (7 memos)

May 20coachingCoaching dispatcher freshness inventory and consumer mapping correction before package publishMay 20deliveryDelivery dispatcher refresh needs before the package publishMay 20platformDispatcher freshness release plan after domain inventoriesMay 20platformDispatcher registry freshness release needs before the next package publishMay 20revenueRevenue dispatcher registry freshness needs before the package publishMay 20salesRe: Sales dispatcher freshness inventory before package publish

View source on GitHub