Skip to main content

Local execution

The executor runs method/2. Each do starts a fresh Codex process. Each plain-English check starts a separate process. A method can also use a host adapter through the SDK or the local JSON-line bridge. An action receives the rendered instructions, resolved local inputs, output definitions, assigned file paths, named connections, and declared change targets. It does not receive other actions, checks, or the authoring conversation. The runtime saves the exact request and Codex prompt. A check receives its own criteria, the action’s local inputs, returned outputs, and read access to declared changed targets. It does not receive the action conversation. It returns pass, fail, or ambiguous with evidence. Output type checks run before content checks. An omitted check is recorded as unchecked. The runner records dispatch before execution and saves a return before checking it. State changes are validated replacement values that Method writes. File outputs are saved inside the operation folder; Method records their actual hashes. External changes require observed evidence and a separate check. If a process stops after a possible external write, the runner does not dispatch it again without recovery. Named input references establish dependencies. Independent operations share the run’s concurrency limit. Each loop item has its own request, return, and check; downstream data is a plain list. Current loop items run in order. Shared connection and state access is serialized within the run. The persistent data folder is locked for the run. The filesystem sandbox grants each action its private operation folder and declared external file targets. Checks run in read-only mode. Remote browser and MCP actions depend on their tool permissions; a changes declaration is not an operating-system permission boundary. Failures record the phase, expected behavior, observed behavior, and evidence. Passed work is reused on resume. Read failures require an explicit retry. A saved return can be checked again without another state write. Changes to the method, inputs, execution configuration, or persistent state can block resume. See SDK execution and recovery and Method command reference.