Skip to content

Executor

sarr-io edited this page Jun 18, 2026 · 11 revisions

Executor

zn run executes a Circuitry shape one action at a time.

Run loop

read shape
parse with Circuitry
seed state from CLI inputs
for each root/use action:
  resolve package surfaces
  build selected context
  run package command with context on stdin
  map package output into Circuitry values
  store request/response bytes as a lineage node
  move the matching head
write requested shape outputs

State

Circuitry variables are visible names such as $answer. Package requests use local names such as answer. Zinc normalizes those names at the state boundary so a package can produce answer for $answer and later actions can consume it as their own local input.

Errors

An action fails when required input is missing, package surfaces cannot run, requested package output cannot be selected through the surface entry's response boundary, or lineage cannot be written.

Boundary

The executor coordinates work. It does not understand model providers, shell policy, browser protocols, or package-specific result shapes.

Clone this wiki locally