Skip to content
sarr-io edited this page Jun 19, 2026 · 16 revisions

Shapes

A Zinc shape is Circuitry YAML.

Zinc accepts:

  • .yaml / .yml files as plain Circuitry YAML
  • .md / .markdown files with leading YAML front matter

For Markdown, Zinc extracts only the YAML between the opening and closing --- fences. Circuitry never sees the Markdown body.

---
circuitry: "0.8.2"
name: bash status

in:
  - $command

shell:
  status:
    surface: unix-bash.bash
    in:
      command: $command
    out:
      output: $output
      exit: $exit

out:
  - $output
  - $exit
---

# Bash status

Notes for humans can live here.

Circuitry fields

Circuitry owns:

circuitry
name
about
in
out
$value references

Users may group YAML however they want. There is no required middle section such as steps, flow, nodes, or tasks.

Zinc-executable entries

Circuitry discovers value-boundary mappings with in or out. Zinc executes a discovered mapping when its host fields include surface.

answer:
  surface: openai-responses.responses
  preserve: true
  model: local-llama
  in:
    question: $question
    prompt: Answer briefly.
  out:
    answer: $answer

surface is Zinc navigation. preserve is Zinc storage policy. Other fields are package-owned request fields unless Zinc explicitly defines them.

Ready waves

Zinc advances entries whose inputs are already available. runtime.parallel controls how many ready entries Zinc may run at the same time in one wave. Dependent entries wait until their inputs exist.

Clone this wiki locally