-
Notifications
You must be signed in to change notification settings - Fork 0
Executor
sarr-io edited this page Jun 19, 2026
·
11 revisions
The executor runs Circuitry entries whose host fields include surface.
It does not own provider behavior, shell policy, prompt meaning, or response meaning.
Zinc:
- reads
surface - resolves the installed package surface
- builds a YAML request
- invokes the package process
- selects requested response fields
- writes those fields into active run values
- records the ready wave as a step
An entry is ready when all referenced inputs exist. Zinc runs ready entries in waves. runtime.parallel limits how many entries may run in one wave.
left:
surface: unix-bash.bash
in:
command: $a
out:
output: $left
final:
surface: unix-bash.bash
in:
left: $left
out:
output: $donefinal waits for $left.
zn run file.circuitry.yaml
zn run file.circuitry.md
zn run zinc://packages/zinc-chat/files/shapes/chat.circuitry.yaml
cat graph.circuitry.yaml | zn run -
cat graph.circuitry.yaml | zn run --report ---report adds run and step refs around normal output.
Packages may call Zinc with generated shapes:
cat generated.circuitry.yaml | zn run --report -Zinc remains the runner. The package owns the loop.
zn run - in zinc://runs/<id>
zn run - from zinc://steps/<id>
zn set zinc://runs/<id>/current zinc://steps/<id>in appends to a run. from forks from a step. set moves the run's current pointer.
Zinc records:
run = execution thread
step = one ready wave
packet = YAML bytes