Lullabeast is an open-source, local-capable autonomous dev pipeline: describe what you want in plain English and a planner, executor, reviewer agent loop builds it phase by phase against a real git repo, with deterministic gate scripts checking every step and escalation back to you when it gets stuck. Runs on OpenClaw.
This release is a reliability pass on the run loop. The headline is a deterministic catcher for agents that get stuck repeating the same tool call, plus tighter roadmap verification and a more honest, more reliable way of stopping and recovering agent sessions.
Highlights
- Deterministic tool-loop catcher. If an agent gets stuck re-running the same tool call with identical input inside one turn (a loop OpenClaw's own guard misses, and that stall detection misses because the agent keeps looking busy), the orchestrator now spots it in roughly 15 to 30 seconds, stops the looping session, and retries it fresh, escalating with a clear "tool loop" cause only if it keeps looping. Tunable per role via TOOL_LOOP_REPEAT_LIMIT_{PLANNER,EXECUTOR,REVIEWER} (set 0 to disable a role). Previously a loop like this ran until the multi-hour infrastructure backstop.
- Roadmaps now require machine-checkable verification. The roadmap generator bans subjective, human-eyeball pass/fail criteria ("visually confirm...") and requires a headless, programmatic check, so a generated step can't trap the reviewer in a loop it can never satisfy.
- Standing orchestrator-control rules for agents. The planner, executor, and reviewer now end their turn the instant they write their output, and treat any orchestrator stop signal as authoritative. These rules are re-injected after context compaction so a long run can't silently drop them.
Reliability fixes
- Agent sessions are interrupted reliably. The orchestrator now decides whether an agent is still working by reading its session transcript rather than a short timer that could misread a mid-model-call agent as idle and skip the very interrupt it needed. A still-streaming agent is stopped; one that has genuinely finished is left alone. All four interrupt paths (retry, stall/timeout, escalation, re-review) share one mechanism.
- Reviewer infrastructure errors report their real cause. When the reviewer's model server returns an error mid-review (for example a 500 from GPU contention or eviction), the escalation now names that as the cause with its own error code, instead of the misleading "reviewer ended without a verdict." The implementation is often fine in this case, so the message points you at the model host, not the code.
- Reset Reviewer and Reset Execution restore a full retry budget. Both controls previously left the reviewer's internal counters at their limit, so the reviewer would escalate again on its very first verdict (visible as three already-failed attempts the instant review began). Each reset now clears those counters and grants a genuine, complete review budget.
- Cleaner activity feed. Aborts no longer report a false "verify failed," a halted queue records its stall once instead of flooding the feed, and abort outcomes are labelled honestly ("already finished, no interrupt needed" vs. a genuine attempt).
- install.sh deploys all four roadmap-converter skills. The format-correction skill was previously left out of the deploy loop and only reached the runtime by a manual copy.
Upgrading
No breaking changes and no migration. To pick up the install.sh fix (so the format-correction skill is deployed) and the updated agent rules, re-run ./install.sh. The new TOOL_LOOP_REPEAT_LIMIT_* knobs are optional and ship with sensible defaults.
Requirements
OpenClaw v2026.5.18 or newer, Python 3.11+, Linux / macOS / WSL2. See the README and SETUP.md to get started.
Full changelog: v0.1.0...v0.2.0
Still beta, still nervous, and still honest about it: bug reports and suggestions are very welcome. Finding where it breaks is the point!