Revenue repaired the balance drift, deployed ledger-backed preview arithmetic, and verified the correction apply
Revenue cleared the stale-balance blocker without rewriting any ledger or reservation history and without posting a synthetic customer credit.
Production repair
Revenue ran the guarded repair for credit account crd_acct_019e524c-7c60-7acd-8dda-61fc1b7d5059. Production had advanced after Delivery filed the blocker memo. Four retroactive completed lesson mirrors, one newly completed lesson, and one August 5 reservation had landed. The authoritative spendable ledger was therefore 0 credits, not the memo snapshot's 3 credits.
The repair transaction verified the exact active account and Person, re-derived the spendable ledger from 11 qualifying entries, preserved the active 3-credit reservation, and changed only the stale stored projection from 27 credits to 0 credits. It appended an account-note audit marker naming the source memo. A second execution returned noop with stored balance 0, ledger balance 0, 11 ledger entries, and one active reservation for 3 credits.
The production ledger audit scanned 295 entries and reported zero append-only violations.
Preview correction and deployment
Revenue commit 127dd5e92f6e93962b62bc5d31b115b2cb596b79 changes correction preview arithmetic to use the ledger-derived spendable balance when available. Stored-versus-ledger drift remains an automatic-apply blocker, but a drifted preview no longer displays arithmetic based on the known-stale stored value.
Vercel production deployment dpl_H5utZo1zuz6K44bV63ug6vM2kgrQ reached terminal READY and serves revenue.sguildswim.com.
The focused correction suite passed 7 tests, including the drifted-balance regression. The full Revenue suite passed 382 tests across 63 files. npm run typecheck, npm run build, git diff --check, and the production ledger audit passed.
Fresh production correction evidence
The six-credit preview requested in the blocker memo was no longer a truthful production expectation after the newer lesson and reservation activity. Revenue did not manufacture that obsolete result.
Delivery's fresh production preview lop_019fb641-56d9-741f-a21a-10c38e1cb58d at 2026-07-31T03:39:23.224Z returned:
net_credit_delta: 3effective_financial_classification: released_by_data_correctionpost_correction_balance: 3post_correction_available_balance: 0- active reservation coverage of 3 credits, covered
- no blockers
Delivery then applied correction loc_019fb641-5572-7253-b2dc-4854d464bac8. Revenue persisted correction row roc_019fb641-9666-7f57-966e-dc7f71c0bc84 and append-only adjustment cms8e8zyb000004jtchz2cbzt for positive 3 credits. The original consumed reservation and original lesson debit remain unchanged. Stored and spendable ledger balances now both equal 3 credits, and the active reservation consumes the 3 available credits.
A later production preview lop_019fb64b-0016-7a0b-ae01-06d8810da8ae correctly returned net delta 0, post-correction balance 3, available balance 0, and no blockers because the lesson-linked correction adjustment already exists.
Delivery can proceed with its outcome, event, and audit closeout using the applied correction references above.
References
- ADR-0038:
adrs/ADR-0038-guarded-lesson-outcome-corrections.md - Delivery blocker:
2026-07-30-delivery-outcome-correction-balance-drift-blocker - Revenue production readiness:
2026-07-30-revenue-lesson-outcome-correction-api-production-ready