Repository navigation
@osstack/loop@0.23.0
·
290 commits
to main
since this release
Minor Changes
-
f740da8: Behavior change — Loop no longer lands isolated-worktree work locally by default (D7), and never loses executor-made commits (D6).
osstack loop run --worktreeandosstack deliver --worktreeused to fast-forward whatever branch the main checkout had checked out after a successful task. They now commit the verified tree on the keptosstack/loop/...task branch and report it (loop.worktree.preserved, reasonlocal_landing_disabled;worktree_commitandworktree_branch_preserved: truein the completed task). Nothing in the main checkout changes, which keeps unattended/factory runs on controlled PR delivery (humans merge main).- Local landing is an explicit, attended opt-in:
--land-branch <B>(requires--worktree;deliveronly with--autonomy legacy) orLoopRunOptions.localLanding = { targetBranch }. It lands only the accepted commit and is refused unless the main checkout has<B>checked out. Daemon-managed loops (loop start,loop run --daemon) do not offer it. ACandidatePolicyimplies its ownbranchas the target. To keep the old behavior, add--land-branch <current branch>. --governcombined with--worktreenow requires--land-branch, because legacy governance scans the main checkout and would otherwise pass without seeing the candidate.mergeWorktree(handle, { expectedCommit, targetBranch })now requires both options and also refuses when the accepted commit is not the single commit on top of the worktree's recorded start.createWorktreerecordsstartCommit. When the executor rangit commititself,commitWorktreeChangesreportsexecutorCommitted(with the branch tip ascommiton a clean tree); the Loop preserves that branch (reasonexecutor_commits) and refuses to land it, because review evidence was collected against the worktree HEAD.cleanupWorktreereturns{ branchRemoved }and never deletes a branch whose tip is not the start commit or already contained in HEAD or another ref, including during orphan cleanup.- Reports and proof packs accept the new
preservedworktree status (a commit is required). --goalcombined with--worktree(andLoopRunOptions.goalCommandwithuseWorktree) now requires local landing (WORKTREE_GOAL_REQUIRES_LOCAL_LANDING), because the goal command runs in the main checkout and would never observe work kept on the task branch. Daemon-managedloop start --worktree --goalsessions are refused for the same reason.
Patch Changes
- c310d51: Preserve exact file paths in Git diff discovery so long paths resolve to the changed file. Keep line-count priorities and skip binary records.
- 41a1b0a: Pin isolated-worktree landing to the accepted commit.
mergeWorktreeaccepts{ expectedCommit }(a full commit id), refuses when the task branch no longer points at it, and fast-forwards that exact object instead of the movable branch name. The loop passes the commit it made from the verified tree, so commits added to the task branch after acceptance cannot land. - e93d640: Keep an isolated loop worktree when Git cannot commit its verified changes. A Git error while staging or committing is now treated as an unavailable proof rather than "no changes": the run still fails, but cleanup no longer force-removes the only copy of the verified work.
- Updated dependencies [95534c7]
- Updated dependencies [12de1f7]
- Updated dependencies [1372ecd]
- Updated dependencies [85e19da]
- Updated dependencies [eb35fbb]
- Updated dependencies [9d54cfd]
- Updated dependencies [540cd7a]
- Updated dependencies [1e6eeb9]
- Updated dependencies [ca24452]
- Updated dependencies [d5eea3e]
- Updated dependencies [3a5d523]
- Updated dependencies [5b3400e]
- Updated dependencies [0d9dca7]
- Updated dependencies [6a3e760]
- Updated dependencies [b103f62]
- Updated dependencies [e6d316e]
- Updated dependencies [936aced]
- Updated dependencies [bda3942]
- Updated dependencies [f740da8]
- Updated dependencies [d26c920]
- Updated dependencies [41a1b0a]
- Updated dependencies [2f9d33a]
- Updated dependencies [13bfb45]
- Updated dependencies [b5f2f93]
- Updated dependencies [7939a10]
- @osstack/core@0.23.0
- @osstack/protocol@0.23.0
- @osstack/github@0.23.0
- @osstack/agents@0.23.0
- @osstack/governance@0.23.0
- @osstack/autonomy@0.23.0
- @osstack/hermes-adapter@0.23.0