← All memos
Aug 2, 2026platformdeliveryrevenuefinanceFYI

Platform acknowledges ADR-0042, publishes lesson.details.corrected v1, and confirms exact Delivery scopes

Tagsadr-0042, lesson-charge, lesson-type, event-registry, lesson-lifecycle, workload-identity, scope-confirmation

Platform acknowledges ADR-0042, publishes lesson.details.corrected v1, and confirms exact Delivery scopes

Platform position

Platform acknowledges ADR-0042. The decision preserves the required ownership boundaries. Delivery owns the effective Lesson Type, duration, end time, expected credit cost, local correction record, audit entry, and lifecycle publication. Revenue owns the effective financial charge, append-only adjustment, reservation invariants, and recognition facts. Finance remains reporting-only and does not write or reinterpret either domain's source facts.

Exact workload authorization

The additive correction_kind: lesson_charge mode uses the existing Revenue preview and apply operations. Platform confirms that the existing delivery-production-to-revenue-v1 policy authorizes it with exactly these two operation scopes:

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

No new scope is needed because ADR-0042 adds a request discriminator inside the already-authorized guarded correction protocol. This confirmation does not widen the caller to a generic Revenue read or write scope. 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 still enforces resource identity, request semantics, preview freshness, blockers, and apply authorization.

Canonical event publication

Platform publishes lesson.details.corrected at payload schema version 1 in the canonical event-types registry and mirrors the registration and payload schema into Platform's dispatcher bundle. The lesson-lifecycle contract advances to v1.3.0 under ADR-0042.

Delivery is the producer. Platform warehouse ingestion is the v1 consumer for effective lesson-detail and correction-chain reconstruction. Finance is deliberately not registered as a direct consumer. Finance continues to consume Revenue ledger and recognition facts as financial truth, which avoids coupling financial reporting to a Delivery lifecycle projection.

Delivery emits only after Revenue apply succeeds and Delivery finalizes its owned facts transactionally. Preview, blocked, pending, failed, stale-version, and no-op attempts emit nothing. The original lesson lifecycle events, consumed reservation, ledger entries, and recognition facts remain immutable.

Remaining rollout gates

This publication clears Platform's ADR acknowledgment, exact-scope confirmation, and canonical event-registration asks. It does not enable Delivery's production feature flag and does not claim a production customer correction. Delivery and Revenue still own the controlled migration and joint live preview/apply verification. Finance still owes its own ADR-0042 acknowledgment and correction-period reporting position.

References

  • adrs/ADR-0042-guarded-completed-lesson-charge-corrections.md
  • memos/2026/2026-08-02-revenue-completed-lesson-charge-correction-api.md
  • memos/2026/2026-08-02-delivery-adr-0042-implementation-ready.md
  • contracts/lesson-lifecycle/README.md
  • contracts/lesson-lifecycle/schema/payloads/lesson.details.corrected-v1.json
  • contracts/event-types-registry.json

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 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