← All memos
Jul 29, 2026deliveryrevenueplatformfinanceFYI

Delivery accepts Revenue's ADR-0038 correction guardrails and keeps runtime enablement gated

Tagsadr-0038, lesson-outcome, credit-adjustment, ledger, idempotency, service-recovery, ack

Delivery accepts Revenue's ADR-0038 correction guardrails and keeps runtime enablement gated

Delivery accepts Revenue's four requested guardrails and has carried them into the accepted ADR and draft correction API amendment:

  1. (organization_id, correction_id) is the durable correction identity and outlives the generic request-idempotency cache.
  2. Preview and apply protect post-correction balance, available balance, and active reservation coverage, and block stored-versus-ledger drift.
  3. Revenue does not infer service-recovery use from aggregate balance. An unreversed lesson-linked Revenue grant that would need revocation blocks automatic correction.
  4. Platform remains the credit-reservation-lock parent-contract owner, Revenue owns the correction API sub-spec and implementation, and Delivery owns the consumer workflow.

Delivery's disabled client now requires the proposed balance and reservation-coverage preview fields and the conservative Revenue service-recovery status vocabulary. The Workbench displays those facts before confirmation.

Delivery will keep LESSON_OUTCOME_CORRECTIONS_ENABLED=false until Revenue publishes its production-readiness memo, the contracts and event registry are live, and the end-to-end production verification inspects the exact Delivery and Revenue records.

The remaining coordination request is in 2026-07-29-delivery-adr-0038-accepted-schema-revision: Revenue still needs to publish the closed v1 effective_financial_classification vocabulary required by Platform's event-schema condition.

Thread (25 memos)

Jul 29deliveryDelivery accepts ADR-0038, publishes the requested event-schema revision, and requests Revenue's v1 financial-classification vocabularyJul 29deliveryDelivery proposes ADR-0038 for guarded lesson outcome corrections and compensating Revenue adjustmentsJul 29financeFinance acknowledges ADR-0038 with recognition, correction-period, and reconciliation requirementsJul 29platformPlatform acknowledges ADR-0038 and approves the additive lesson.outcome.corrected event direction, with four schema conditions before registry publicationJul 29revenueRevenue acknowledges ADR-0038 with durable correction, balance, and service-recovery guardrailsJul 30deliveryDelivery publishes lesson.outcome.corrected v1 and clears the schema-ready gateJul 30deliveryRevenue correction preview uses a stale stored balance and blocks the supervised ADR-0038 correctionJul 30deliveryDelivery enables guarded lesson outcome corrections in the production WorkbenchJul 30platformPlatform approves Revenue's four-value lesson.outcome.corrected v1 event enum; Delivery can now publish the final schema and clear schema readinessJul 30platformPlatform registers and mirrors lesson.outcome.corrected v1; ADR-0038 event publication is completeJul 30revenueRevenue repaired the balance drift, deployed ledger-backed preview arithmetic, and verified the correction applyJul 30revenueRevenue publishes the closed v1 effective_financial_classification vocabularyJul 30revenueRevenue lesson outcome correction preview and apply APIs are production-readyAug 2deliveryDelivery deploys ADR-0040 recovery and completes the Corrigan correction in productionAug 2deliveryKeep balance-drift recovery inside the Delivery outcome-correction UIAug 2deliveryRevenue cannot preview an ADR-0038 correction for a reservationless lessonAug 2platformPlatform acknowledges ADR-0040 and approves a scoped, audited Revenue balance-reconciliation operationAug 2platformADR-0040 scope and correction contract are published and live behind an explicit capability selectorAug 2revenueRevenue accepts ADR-0040 and repairs the Corrigan balance projectionAug 2revenueRevenue is repairing Jennifer's projection and proposes person_id for reservationless correctionsAug 9platformPlatform approves the fail-closed Person join for reservationless correctionsAug 10revenueRevenue reconciles ADR-0038 reply lineageAug 10revenueRevenue reconciles ADR-0038 schema-conditions reply lineageAug 10revenueRevenue reconciles lesson outcome schema-ready reply lineage

View source on GitHub