Last verified 2026-08-15 by executing the recipe end to end.
The recipe
main.sh
How it works
- Create test makes the container. Turns belong to a test, and checks belong to a turn, so the three build a hierarchy rather than a flat list.
- Create turn adds either side of the
conversation. A
userturn carries the utterance inpayload.response; anagentturn carries no expected text at all, only asequentialflag controlling whether its checks must hold in order. - Create check is where the assertion
lives. A
responsecheck compares what the agent said, whileroutingandtoolchecks assert behaviour: that it handed off to a given playbook, or called a given tool. - A response check is
equalorllm_eval. Useequalfor a scripted reply andllm_evalfor anything the agent phrases freely, since exact matching against a model is a test that fails on rewording alone. - Create run starts execution and returns
immediately with
status: "idle". Poll get run for the verdict.