A traced loop with two tools and a budget
Implement perceive → decide → act → observe with a max hop count. Two tools: one retrieve, one calculate (or equivalent). Errors come back as observations. Idempotent writes. Emit a JSON trace per hop. One query that must retrieve then calculate. One query that should halt in a single hop. Both are eval cases.