The structured tool-result example would benefit from an explicit completeness field. A log query can succeed while returning only the first page, and a command can run successfully while its captured output is truncated. A status of success alone does not tell the agent whether it has enough evidence to conclude that no other errors occurred.
I would return returned_count, a continuation token or has_more flag, and a truncation indicator where relevant. Then a fixture with the decisive error just beyond the first page can check whether the agent fetches more evidence instead of treating a partial result as the whole system state.
Kartik N V J K
AI Developer | Making AI reliable, trustworthy & accessible to everyone | Active community contributor
The kitchen metaphor holds up better than most, and I would put the boundary exactly where you do, at reason versus hands. In practice the hard part comes after you give the model hands: what happens when one fails quietly, the tool returns a partial result or a stale read and the model narrates right over it. Does the series get into verifying the tool result before the model acts on it, or mostly the execution plumbing?