An open-source visual canvas and runtime for the layer that makes agents reliable — world model, control state, verification, recovery. Draw it once, compile the same FlowSpec to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework.
A harness is the governance and reliability control plane around an autonomous agent — the agent proposes, the harness decides what happens next. Use three nodes or all eleven layers. The reference application, Aielia, runs the full implementation on every turn.
Diagram: a simple agent loop (input → LLM call → tool call → output) compared with a full Build A Harness — an 11-layer architecture across 27 nodes that adds caller state, a world model, reasoning, a 5-tier control layer, planning, execution, 9-layer verification, recovery, memory, optional learning, and an output reviewer pass.
A workflow routes prompts from node to node. A harness governs what the AI believes, what it's allowed to do, how it catches its own mistakes, and what it learns for next time. Use three nodes or eleven — the same FlowSpec runs either.
Add a world_model node and your agent tracks typed beliefs, detects contradictions, and evaluates hypotheses from four generation sources before acting — instead of just asking the LLM and hoping.
Drop in a control_state node and your agent gains a five-tier resolver that governs every action — NORMAL → CAUTIOUS → BLOCKED. Diagnostic health vectors drive it; deadlock detection stops it escalating forever.
A verify_gate runs nine checks before every action. Pair it with reviewer_pass for adversarial review and contract validation before every return. Trust, but verify — and actually enforce it.
Add recovery for six named strategies, typed failure detection, and local vs global replanning. Attach exp_store and your agent reuses successful decompositions across future runs.
27 node types · 14 execution + 13 harness · 4 framework adapters · Langfuse observability
The same 11 layers Aielia runs are node types on a canvas. Draw the graph and it is written to FlowSpec — an open JSON file you own — and the same file compiles to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework. Use three nodes or all eleven; every subset is valid.
14 execution nodes and 13 harness nodes — world model, 5-tier control state, 9-layer verify gate, six recovery strategies, adversarial reviewer pass. Mix and match any subset.
One FlowSpec compiles to LangGraph, CrewAI, Mastra, or Microsoft Agent Framework. A compile-time capability check flags anything a target runtime can't fully support instead of degrading it silently.
Every run traced automatically in Langfuse with harness-specific spans. One API call publishes a harness as a REST endpoint, an MCP tool, and an A2A agent at once.
./scripts/setup-env.sh && docker compose up — no cloud account. Bring an LLM key or run a free local model with Ollama.
27 nodes · 11 layers · FlowSpec v1.0.0 · open, portable JSON · Apache 2.0
Two live indexes of open-source projects, with GitHub stats refreshed daily by GitHub Actions — built to help you choose what to build on, and to see where a harness fits.
A ranked, searchable index of open-source agent frameworks — orchestration, multi-agent, RAG, no-code, code generation and more — with stars, forks, language, license, and topics. Sort and filter by any of them.
A curated index of open-source memory frameworks for agents, classified by layer (Framework, Infra, Research), memory class, architecture pattern, license, and maturity.
We run a controlled benchmark on the harness's reasoning features — one feature toggled per arm, a stress corpus, several seeds, an LLM judge — and publish the result whether it is positive or negative. A feature that doesn't pay for itself stays merged but flagged off, and the turn-by-turn transcripts behind every run are public.
Aielia is a general-purpose agent built on Build A Harness. Hand it multi-step work — research across a list, files to go through, a message to draft and send — and the harness decides, in code, what it may do next, what it may believe, and what a job may cost. Anything that can't be undone is staged for your approval. It is the architecture, kept honest by daily use.
> Find the pricing page for each vendor and
summarise the plans:
- Acme
- Globex
- Initech
- Umbrella
- Hooli
budget calibrated on the first two items, per item
Acme found
Globex found
Initech not_found — 3 dead ends in a row, moved on
Umbrella found
Hooli truncated_while_productive — budget reached
reply built from those outcomes; nothing omitted
> Email that summary to the team.
staged — send_email waits for your approval.
The exact action is recorded; nothing else can
be swapped in after you say yes.
Every read-only tool call is checked against a live 5-tier resolver before it runs — deterministic ALLOW / DENY / REQUIRE_APPROVAL, not an advisory hint.
A classifier error resolves to "requires approval" — it never defaults to low-risk. Judged in any language, not just English.
write_file, run_shell_command, and send_email stage the exact action for approval — no second model call can improvise a different one.
Web results and shell output are wrapped as data the model is told never to obey, and survive a crash mid-turn via checkpoint resume.
npx @buildaharness/aielia · CLI, browser, or desktop · one core, one harness · Apache 2.0
The canvas, framework adapters, observability layer, and the full harness node library are working and ready to use. Your real harnesses, bug reports, and contributions shape what gets fixed and what gets prioritised next.
The canvas-and-adapters layer is stable but alpha — APIs may shift, Docker Compose behaviour may vary, and edge cases in less-common node combinations aren't fully covered yet. The full harness reasoning and control architecture is implemented and tested. Run it, break it, and tell us what you need. Every report shapes what gets prioritised.