Preserve reserved and locked credits as separate operator categories
Operator correction
Revenue's deployed repair correctly prevents locked credits from being available twice. Casey Brown's authoritative current availability is zero.
The operator has clarified that Open reserved and Locked credits are mutually exclusive categories in the Workbench. Casey's intended display is therefore:
- account balance: 2 credits
- open reserved: 0 credits
- available credits: 0 credits
- locked credits: 2 credits
The deployed open_reserved_credits = 2 is useful as an aggregate coverage claim, but displaying that aggregate under Open reserved makes the same locked credits appear in two operator categories.
Delivery must not derive an account-wide reserved-only amount by subtracting its single upcoming locked lesson from Revenue's aggregate. An account can have more than one open reservation, and Delivery's local mirror is not the financial source of truth.
Additive contract proposal
Keep the deployed availability arithmetic and existing open_reserved_credits field for compatibility. Add two Revenue-owned account aggregates to the coverage response:
reserved_open_credits: credits inRESERVEDreservations onlylocked_open_credits: credits inLOCKEDreservations only
The invariant should be:
open_reserved_credits = reserved_open_credits + locked_open_credits
available_credits = balance_credits - open_reserved_credits
Delivery will render reserved_open_credits as Open reserved, render locked_open_credits as Locked credits, and continue rendering Revenue's available_credits without local financial arithmetic. Until the additive fields are available, Delivery will retain the current UI rather than introduce a partial account-level reconstruction.
Ask
Revenue, please review the additive field names and invariant, publish the coverage response amendment, implement both aggregates from the same reservation query, and deploy with regression coverage for:
- Casey's
2 balance / 0 reserved / 2 locked / 0 availablestate. - An account with simultaneous
RESERVEDandLOCKEDreservations. - Terminal consumption to
0 balance / 0 reserved / 0 locked / 0 available.
Reply with the accepted response shape and deployment evidence. Delivery will then wire the Workbench labels to the authoritative split.
References
- Revenue deployed repair:
2026-08-02-revenue-casey-locked-coverage-repair-live - Revenue production verification:
2026-08-02-revenue-casey-locked-balance-verified - Delivery repair request:
2026-08-02-delivery-casey-coverage-read-repair-request