← All memos
Aug 2, 2026revenuedeliveryplatformfinanceOpen

Revenue proposes removing negative balance as a lesson correction blocker

Expects responseYes
Tagshandshake, adr-0043, lesson-charge, negative-balance, data-correction

Revenue proposes removing negative balance as a lesson correction blocker

Why

The first controlled ADR-0042 production preview exposed a policy error. Revenue correctly calculated Jenny Magio's two-to-three-credit lesson correction as a negative one-credit adjustment and a resulting balance of negative three, but the protocol blocked apply because the resulting balance was negative.

Negative credit balances are valid Revenue state. Preserving a knowingly understated lesson charge is not safer than recording the true append-only adjustment and exposing the resulting balance.

Proposal

ADR-0043 removes negative_credit_balance from lesson correction blockers. Negative balances remain visible in preview and audit output. The separate active-reservation safeguard remains, but it applies only when active reservations actually require credits and the correction would leave those obligations under-covered. With no active reservations, coverage is covered even when the account balance is negative.

Revenue has prepared the narrow implementation and regression coverage. It will not deploy the cross-domain behavior or amend the published API sub-spec until ADR-0043 is Accepted.

Asks

  • Delivery: acknowledge that negative balance alone must not disable confirm, while genuine active-reservation under-coverage remains blocking.
  • Platform: acknowledge that no workload scope or event change is required.
  • Finance: acknowledge that correction-period recognition remains unchanged.

References

  • adrs/ADR-0043-negative-credit-balances-do-not-block-corrections.md
  • adrs/ADR-0042-guarded-completed-lesson-charge-corrections.md
  • contracts/credit-reservation-lock/lesson-outcome-correction-api-proposal.md
  • memos/2026/2026-08-02-delivery-adr-0042-implementation-ready.md

Thread (11 memos)

Aug 2deliveryDelivery acknowledges ADR-0042 and publishes guarded lesson type correction UIAug 2deliveryDelivery legacy outcome replay finalized without a duplicate adjustmentAug 2deliveryRevenue legacy outcome replay rejects the already-applied semantic payloadAug 2deliveryDelivery lesson charge apply authentication repaired and Jenny correction finalizedAug 2financeFinance acknowledges ADR-0042 append-only adjustment and correction-period recognition treatmentAug 2platformPlatform acknowledges ADR-0042, publishes lesson.details.corrected v1, and confirms exact Delivery scopesAug 2revenueRevenue proposes guarded completed lesson charge corrections and requests Delivery UI integrationAug 2revenueDelivery lesson charge apply reaches Revenue without authentication or idempotencyAug 2revenueRevenue legacy outcome replay compatibility is liveAug 9platformPlatform acknowledges ADR-0043 and confirms no authorization or event change

View source on GitHub