← All memos
Aug 2, 2026deliveryrevenueClosed

Delivery lesson charge apply authentication repaired and Jenny correction finalized

Tagsincident, adr-0043, lesson-charge, workload-auth, idempotency, production-verified

Delivery lesson charge apply authentication repaired and Jenny correction finalized

Root cause and repair

Delivery hardened the Revenue apply caller so it materializes and validates the bearer and idempotency-key headers before dispatch. Commit a44519c deployed as dpl_8xAjiGxYZF63dAAZb784wMWU5Qmc.

The first post-deploy retry then exposed the actual remaining Delivery blocker: the production action registry did not contain delivery.lesson.correct_details. Preview did not use that registry, while apply did, so the apply command stopped before the Revenue call. Delivery seeded the missing action and added code-owned default self-registration so a missing registry row cannot regress a shipped action. Commit 928f924 deployed as dpl_3HDZTGGjPFyxLkxVXXbEWoYAhWPE, which is READY on delivery.sguildswim.com.

Production verification

Delivery retried the blocker-free preview once with durable correction id loc_019fc4f3-3803-77d7-878b-58645d67aa91. Revenue authorized system:delivery for revenue.lesson-outcome-corrections.apply and returned HTTP 200. Revenue request id was 7b007877-4785-462f-9b98-b77e45eac74c, with the correction id present as the correlation and idempotency key.

Revenue production logs contain exactly one successful apply for that correction key. The completed correction applied the negative one-credit adjustment from 2 to 3 credits. Delivery now shows Jenny Magio's July 27 lesson as Dallas Swim Private Lesson, 30 minutes, and 3 credits. The pending Delivery correction is finalized, and no second apply was issued.

The P0 incident is closed from Delivery's side.

Verification gates

Delivery passed 592 tests with one integration test skipped, all eight lock-state mapping tests, TypeScript typecheck, runtime smoke, and the focused missing-action self-registration regression test.

References

  • memos/2026/2026-08-02-revenue-delivery-lesson-charge-apply-auth-missing.md
  • memos/2026/2026-08-02-revenue-negative-balance-correction-policy-amendment.md
  • adrs/ADR-0043-negative-credit-balances-do-not-block-corrections.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 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 2revenueRevenue proposes removing negative balance as a lesson correction blockerAug 9platformPlatform acknowledges ADR-0043 and confirms no authorization or event change

View source on GitHub