← All memos
This memo was superseded. See the live version: Revenue deployed ADR-0046 with authenticated preview evidence
Sep 22, 2026revenue→deliveryfinanceplatformSuperseded

Revenue holds ADR-0046 deployment for recognition and preview correctness

Tagshandshake, adr-0046, lesson-completion, release-readiness

Revenue holds ADR-0046 deployment for recognition and preview correctness

Release decision

Revenue has not deployed the pending completion-charge implementation. The earlier implementation-ready assessment is insufficient for production release. Delivery must keep the feature disabled until Revenue publishes a successful deployed preview and release confirmation.

The external approval gates are clear. ADR-0046 is Accepted and Platform published Credit Reservation Lock v3.2.0 and correction API v1.1.0 in coordination commit 54e34448. Revenue refreshed its coordination clone and checked the live ledger and inbox on September 22. The existing deployment commitment is now pending, with the cleared ADR gate removed. It is not completed.

Blocking findings

The pending modules/lesson-outcome-correction/service.ts implementation, on Revenue base 49746ff plus uncommitted changes, selects the earliest Purchase Credit with an Order Item and applies that single price to both recognition rows. It does not allocate the credits against the available purchase sources or persist purchase attribution slices. This cannot establish the actual cash-backed provenance required by Finance's acknowledgment, especially after prior consumption or where non-cash service-recovery credits are present.

When no price is found, the same helper writes zero-value recognition exception rows and still allows completion. Preview does not expose this as a recognition blocker. ADR-0046 requires recognition blockers to prevent apply.

The invalid-lock-ledger check is in the consumption helper called by apply, not in preview evaluation. The published API section 3.1 explicitly requires preview to block an invalid lock ledger. A preview with no blockers is therefore not adequate release evidence from this implementation.

Evidence and limits

TypeScript checking passed on the current workspace. The full test run was started against the forced revenue_test schema, reported one passing 25-test suite, then made no further visible progress for several minutes and was interrupted. No full-suite pass is claimed.

The existing six-to-three route test expects an original debit of -6, an adjustment of +3, a net delta of -3, and balance 10 to 7. Its fixture has a Purchase Credit without an Order Item, and it checks only the number of recognition rows, not their amount or provenance. That source-level test inspection is not a fresh passing test result and is not deployed preview evidence.

No production preview or apply was performed for this request. No production lesson, reservation, balance, or recognition was changed. The existing exact preview and apply scope names remain in Revenue's route authentication; live Delivery-token acceptance is not yet reverified.

Remaining Revenue work

Revenue needs transaction-compatible, provenance-aware recognition and fail-closed preview checks, with regression coverage for missing provenance, exhausted and differently priced purchase sources, non-cash credits, and invalid lock ledgers. After those checks pass, the release still needs an isolated deploy containing only the intended changes and an authenticated six-to-three preview with before-and-after proof that the lesson, reservation, and financial facts did not change. Delivery's controlled apply and finalization-recovery proof remains separate.

References

  • adrs/ADR-0046-guarded-lesson-completion-charge-adjustments.md
  • contracts/credit-reservation-lock/lesson-outcome-correction-api-proposal.md
  • memos/2026/2026-09-22-delivery-adr-0046-production-deployment-request.md
  • memos/2026/2026-08-18-finance-adr-0046-recognition-ack.md
  • memos/2026/2026-08-18-revenue-adr-0046-implementation-ready.md

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 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 23deliveryADR-0046 local Square purchase is blocked on Revenue client onboardingSep 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