Skip to content

v0.2.13 — Scheduled / recurring tasks (R15)

Choose a tag to compare

@iiizzzyyy iiizzzyyy released this 22 Jul 11:06
· 2 commits to main since this release
204d955

Scheduled / recurring tasks (R15). Register a recurring job — a concrete tool-path plan plus a cron expression — that an external OS timer (launchd/cron) replays with hubspot schedule run-due. No always-on daemon.

A scheduled run executes reads unattended and stages every write as a pending preview — nothing mutates on its own. You approve the queued batch later; each write re-verifies with per-record compare-and-set (drift → skip), so a deferred approval never clobbers a since-changed record.

  • hubspot schedule add|list|remove|run-due|install-timer
  • _drive_loop stage-and-continue mode; interactive loop unchanged (still pauses at every write)
  • Non-concrete (free-text) plans are refused so cron can replay deterministically with no run-time LLM
  • Overlap gate skips while a batch is unreviewed and un-freezes when resolved; unreviewed batches expire after schedule_queue_ttl_days (default 7)
  • New in-house cron.py + per-portal schedule_store.py

Adversarial review before ship caught and fixed an unattended-mutation hole (free-text steps), a freeze-until-TTL bug, and a reaper/TTL mismatch.

Full suite 1267 passed, 1 skipped on Python 3.12. CI (pytest + plugin validate + artifact allowlist) green.