A Pi extension for bounded, resumable Goal loops. Each attempt runs in a fresh Pi session and must finish with a typed goal_report tool call.
Install the immutable v0.1.0 release from GitHub:
pi install git:github.com/peterstorm/pi-goal@v0.1.0Then restart Pi or run /reload.
For local development, install the checkout instead:
pi install /home/peterstorm/dev/pi-plugins/pi-goalWith the separate Loom Pi package loaded:
/goal --consecutive 2 --max-attempts 8 --session fresh \
--evaluator review-and-fix-clean -- /review-and-fix all --no-push
The deterministic evaluator accepts only one canonical Loom Standalone Review result witnessed by the loaded Loom Pi extension. Loom retains request/context authority and exact transcript capture receipts in process memory, replays the completed engine state, and returns the authoritative completion digest plus the Context Packet's immutable reviewed HEAD through a process-local bridge. pi-goal checks the no-follow result bytes and strict schema against that authority, and derives post-review commit freshness from the immutable object ID rather than mutable branch refs. Rewriting the same-user registry, result.json, or durable Goal envelope cannot mint clean or completion authority. A non-zero surviving_critical_findings count resets the streak.
/goal --until "tests pass and requested behavior is complete" \
--consecutive 1 --max-attempts 5 --session fresh -- \
"Implement the requested feature and validate it"
Generic Goals are model-judged. The deterministic Loom evaluator is stronger.
/goal ... -- <target>— start a Goal/goal-status [goal-id]— show status and retained evidence references/goal-history— list Goals for this cwd/goal-stop [--abort]— stop after settlement or abort immediately/goal-resume [goal-id]— resume a ready/paused Goal or reconcile a crash-left nonterminal Goal after its lease expires/goal-delete <goal-id>— remove terminal Goal state
- v1 supports fresh sessions only.
- Every Goal is bounded by
--max-attempts. - The target is displayed before unattended execution unless
--yesis explicit. - Target arguments are never rewritten. Use
--no-pushwhen repeated pushes are not wanted. - Goal state is stored under
~/.pi/agent/goal-runs/with user-only permissions and fully parsed on every read. - Cwd-scoped atomic creation permits at most one active Goal per working directory across Pi processes.
- Replacement runtime attestation is verified before the target prompt is sent.
- Project prompt commands require Pi project trust.
npm install
npm run check