<?xml version="1.0" encoding="UTF-8"?>
<reference anchor="I-D.das-agentic-execution-finality" target="https://datatracker.ietf.org/doc/html/draft-das-agentic-execution-finality-02">
   <front>
      <title>Tool Selection Is Not Execution: Finality for Agentic Tool Dispatch in High-Risk AI Systems</title>
      <author initials="S." surname="Das" fullname="Sangam Das">
         <organization>Independent Inventor</organization>
      </author>
      <date month="September" day="10" year="2026" />
      <abstract>
	 <t>   This architecture is specifically designed for high-risk AI systems,
   where standard engineering priorities shift from speed and latency
   toward absolute determinism and safety.

   An agentic model can emit a tool call that today&#x27;s runtimes treat as
   something to execute.  Allowlists, OAuth tokens, MCP server auth,
   sandboxes, output filters, and human approval decide whether an agent
   may reach a tool.  They do not decide whether this generated call,
   with this argument digest, from this instruction chain, at this
   delegation depth, may take effect now.

   That gap is the incident surface.  Prompt-injected content, poisoned
   retrieval, a malicious tool response, or a delegated sub-agent can
   produce a call that looks like ordinary tool use.  If the dispatcher
   executes whatever the model selected, policy that lived upstream
   becomes advisory.

   This document specifies a dispatch-time gate.  The model may compute
   a call.  The call remains a Candidate Act. A Protected Enforcement
   Domain binds agent, tool, arguments, purpose, destination,
   provenance, and policy epochs, then issues scoped non-bearer
   authority.  A Tool-Dispatch Finality Sink verifies that authority
   against the actual invocation immediately before the tool runs, then
   consumes it.  The same gate applies to support, coding, payments,
   clinical, SOC, browser-use, and multi-agent MCP deployments.  Tool
   selection is not execution authority.

   A runnable reference implementation for this dispatch-time gate is
   provided at tool_use Is Not invoke(): Binding Execution-Finality to
   Agentic Tool-Call Interfaces and MCP (https://github.com/sangmdas/
   tool_use-Is-Not-invoke-Binding-Execution-Finality-to-Agentic-Tool-
   Call-Interfaces-and-MCP).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-das-agentic-execution-finality-02" />
   
</reference>
