Expand description
Which retained version’s body a declared-command dispatch runs — the dispatching run’s own, not the queue’s. Which retained version’s body a declared-command dispatch runs.
Content-hash namespacing keeps every deployed version of a document alive at once, and a run is pinned to exactly one of them for its whole life — that is the mechanism that lets a workflow sleep for three months and wake up as itself. So the question “what command does this action run?” has a single correct answer, and it is not a property of the queue: it is the body the DISPATCHING RUN’s own package version declares.
Resolution used to scan every retained version on the task queue and refuse the dispatch when two of them declared different bodies. That reading makes a second deploy fatal to work already in flight: a run started under version A, still executing, fails terminally at its next bodied activity because version B — which that run will never execute — was deployed with an edited command. Nothing about the run changed. Under the correct reading there is no conflict to refuse: A’s runs use A’s body, B’s runs use B’s.
When the run’s version cannot be named — its handle is gone from the registry, or the registry could not be read — the queue-wide reading is used instead, ambiguity refusal and all. Without the run’s identity, choosing a body IS the guess the refusal exists to prevent.
Functions§
- select_
declared_ body - Resolve the body
actionruns, given every retained contract on the queue and — when it could be named — the package version the dispatching run is pinned to.