Skip to content

Architecture

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

Architecture

Zinc is the local runtime boundary for Circuitry 0.6.

Split of responsibility

Layer Owns
Circuitry 0.6 Portable action-shape files: circuitry, name, about, takes, does, gives
Zinc Local execution boundary: input collection, governed shell actions, policy decisions, packages, Limbo persistence, and trace lookup

Zinc 0.6 does not execute graph topology. It does not own nodes, edges, tools, agents, sessions, models, or provider schemas. Those older concepts belong outside the Circuitry 0.6 core and should be folded into the shape text or host behavior.

Run flow

  1. Resolve a file path or zinc:// reference.
  2. Parse and validate the Circuitry 0.6 shape.
  3. Resolve the declared takes inputs.
  4. Insert or update the source document in Limbo.
  5. Create a run record.
  6. Enter the governed shell.
  7. Intercept each command, apply policy, execute or deny it, and record the action.
  8. Resolve declared gives outputs.
  9. Mark the run finished.

Dependency shape

Zinc is built from publishable Zig packages:

  • circuitry-zig supplies the Circuitry parser and shape helpers.
  • limbo-zig supplies the Limbo C-compatible database binding and prebuilt static libraries.
  • serde.zig supplies serialization helpers.

Clone this wiki locally