Tool calls are diagnostic gold
When behavior is mysterious, the tool-call trace often explains it. The model called read("file_X") three times this session — that means file_X was the working set. The model never called read("file_Y") — that means file_Y is not in the working context, regardless of whether you mentioned it. Trace patterns expose what the model actually paid attention to, not what you hoped it would.
Look for missing calls
The most useful trace observation is often a tool that was not called. If the rule says 'always validate before commit' and there is no run_tests call before the commit, the rule failed silently. The presence of a call is normal; the absence is the bug.
Trace patterns to watch
Repeated reads of the same file (working set is too small or eviction too aggressive). Cascading retrieval calls (the routing logic is failing). No tool calls at all on a complex task (the model is hallucinating from priors). Each pattern points at a different fix.