Skip to content

v0.5.0

Choose a tag to compare

@jperdior jperdior released this 06 Sep 13:45
· 30 commits to main since this release
8541696

The host contract lives in the spec

The gates, the per-worktree cleanup, the generated paths and the extra denials are facts about the host and change with it. They are no longer configured anywhere: /spec-writing derives them from the host's AGENTS.md / CLAUDE.md into every spec's ## Gates section, the human approves them at gate 1 with the rest of the spec, and the loop reads them from the branch like the phases.

  • parse-ledger.sh --gates and --host cleanup|excludes|denials read the section with the ledger's strictness.
  • The loop refuses a spec that declares no gates, reports where its gates came from in --dry-run, and hands the cleanup to the reclaim and the denials to every session.
  • host.env, host.env.dist and the LOOP_* contract keys are gone; install.sh removes a stale template from hosts.

/ship drives the loop from the chat

Phase B starts the loop detached — its own process group, a log under ~/.loop-runs/ — so the run outlives the chat session and the tool-call timeout, then watches the log and relays each event: a phase built, a pause, an escalation, the PR. The terminal commands remain the overnight-over-SSH option.

/ship checks credentials first

gh auth status, jq, timeout; under LOOP_SANDBOX=1 it runs .loop/setup-loop.sh --show and sends the user to the script for a missing token. It never asks for a token in the chat.

A shorter README

Cut from 345 lines to 125: what it does, install, use, what your repository must state, when it stops, settings, the skills. The internals live in the script headers and the skills.

Upgrade from 0.4.0

Delete .loop/host.env and re-run install.sh. Specs written before this need a ## Gates section before the loop will build them.

PRs #9, #10.