Most agent products now have an approval button. Clicking yes before a model calls a tool is not the same as a model that cannot call it. Here is the difference, in the terms your security review will use.
The shape of it: the model proposes a payload. The pipeline names the capability it is for. A review step — a person, or a keyword filter — decides. The runtime commits with its own credentials and writes the receipt. Design the pipeline in nQube; the runtime is agentOS.
Reliability lives in the runtime, so the model does not have to be the biggest one available. Each call starts on the lowest tier its route allows and moves up only on a failure the runtime can verify.
A call that carries tools, or more than 60k prompt tokens, starts at strong. Routes can set a starting tier per stage — triage on bulk, the planner on strong.
Bad JSON, a tool-parse error, an empty answer, or a faithfulness score under threshold moves the call up one tier and retries — at most twice. A vague answer does not count.
A ceiling on the hourly share of tokens that reach frontier; past it, policy-resolved calls use strong. A monthly spend cap per organization that stops with a 402.
Bring your own provider keys; they stay in the runtime. Dev tools and App Kit instances call one OpenAI-compatible endpoint and name a virtual model — nventr/auto, strong, bulk, local — and the policy above decides.
All of it is live configuration on your organization: tiers, starting routes, escalation triggers, caps. Change a number, not a deploy.