01must proveProposed | A conversation without an accepted answer ends when it has used the permitted turns, after sending that many model requests. | policy | service | test |
02must proveProposed | Without an accepted final answer, an oversized tool batch ends the conversation before any handler in that batch runs. | policy | service | test |
03must proveProposed | After checking final answers and terminal responses, a tool-requesting turn stops further work when accumulated rounded turn costs are greater than the hold; spending exactly the hold continues and the crossing turn remains billable. | calculation | service | observed |
04must proveProposed | Before starting another turn, the loop refuses to send when no total time remains and caps the provider attempt timeout at the remaining conversation time. | policy | service | observed |
05must proveProposed | Timeouts, ordinary rate limits, overload, server faults, broken connections and aborts can retry with increasing waits and a default of three attempts; malformed or unauthorized provider requests do not retry. | policy | service | observed |
06must proveProposed | A provider rate limit that identifies a depleted Rhythm balance is classified as credit exhaustion and does not retry. origin: Tribal TRI-1899 (services-platform:docs/llm.md#The runtime) | policy | service | test |
07must proveProposed | Attempts record their turn, retry, usage and timing and receive individual prices; after 64 retained attempts, additional attempts increase the count and mark the record incomplete without adding rows. | calculation | service | observed |
08Proposed | For a nonterminal turn within budget, the model receives one combined tool-results message and every answered call consumes tool budget. | policy | service | observed |
09Proposed | A thrown tool-handler error becomes an error result for the model, so handler messages must be suitable to disclose to that model. | policy | service | test |
10must proveProposed | Rejected final answers return the feature’s feedback as tool errors and consume tool budget; a failing answer judge also becomes a rejection and further turns use the existing budgets. | policy | service | observed |
11Proposed | A provider refusal ends without retry, while an output-token cutoff produces an incomplete outcome rather than an accepted answer. | policy | service | observed |
12must proveProposed | Stable instructions, tool definitions and explicitly stable content can receive cache markers, with excess markers dropped so the provider receives at most four. | calculation | service | test |
13Proposed | Failures do not trigger a substitute model or provider, and consuming features cannot replace published routing or limits. | policy | service | documented |
14must proveProposed | An accepted final answer completes before the later tool and credit checks and does not increase the answered-tool count. | policy | service | observed |
15must proveProposed | A requested tool without a supplied handler produces a recoverable error result, allowing later turns within the remaining budgets. | policy | service | observed |