Skip to content

Releases: kolt-mcb/pi-loop

v0.4.0

13 Jun 20:33

Choose a tag to compare

Model-driven self-paced /loop (Claude-style omit-to-end)

Self-paced /loop <prompt> is now model-driven, faithfully matching Claude Code's /loop: the model does one iteration's work, then calls schedule_loop_wakeup at the end of its turn to run the next one — and ends the loop simply by not calling it (omit-to-end). No harness auto-continue.

One mechanism, three natural shapes:

  • Indefinite — the model calls the wakeup every turn
  • Goal-bound — continues until the goal is met, then omits the call
  • Stochastic — continues unpredictably, stopping on a runtime condition

Changes

  • Model-driven schedule_loop_wakeup with delaySeconds and reason fields
  • LoopDelete no longer refuses user-started loops (model can stop when goal is met)
  • Removed PI_LOOP_CONTINUE_MS env var (no longer needed)
  • New npm run test:e2e with count-to-N and die-roll-until-6 tests
  • Updated unit tests for omit-to-end semantics
  • Added loop-test/ to .gitignore
  • Cleaned up READONLY_NOTE handling (moved to LoopCreate)

v0.2.0 — timer-driven, multi-trigger loops

30 May 17:57

Choose a tag to compare

Major refactor modelled on Claude Code's /loop.

Highlights

  • Fixed-interval loops (/loop 15m <prompt>): the interval is parsed at the command layer into a cron schedule and run by a self-re-arming timer. Continuation is the default — a loop no longer dies because the model forgot to reschedule, and 15m is a real cadence instead of prompt text.
  • Self-paced mode kept as the no-interval form (/loop <prompt>).
  • Event & hybrid triggers — fire on pi events (tool_execution_end, turn_end, monitor:done, …) or cron+event with debounce.
  • Multiple concurrent loops with LoopCreate / LoopList / LoopDelete tools and /loop list · /loop stop [id].
  • Persistence under .pi/loops, restored unexpired on --resume.
  • Per-loop maxFires, 7-day expiry, deterministic jitter, read-only mode.

Internals

Split into src/{types,loop-parse,store,scheduler,triggers}.ts; entry stays loop.ts. Added tsconfig, typecheck/test scripts, and node:test coverage for parsing/cron/jitter.

pi-loop v0.1.0

27 May 17:07

Choose a tag to compare

First public release of pi-loop — run a prompt or slash-command repeatedly (Claude Code-style /loop) for pi.

Install: pi install git:github.com/kolt-mcb/pi-loop@v0.1.0