Skip to content
sarr-io edited this page Jun 6, 2026 · 23 revisions

Zinc wiki

Zinc is a small runtime for Circuitry graphs over OpenAI-compatible chat completion endpoints.

Circuitry describes the graph. Zinc supplies the runtime boundary: model calls, tools, sessions, packages, project layout, and local permissions.

Pages

  • Architecture: what Zinc owns, what Circuitry owns, and how a run moves through the runtime.
  • Project Layout: every .zinc/ directory and what belongs there.
  • Configuration: model endpoints, project config, and package config.
  • Graphs: Circuitry graph shape as Zinc runs it.
  • Runtime: resources, URI materialization, model calls, compaction, and execution flow.
  • Tools: builtins, package tools, handlers, and safety boundaries.
  • Packages: manifests, install patches, generated wiring, package author rules, and the official optional package repo.
  • Sessions: JSONL transcripts, inert session context, compaction, and recovery.

Core vocabulary

Term Meaning
graph YAML source declaring resources and exports
resource graph node materialized or executed by Zinc
model graph resource that calls a configured endpoint
tool named runtime capability available only when declared by a model
package installed capability: prompts, tools, graphs, files, and scripts
prompt text resource loaded through prompt:<id>
runtime package working area: venvs, builds, downloaded working files
generated Zinc-written wiring derived from installed packages
session JSONL transcript used for context, compaction, and continuity

Design rules

  • Graphs are explicit. A model only sees listed inputs and may only call listed tools.
  • Zinc is endpoint-only. It does not download models, build inference engines, or run a default server.
  • Packages are explicit. Installing a package can patch a local loop graph, but prompts and tools still appear in the graph.
  • Installed package directories are code and assets. Runtime files do not belong inside them.
  • Generated files are generated. User-authored graphs stay under .zinc/graphs; Zinc-written package wiring lives under .zinc/generated.
  • Tool success is not task success. A model should verify meaningful changes by observing or inspecting after actions.

Clone this wiki locally