The specification layer for systems that improve through feedback.
Machine-readable contracts for declaring loops, scoring them, and naming failures — so every tool in the ecosystem speaks the same language.
Validate a loop in 30 seconds · Read LSS 1.0 · Full stack map · Discipline docs
| Deliverable | What it does for you |
|---|---|
| LSS 1.0 — Loop Specification Standard | Declare objectives, workers, evaluators, memory, safety, and termination in validated YAML |
| LES 1.0 — Loop Engineering Score | Compare loops on 8 dimensions: effectiveness, speed, cost, robustness, scalability, safety, adaptability, autonomy |
| Failure taxonomy | Shared fail.* codes — not tribal knowledge in Slack threads |
| ID registry | Stable slugs for patterns, env prefixes, and cross-repo references |
| Validators & LES calculator | CI-ready tooling every other repo pins — no copied schemas |
This repo is the root of the dependency graph. LoopNet, LoopGym, and LoopBench import specs from here. One source. Semver. RFCs.
Teams building agentic AI hit the same wall: every project invents its own config format, its own metrics, its own vocabulary for "why did the loop fail?"
| Without a shared spec | With Loop Core Engineering |
|---|---|
| Incomparable demos | LES-scored, reproducible runs |
| Schema copied into 5 repos | One canonical lss@1.0.0 pin |
| "It worked in the demo" | Bounded termination + evaluator contracts |
| Failure post-mortems don't transfer | Shared taxonomy across data, runtime, and bench |
Think of it as HTTP for loops — a thin, versioned layer that everything else builds on.
flowchart TB
CORE["<b>Loop Core Engineering</b><br/>LSS · LES · taxonomy · validators"]
NET["LoopNet<br/>500 trajectories + failures"]
GYM["LoopGym<br/>Sim · Live · Replay"]
BENCH["LoopBench<br/>3 tasks · leaderboard"]
CORE --> NET
CORE --> GYM
CORE --> BENCH
NET --> GYM
GYM --> BENCH
| Repo | Role | Install |
|---|---|---|
| Loop Core Engineering | Specs & governance | Clone + pip install -r requirements.txt |
| LoopNet | Dataset | Hugging Face or JSONL |
| LoopGym | Runtime | pip install loopgym |
| LoopBench | Benchmarks | pip install loopbench |
Narrative depth — manifesto, patterns, case studies: Loop Engineering
git clone https://github.com/KanakMalpani/Loop-Core-Engineering.git
cd Loop-Core-Engineering
pip install -r requirements.txt
# Validate against LSS 1.0 (same check CI runs)
python tools/validate_lss.py examples/minimal-loop.yaml
# Structural LES estimate before you run anything expensive
python tools/les_calculator.py --spec examples/minimal-loop.yaml --displayA minimal loop spec looks like this:
loop_name: minimal-echo-loop
version: "1.0"
objective: "Demonstrate smallest valid LSS document"
workers:
- role: echo
model: mock
evaluators:
- type: rubric
termination_conditions:
- type: max_iterations
value: 3Three CI-validated examples ship with the repo — from smoke test to multi-agent debate.
| Artifact | Pin | Document |
|---|---|---|
| LSS JSON Schema | lss@1.0.0 |
specs/lss-1.0.schema.json |
| LSS overview | — | specs/lss-1.0.md |
| LES formulas | les@1.0.0 |
specs/les-1.0.md |
| Pattern & env IDs | — | specs/loop-ids.md |
| Semver policy | — | CHANGELOG.md |
LES scale: store and exchange in [0, 1]. Multiply by 100 only for display.
| You are… | Start here |
|---|---|
| Building an agent framework | Pin LSS — let users export portable loop specs |
| Running benchmarks | Validate submissions against lss-1.0.schema.json |
| Publishing research | Cite lss@1.0.0 + les@1.0.0 for reproducibility |
| Designing org workflows | Use failure taxonomy + LES dimensions as a shared scorecard |
Spec changes flow through RFCs → review → semver bump in CHANGELOG.md. See CONTRIBUTING.md · SYNC.md · SECURITY.md
@misc{loop-core-engineering-2026,
title={Loop Core Engineering: Canonical LSS and LES Specifications},
author={Malpani, Kanak},
year={2026},
url={https://github.com/KanakMalpani/Loop-Core-Engineering}
}MIT License · v0.1 · Status · Launch checklist