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 software
  build selected context
  run package command with context on stdin
  map package output into Circuitry values
  store request/output 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 software cannot run, package output cannot be mapped through the manifest interface, 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