Shepherd 0.3.0 completes the retained-output settlement vocabulary: apply joins select / release / discard as the fourth verb. Where select is fast-forward-only, apply three-way-merges a run's whole delta onto a workspace that has moved on when the two change sets are path-disjoint, and fails closed on any overlap — no content synthesis at the settlement boundary. N candidates, reviewed as changesets, settled explicitly — now including apply onto a workspace that moved on.
Also in this release
- Cleaner task syntax —
@sp.taskwithws.tasks.register(fn)andws.run(fn, ...), task arguments passed as keywords;repo: GitRepoas the writable workspace-handle grant;with sp.open(".") as ws:. - Grant enforcement executed on both macOS (Seatbelt) and Linux (Landlock) — the 0.2.0 container-gated caveat is retired.
- Beat-0 safety bar — the fabrication fence and the ambient-world-access refusal.
See the CHANGELOG for the full list, including the 0.2.x migration notes.
pip install shepherd-ai==0.3.0