# Dynamic Dispatch **Domain:** Runtime Design / Language Implementation **Doc Type:** Canonical Concept Node **Maturity:** Developing **Related:** [[wiki/Capability Registry|Capability Registry]], [[wiki/Permissioned Capability|Permissioned Capability]], [[wiki/Canonical Capability Name|Canonical Capability Name]] --- ## Definition **Dynamic dispatch selects an operation at runtime from a name, type, message, or other changing value.** It is powerful because programs can compose behavior without hard-coding every call site, and dangerous when untrusted input can reach arbitrary functions. ## XDO Context The historical DO engine experimented with dynamic dispatch across commands and functions. A modern XDO should resolve only canonical names present in a capability registry, validate inputs against the contract, and require permission for host effects. Runtime flexibility should not become an accidental `eval` boundary. ## Key Insight **Dynamic dispatch becomes safe when name resolution is narrow, typed, permissioned, and observable.** ## See Also [[projects/XDO - Executable Markdown and Portable Workflows|XDO]], [[wiki/Capability Registry|Capability Registry]], [[wiki/Error Behavior|Error Behavior]], [[wiki/Technical Terms|Technical Terms]]