v2.70.0
Released 2026-09-30.
Binaries and the merged-pull-request list are on the GitHub releases page.
The work sync rides orun plan
A repository that declares its work (work: in intent.yaml) no longer
needs a work-sync job. With work.sync: on-merge, a successful
orun plan on the clean default branch reconciles the declared tree into
Orunbase after the plan — the same mechanism, gates and debounce as the
catalog auto-publish (execution.state.autopushCatalog):
- default branch and clean tree only; feature branches, pull requests and dirty trees never sync;
- debounced by commit, so repeated plans on the same head cost nothing;
- bounded to ten minutes, and never a factor in the plan's exit code.
A refused write is a declaration problem the author must see, so it is
printed as ⚠ work sync: … whether or not ORUN_VERBOSE is set; the next
plan on main resumes from the tree. orun work sync remains as the
standalone command (--dry-run to see the plan from a laptop).
Delete the work-sync job from your workflow: the plan job it already
runs on main does the work.