Interface-Induced Trajectory Censoring
An agent evaluation reports how often the model called a tool, and that number is read off the serving stack — the layer that formats your prompt and parses the reply. This paper shows the number can sit at zero while the model is emitting perfectly well-formed calls: the chat template and the output parser are two halves of one contract, and when they disagree the server discards good calls before anything downstream sees them. Holding weights, cases, decoding and seeds fixed and changing only that adapter, the same model scores 0.00 or 0.96, and a two-by-two over template and parser puts both main effects at exactly zero — no single component is defective, and repairing one side alone buys nothing. On a 115-task interactive retail agent benchmark the same swap moved server-parsed calls from 0 to 636; run something like the author's released 98-line preflight check before you trust any tool-call number, your own or a vendor's.