• v1.6.12 Stable

    nntrivi2001 released this 2026-09-18 02:45:50 +00:00 | 190 commits to main since this release

    Removing a lane now deletes only the dashboard's record of it.

    A lane's worktree is the user's, not the dashboard's. remove used to tear down what the lane pointed at: git worktree remove --force, a branch delete, and a drop of the lane's own database. One mis-click on a row cost a whole branch's unpushed code, for a row that was the only thing AgentHub actually owned. It now stops the run and the stack, clears AgentHub's own runtime bookkeeping under LANES_ROOT/.state/lane<slot>/, and deletes the row. The working tree, its branch, git's worktree records and the database stay exactly where they are — deleting them is yours to do by hand, when you mean to.

    Fixes #28 — "Lane action failed: lane is not listed as a worktree in …". Removal used to route through assertDestroyable, whose third check demands the lane's directory appear in git worktree list; a managed lane git no longer listed answered ENOTWORKTREE and could never be dropped from the dashboard at all. Removal no longer asks git anything, so no preflight blocker stops it, and the unpushed-commits force-gate applies to reset alone — nothing remove does can discard a commit.

    The UI follows: one label for both lane kinds ("Delete lane record"), copy that says what survives, and no Force checkbox on removal. removeWorktree/removeLaneData remain as guarded primitives; no route calls them any more.

    Downloads