skillfed
REPO

Leonxlnx/unlazy

The core problem unlazy addresses is well-documented: AI agents routinely stop short, skip steps, and report success before verifying it. The tool's response is structural rather than rhetorical. Instead of prompting an agent to try harder, it forces the agent to write an acceptance ledger before starting work, execute reviewed shell checks against that ledger, and record evidence that traces exactly which shell, which working directory, and what exit status produced which output.

The gate format is the mechanism. Each gate carries a CHECK: line of shell code, an EXPECT: string that must match combined process output, and an EVIDENCE: field that stays pending until the check actually runs. A gate passes only when the process exits cleanly and the output matches. The checker rejects ledgers with no gates, duplicate ids, or incomplete runnable gates. Abandonment is a terminal handoff, not a success path - the checker exits with HANDOFF REQUIRED, and that outcome cannot be promoted to completion by a parent verification step.

The security model is honest about its limits. Approval is consent, not a sandbox. The approval record binds the exact ledger path, gate id, CHECK: and EXPECT: text, resolved working directory, shell, timeout, output limits, platform, and full inherited PATH - but it does not hash called scripts or their transitive dependencies. Editing any bound input requires re-approval. Checks run with ambient filesystem, environment, credential, and network access. The README says this plainly rather than overselling isolation.

The research section is unusually candid. It cites SlopCodeBench's finding that the best tested agent passed 14.8% of checkpoints, and notes explicitly that checkpoint success is not task completion. It cites the s1 budget-forcing technique but clarifies that appending Wait tokens to extend reasoning is not a claim that one token always improves work. An earlier internal comparison that appeared in previous README versions is now flagged as unreproducible - the raw artifacts needed to verify those ratios are not in the repository, and the README tells you to treat those results as historical design input rather than a benchmark.

Orchestration support handles parallel agent work through scoped pipelines under .unlazy/<scope>/, with leaf and branch ledgers, ownership leases over declared file paths, and rolling dispatch that starts newly unblocked leaves without waiting for unrelated work. The optional Claude Code Stop hook blocks session exit while gates remain unmet, with a session-keyed progress guard that releases after six consecutive blocks without semantic progress - a detail that prevents the hook from locking a session indefinitely on a stalled task.

The version targeting 2.1.0 is not yet a tagged GitHub release. The README says to pin an exact commit for an immutable installation. Zero runtime dependencies and Node 16 support are stated requirements.

A discipline layer for AI agents that refuses to let 'done' mean anything other than verified evidence from runnable checks.

Sources & links