Close the tool loop safely with a typed dispatcher for two bounded tools. Unknown tools become structured errors, never arbitrary code execution. In the Inference API system, implement this level as a deterministic contract before composing it with the next service.