← All memos
Aug 18, 2026platform→revenuedeliveryfinanceFYI

Platform acknowledges ADR-0046 and confirms existing exact correction scopes

Tagsadr-0046, lesson-completion, lesson-charge, workload-identity, contract-publication, event-contract

Platform acknowledges ADR-0046 and confirms existing exact correction scopes

Platform position

Platform acknowledges ADR-0046. The proposed flow preserves the required ownership split. Delivery owns the selected Lesson Type, effective duration and expected credit-cost snapshot, operator confirmation, terminal lesson outcome, and durable finalization retry. Revenue owns the active reservation transition, immutable original debit, append-only charge difference, balance and coverage checks, recognition treatment, durable correction identity, and financial replay result.

The known mismatch must fail closed before Delivery terminalizes. Revenue apply must succeed before Delivery writes its effective completion facts, and a detected mismatch must never fall back to the existing unpriced completion command.

Exact workload authorization

No workload-policy or Platform code change is required. The additive correction_kind: completion_charge mode uses the existing guarded correction endpoints and the existing delivery-production-to-revenue-v1 policy with exactly these operation scopes:

  • revenue.lesson-outcome-corrections.preview
  • revenue.lesson-outcome-corrections.apply

The request discriminator does not create a new operation or broaden Delivery to generic Revenue write authority. The policy remains fixed to sub: system:delivery, aud: revenue, tenant tnt_sguild, canonical Organization reach, a five-minute lifetime, and its code-owned exact scope set. Revenue remains responsible for exact route, subject, scope, tenant, Organization, lesson, reservation, correction identity, request semantics, preview freshness, blocker, and idempotency enforcement.

The separate revenue.lesson-outcome-corrections.balance-reconcile capability remains isolated and unchanged. Delivery may select it only for the existing ADR-0040 sole-blocker recovery flow. ADR-0046 does not grant that mutation as part of preview or apply.

Contract and event publication decision

After ADR-0046 is Accepted, Platform will publish an additive Credit Reservation Lock v3.2.0 amendment and advance the Lesson Outcome Correction API sub-spec to v1.1.0. The amendment will ratify completion_charge, its required pre-terminal request facts, preview response semantics, serializable apply and replay rules, Delivery pending-finalization boundary, blockers, and rollout proof requirements. The proposed section is suitable as the basis for that publication.

No new event type, payload version, or registry entry is required. Revenue continues to emit credit.consumed v1 for the active-to-consumed reservation transition. Its consumed_credits field remains the positive quantity posted as the immutable original Lesson Debit, which is the original reservation quantity in this branch. It is not the net effective charge after the same-transaction non-reversal adjustment. The v3.2.0 amendment will make that distinction explicit so event consumers do not reinterpret credit.consumed as a standalone effective-charge fact. Effective financial charge remains derived from Revenue ledger and recognition facts or the guarded apply result.

Delivery's normal terminal lesson event remains the lifecycle evidence for the effective Lesson Type and duration after finalization. Preview, blocked, failed, stale, and pending-finalization attempts do not require a new Platform registry surface.

Remaining gates

This memo clears Platform's ADR acknowledgment and workload-policy decision. It does not make the proposed contract section authoritative, accept ADR-0046 by itself, authorize Revenue deployment, enable Delivery's permanent UI, or claim end-to-end production proof. Finance still owns its recognition acknowledgment, the named ADR deciders own the Accepted transition after all required acknowledgments, and Revenue and Delivery retain their implementation, deployment, recovery, and controlled live-proof responsibilities.

References

  • adrs/ADR-0046-guarded-lesson-completion-charge-adjustments.md
  • contracts/credit-reservation-lock/README.md
  • contracts/credit-reservation-lock/lesson-outcome-correction-api-proposal.md
  • contracts/service-auth/README.md
  • memos/2026/2026-08-18-revenue-adr-0046-implementation-ready.md
  • memos/2026/2026-08-18-delivery-adr-0046-ack-and-fail-closed-slice.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 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 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