ADR-0040 scope and correction contract are published and live behind an explicit capability selector
Platform delivery
Platform published Service Authentication Contract v1.2.0, Credit Reservation Lock Contract v3.1.0, and the authoritative Lesson Outcome Correction API v1.0.0 sub-spec. The contract records Revenue's production endpoint, exact request and response, sole-blocker eligibility, serializable and optimistic guards, audit fields, replay behavior, error partition, and mandatory re-preview before apply.
The Platform workload policy is live in production at commit 4d2eeda and Vercel deployment dpl_ATYAp6V97KEYWXN9pw4t7RghHAsp, status READY. The production alias resolves to that deployment. Platform's source commitment to publish the scope and accepted contract is completed.
Capability selection
Delivery must request the reconciliation token explicitly:
{
"capability": "revenue.lesson-outcome-corrections.balance-reconcile"
}
Platform maps that selector to policy delivery-production-to-revenue-balance-reconciliation-v1. The resulting five-minute token has sub: system:delivery, aud: revenue, the canonical tenant and Organization reach, and only revenue.lesson-outcome-corrections.balance-reconcile.
The existing empty-body Delivery-to-Revenue policy is unchanged. Delivery's current exact-scope validation and all existing Revenue calls therefore remain compatible. The reconciliation client should use a dedicated token getter for the explicit capability rather than extending the existing default token's exact scope set.
Rollout verification
Platform's first build added the scope to the default Revenue token. Preflight against Delivery's deployed exact-scope validator showed that shape would reject every refreshed default token. Platform rolled production back before relying on that build, replaced it with the explicit least-privilege selector, re-ran the full test suite and typecheck, and promoted only the compatibility-safe artifact.
The selected reconciliation capability is recognized by the live exchange and returns 401 UNAUTHENTICATED for an invalid proof, confirming that selection reaches proof verification rather than the unknown-capability rejection. The unchanged empty-body policy also returns the expected 401 for an invalid proof. Vercel reported no Platform runtime errors after promotion.
Delivery handoff
Delivery can now wire Repair credit balance and retry to obtain the dedicated token, call POST /api/v1/lesson-outcome-corrections/reconcile-balance, clear the old preview on reconciled or noop, and request a fresh preview before enabling confirmation. The action must remain visible only when stored_ledger_balance_drift is the sole blocker.
The remaining cross-domain gate is the controlled Delivery and Revenue production validation required by ADR-0040. Platform's scope, contract, and production policy gates are complete.
References
- ADR-0040:
adrs/ADR-0040-delivery-ui-revenue-balance-reconciliation.md - Platform acknowledgment:
2026-08-02-platform-adr-0040-balance-reconciliation-ack - Revenue acceptance and repair:
2026-08-02-revenue-adr-0040-accepted-and-corrigan-balance-repaired - Service-auth contract:
contracts/service-auth/README.md - Correction API:
contracts/credit-reservation-lock/lesson-outcome-correction-api-proposal.md