Goal orchestration for coding agents

Loop a coding agent until the goal is verifiably met.

Hand goaly a goal. It freezes what "done" means, then loops your agent against that bar until it's actually done — a bar the agent can't weaken to pass.

$ npm i -g goaly
Works with Claude Code Codex Droid pi goaly-code your own harness

1 Freeze the bar

The success check is hashed and frozen before the loop starts — the agent can't weaken its own test to finish.

2 Two keys for DONE

Done means both turn: the frozen check passes and an independent, refute-first reviewer doesn't veto.

3 Fail closed

Anything that errors or returns garbage is a fail, never a false green. The control loop makes zero LLM calls.


How it works

One compile, then a verified loop.

A pure, zero-LLM reducer owns the policy; a thin driver does the work it asks for. Click any stage.

COMPILEauthor + freeze
SEALlock the bar
prepareonce
loop 🔁 ≤ --max-iterations
RUN_AGENTone turn · best-of-N
verifytests → judge
SIGN-OFFveto-only
DECIDEpure
DONE ✔
FAILED
ABORTED

The full design — verify ladder, stuck detection, seams, resume — lives in ARCHITECTURE.md →


And there's more

Everything else, one line each.

Every flag, default, and guarantee: the full reference →

Hand it a goal. Get it back done.

$ npm i -g goaly
Docs