Releases: kolt-mcb/pi-loop
Releases · kolt-mcb/pi-loop
v0.4.0
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_wakeupwithdelaySecondsandreasonfields LoopDeleteno longer refuses user-started loops (model can stop when goal is met)- Removed
PI_LOOP_CONTINUE_MSenv var (no longer needed) - New
npm run test:e2ewith 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_NOTEhandling (moved to LoopCreate)
v0.2.0 — timer-driven, multi-trigger loops
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, and15mis 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/LoopDeletetools 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
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