Tool-not-found failures usually come from contract drift across several copies of the tool surface, so the diagnosis must trace the selected name and arguments from prompt or program through registration, validation, transport, and runtime dispatch.
Inventory every copy of the contract
A tool-using agent may learn the available actions from a system prompt, generated program, registry response, typed client, cached schema, or deployment bundle. When a tool is renamed or removed, one of those surfaces can continue advertising the old name even though the runtime dispatcher has already changed. A search for the error string alone may miss the source that taught the agent the retired contract.
The first inventory lists tool names, descriptions, argument schemas, return shapes, version identifiers, and their owners across every layer. It should include generated artifacts and deployed bundles, not only repository source. Hashes or version labels help reveal when a production worker loaded a different contract from the one used in a local test.
Reconstruct one failed call
A failed call can then be reconstructed from the originating task. The trace records the prompt or program version, tool list presented to the model, selected name, raw arguments, validation result, transport request, registry lookup, dispatcher result, and recovery behavior. Missing evidence remains explicit because an invented span can make the wrong component look responsible.
The failure classes are distinct. A nonexistent name points to discovery or versioning; an invalid argument points to schema or prompt drift; a valid request with the wrong semantic effect points to contract meaning; and repeated attempts after a terminal error point to recovery logic. Each class needs a different acceptance scenario.
Turn the cause into a compatibility decision
The compatibility map should state whether each old action maps directly, needs an adapter, requires a prompt or program rewrite, or must fail with a specific migration message. One working proof on the highest-volume tool should exercise the complete runtime path and show the old and target behavior against the same buyer-approved scenario.
Reality Contact, LLC can reconstruct the failure and implement the bounded migration on buyer-authorized systems. The buyer identifies the supported target contract, owns production credentials and release authority, and approves any semantic change. The proof covers the exercised tool and scenarios rather than every possible agent behavior.
Where the service stops
Reality Contact, LLC implements and tests the migration, but does not invent target semantics, weaken authorization, approve external side effects, select production traffic, or retire a contract without buyer approval. The buyer approves the target semantics and caller set, runs the accepted canary scenarios, and retires the old contract only after compatibility and rollback gates pass. This is software migration and technical testing, and it does not replace legal, security, privacy, compliance, or professional advice. The buyer owns tool semantics, credentials, permissions, caller communication, canary authorization, production release, and contract retirement.
Sources: OpenAI function calling guide; Anthropic tool use overview.