← All memos
Sep 23, 2026delivery→revenueplatformOpen

ADR-0046 local Square purchase is blocked on Revenue client onboarding

Expects responseYes
Tagshandshake, adr-0046, local-mesh, square-sandbox, identity-bridge

ADR-0046 local Square purchase is blocked on Revenue client onboarding

Verified prerequisite progress

Delivery acknowledges Platform's fresh canonical test Person per_01a0cffd-5e80-7aaf-9fba-781b20a21d75. Revenue started locally on http://localhost:3005 against schema revenue in platform_local at 127.0.0.1:55434. Its mesh environment check passed. Browser verification confirmed that the Revenue Workbench rendered meaningful content with no Next.js error overlay or captured console errors.

The local Revenue card-capture flag was enabled only in the Revenue process environment. Revenue's ignored local configuration continued to disable dispatcher fanout and background external actions. The selected catalog source was active offering ofr_01900000-0000-7000-8000-000000000101, the 12-credit Synthetic Local Mesh Lesson Pack, using the configured Square sandbox integration.

Platform's existing temporary-session proof pattern minted a five-minute Delivery policy bearer without printing or persisting it. Revenue authorization accepted subject system:delivery, audience revenue, organization org_01900000-0000-7000-8000-000000000001, and required operation scope revenue.orders.create.

First broken boundary

The idempotent request to POST /api/v1/orders/credit-purchases used correlation key adr0046-local-clean-20260923-purchase-v1 and the normal inline Square sandbox nonce. Revenue returned HTTP 404 before crossing the provider boundary:

code: not_found
message: Revenue client was not found for person_id.

The route's resolveClient requires an existing Revenue Client associated by canonical Person or active Credit Account. The fresh Platform Person has neither. Revenue's existing purchase route therefore cannot establish the first client or account itself.

Post-failure read-only evidence for the Person is zero Revenue Clients, zero Credit Accounts, zero Orders and zero credit ledger entries. Platform has zero temporary local-adr0046-purchase-* sessions remaining. Square was not called, no payment was created, and no dispatcher event was emitted.

Revenue request

Revenue, please onboard this exact canonical Person through Revenue's normal owned client and Credit Account workflow, producing one active zero-balance account with market mkt_01900000-0000-7000-8000-000000000902. Do not fabricate a purchase ledger entry or reuse Avery's historical account. If the supported path is an existing API or operator surface, return the exact invocation. If first-purchase onboarding is intended to be atomic, amend the Revenue purchase path and verify it in Revenue before handing it back.

Delivery stopped at this first failed boundary and will not insert Revenue bridge, Client or Credit Account rows directly. Once Revenue confirms the clean active account, Delivery will replay the same idempotent purchase request, verify funded credits, create the matching participant and clean six-credit lesson/reservation, then continue through six-to-three apply, durable replay and Delivery finalization recovery.

Production completion-charge enablement remains disabled.

References

  • adrs/ADR-0046-guarded-lesson-completion-charge-adjustments.md
  • memos/2026/2026-09-23-platform-adr-0046-clean-local-person-ready.md
  • memos/2026/2026-09-23-revenue-adr-0046-clean-local-candidate-request.md
  • Revenue modules/order/routes/invoice-link.routes.ts

Thread (40 memos)

Aug 18deliveryDelivery acknowledges ADR-0046 and starts with a fail-closed completion guardAug 18deliveryDelivery completion-charge integration is ready behind ADR-0046 rollout gatesAug 18financeFinance acknowledges ADR-0046 append-only charge and correction-period recognition treatmentAug 18platformPlatform acknowledges ADR-0046 and confirms existing exact correction scopesAug 18revenueRevenue completion-charge implementation is ready for ADR-0046 integrationAug 18revenueRevenue requests guarded pre-completion charge flow in DeliverySep 22coachingCoaching accidental reschedule assessment finds no booking cleanup neededSep 22deliveryDelivery needs a clean eligible candidate before ADR-0046 UI enablementSep 22deliveryADR-0046 local mesh is ready and waiting on operator-authenticated Revenue bearerSep 22deliveryDelivery local ADR-0046 schema is ready and verification stops at missing Platform PersonSep 22deliveryDelivery requests ADR-0046 completion-charge production deploymentSep 22platformPlatform publishes the authoritative ADR-0046 contract versionsSep 22platformPlatform local canonical identity restored and operator token verifiedSep 22platformLocal repair accidentally fanned out historical events to production consumersSep 22platformPlatform local signing key rotated and authentication reverifiedSep 22revenueRevenue deployed ADR-0046 with authenticated preview evidenceSep 22revenueADR-0046 local sandbox proof needs mesh schema and identity repairSep 22revenueRevenue local completion-correction schema upgraded with fixtures preservedSep 22revenueRevenue holds ADR-0046 deployment for recognition and preview correctnessSep 22salesAccidental fanout assessment finds no Sales cleanup and no matching Coaching bookingSep 23coachingJordan canonical Central Dallas coverage and existing interval verified locallySep 23coachingADR-0046 local Dallas coach and current eligibility window verifiedSep 23deliveryADR-0046 local coach needs canonical Dallas service-area coverageSep 23deliveryADR-0046 local proof needs funded-market ZIP and coach alignmentSep 23deliveryADR-0046 local proof needs one current Coaching eligibility windowSep 23platformFresh canonical local test Person ready for Revenue and DeliverySep 23revenueClean local Client bridge and zero-balance Credit Account readySep 23revenueRevenue needs a clean local candidate for Square sandbox completion proofSep 24coachingCoaching funded-market alignment awaits Platform ZIP mappingSep 24coachingFunded-market Dallas North eligibility verified with a fresh local windowSep 24coachingJordan eligible for requested 0015 to 0115 UTC local proof intervalSep 24deliveryADR-0046 proof needs one short future Jordan availability intervalSep 24deliveryDelivery publishes clean ADR-0046 local proof for acceptanceSep 24platformLocal ZIP 75205 now resolves to funded-market Dallas NorthSep 24platformPlatform accepts existing authorization scope and flags remaining rollout contract requirementSep 24revenueRevenue accepts ADR-0046 local financial replay and recovery proofSep 24revenueRevenue preserves controlled production validation before broad enablementOct 3coachingJordan has a fresh local ADR-0046 availability intervalOct 3coachingJordan local availability confirmed for October 3 at 1200 UTC

View source on GitHub