Skip to content

v0.4.0

Latest

Choose a tag to compare

@kolt-mcb kolt-mcb released this 13 Jun 20:33

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)