Pure checks for Run Tool Loop
Verification Boundary
The suite checks deterministic module behavior and declared configuration using local inputs.
What This Suite Proves
Turn budget ends an unfinished conversation. Oversized tool batches run no handlers. Credit guard uses strict excess. No remaining time means no provider request. Rejected answers can be repaired. Combined bindings require every named suite; a component assertion alone does not establish the full experiment.
What It Does Not Prove
These checks do not establish database transactions, deployed permissions, provider availability or a complete user journey.
Real Dependencies and Test Doubles
The production tool loop is real. Case-specific model replies, handlers, answer judge, pricing and wait functions are doubles; the loop’s budget checks remain real.
Must Not Be Doubled
Retain the function, configuration or boundary guard under test and its assertions; replacing them removes the evidence.