v0.2.0 — fan-out/join, versioning, schedules, HTTP dashboard, record/replay
The industrialization release. Schema v2 (auto-migrates existing roots).
Highlights
- Fan-out/join:
fanout.emitruns a step per list item and fires a join event exactly once when every spawned task is terminal — crash/retry-safe barriers with truthful counts. - Definition versioning: tasks are stamped with the workflow definition hash; editing YAML under a mid-flight task parks it for a clean re-run instead of replaying old state through a new graph.
- Timed triggers:
schedule:fires events once per window — restart-safe cursor, no catch-up storms. - HTTP front door: built-in dashboard + JSON API +
POST /api/emit, bearer-token auth, loopback-safe defaults. - Record/replay: every agent verdict is archived;
--replay-from ROOTre-runs whole pipelines answering LLM steps from recordings — deterministic, token-free CI that fails loudly on prompt drift. - Pack-tunable retry policy:
retry:in project.yaml retunes error classes or defines new ones for pack block outcomes. - Chaos-tested: randomized
kill -9schedules prove convergence and bounded side effects. 169 tests, stdlib only.
Also: MIT license, CI (Linux/macOS × Python 3.9–3.13), migration guides for Celery/cron/Airflow/LangGraph/Temporal in docs/COMING_FROM.md.
Full details in CHANGELOG.md.