01must proveProposed | An undeclared operation or a routing without a published model price is rejected before creating a request or reserving credits. ✓ The query generator's declared operation runs.✗ A feature naming an undeclared operation is refused with nothing recorded. | validation | service | observed |
02must proveProposed | Platform creates the request record before reserving credits or contacting the model, giving later recovery a record to inspect. | invariant | service | documented |
03must proveProposed | Settlement uses reported usage when available, charges the reservation estimate when an attempt succeeds without any reported usage, and releases the hold when no usage is spent; interruptions can leave unresolved accounting. ✓ A request whose model reported usage is charged that usage at the published rate.✗ A request to a model that never answered is charged nothing. | calculation | service | observed |
04must proveProposed | Normal state changes compare the current state with the expected state, while settlement can close any nonterminal request; settled and refused requests reject a second settlement. | lifecycle | service | observed |
05must proveProposed | Request attribution uses the caller context and published application and feature routing; a service’s asserted beneficiary is retained without independent verification. | invariant | service | observed |
06must proveProposed | Customer-relevant refusals use fixed codes and statuses: allowance and concurrency refusals are rate limits, disabled operations are conflicts, provider timeout, unavailability and refusal indicate temporary service failure, and depleted Rhythm provider credit is a server error. | policy | service, api | observed |
07must proveProposed | Conversation budget endings return as outcomes for the consuming feature to interpret rather than throwing a metering error. | policy | service | test |
08must proveProposed | Provider failure messages are replaced with Rhythm wording that identifies the operation and request, allowing staff to locate the usage record. | policy | service | observed |
09must proveProposed | Platform’s provider-boundary guard rejects extra SDK importers, direct provider-host calls and prohibited provider SDK imports during verification. | invariant | service | test |
10must proveProposed | Absent model credentials produce a configuration refusal that is distinct from allowance and provider refusals. | validation | service, api | test |
11Proposed | The consuming feature receives and validates the model’s final answer; the runtime does not apply that answer as domain state. | policy | service | documented |
12Proposed | Depleted Rhythm provider credit has an internal classification but the shared response mapper returns a generic server error without that code. | policy | api | documented |
13Proposed | Allowance refusals and provider refusals contribute to separate operational measures. | policy | service | documented |