Load tool definitions
Anthropic tools, OpenAI tools, or a bare array of name + description + schema. Format is auto-detected.
Ergonomics lint
Static checks for the ambiguities that make models pick the wrong tool or invent arguments.
Play the model
Write yourself a task, then act as the model would: choose a tool and fill the arguments using only what the definitions say. If you need to peek at your backend code to fill a field, the model is worse off than you - it cannot peek.
This becomes the "task" field of the exported eval case.
Transcript
Chronological record of every call with args, validation outcome, and your notes on what confused you.