-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
sarr-io edited this page Jun 12, 2026
·
21 revisions
Zinc is the host runtime for Circuitry systems.
| Layer | Owns |
|---|---|
| Circuitry 0.6.1 | Portable action-system YAML: circuitry, name, about, takes, uses, does, gives, $value references |
| Zinc | Execution boundary: zinc, @package refs, model presets, package resolution, adapter calls, typed values, traces, config, policy |
| YAML | Mapping/sequence/scalar syntax and block scalars |
Circuitry tooling should preserve Zinc fields. Zinc interprets them.
- Resolve a file path or
zinc://reference. - Parse and confirm the Circuitry 0.6.1 shape through
circuitry-zig. - Load Zinc config and package aliases.
- Build the value graph from
uses. - Determine the lazy frontier needed to settle requested top-level
gives. - Run ready parts serially or in parallel according to config.
- Invoke inline/model/external/package shape execution.
- Store values, reasoning, and artifacts.
- Print outputs and the run URI.
A uses entry can execute through:
- inline
does - configured model preset
- external Circuitry file
- package-provided Circuitry shape
A file with no uses becomes one implicit part using the default model preset.
Zinc is built from publishable Zig packages:
-
circuitry-zigsupplies the Circuitry parser, system view, and diagnostics -
limbo-zigsupplies the database binding -
serde.zigsupplies YAML parsing helpers