Part of loopsmith — self-evolving agent loops behind a deterministic verification gate.
You probably do not need to depend on this directly. It is a component of the
loopsmithbinary and compiles automatically as one of its dependencies:Depend on it directly only if you are building something else on loopsmith's internals. The API is not yet stable across minor versions.
What this crate is
A loop is described by ten sections, A to J: information, the manual work list, goals, validations, success criteria, stop gates, schedules, constraints, execution guidelines, default skills. This crate is that model, its parser for both YAML and Markdown, and the validation that decides whether a config is coherent.
The load-bearing behaviour: validation fails while any pre_execution step is
unfinished. Automating a process you cannot describe in checkable terms
produces fast, confident garbage, so a config that has not been run by hand once
is refused rather than accommodated.
Where it sits
loopsmith (the CLI binary)
└── loopsmith-mcp ── loopsmith-gate ─┐
loopsmith-skills ────────────────┤
loopsmith-provider ──────────────┼── loopsmith-core ── loopsmith-util
loopsmith-graph ─────────────────┤ (config) (primitives)
loopsmith-memory ────────────────┘
| Crate | Purpose |
|---|---|
loopsmith |
the CLI binary |
loopsmith-util |
PATH lookup, wall clock, runtime platform detection |
loopsmith-core |
the A–J config model and its validation |
loopsmith-memory |
sled-backed episodes, goal state, ledger, checkpoints |
loopsmith-graph |
DAG scheduling, critical path, Amdahl-driven concurrency |
loopsmith-gate |
the deterministic verification gate |
loopsmith-provider |
provider routing and the tier cascade |
loopsmith-skills |
sub-agent acquisition, quarantine, outcome ranking |
loopsmith-mcp |
local stdio MCP server over memory, gate, and graph |
The one rule the whole design rests on
A model must not be the thing that certifies its own completion.
goal_satisfied is written by loopsmith-gate
and by nothing else, and the gate can revoke: delete a required artifact and a
satisfied goal flips back.
Full documentation: https://github.com/bitphill/loopsmith#readme
MIT licensed. © bitphill