You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A lane whose recorded dir has a space is missing from worktrees --all and the inventory index: worktree_rows hands lane_control_root the dir unquoted, and payload_subfield cuts it at the first space #295
Found by the independent delta review r3 of #289, as its SHOULD-C. It has been on main since #171 (f5444c5), is present at a42946e, and #289 does not change it.
Where, on main a42946e:
lanes-edit.sh:14473, in worktree_rows, calls lane_control_root "$wr_l" "dir ${wr_dir:-none}". wr_dir is the listing's column 7, whose quotes lane_row_facts has already stripped.
payload_subfield (:6413) reads an unquoted value only up to its first space. A value that opens with " runs to its closing ".
lane-start writes such a dir quoted (quote_subfield, lane-start:4106), and so does lane-handoff. The log is right; only this re-wrapped payload loses the quotes.
What happens: take a lane recorded with dir "/Users/x/My Projects/foo". Its control root becomes /Users/x/.lane-state/<lane>, the [ -d <root>/trees ] check fails, and the lane is skipped in silence, with no UNREAD, no PARTIAL and no warning:
worktrees --all has no row for it, and worktrees <lane> exits 8 ("none");
the inventory index never holds its trees;
the named lane-trees <lane> does list them, because it reads the lane's log itself.
Evidence: the review's probe, section S, gives the same result at #289's f2723b1 and at main a42946e.
Fix, in one line: quote the value, as "dir \"${wr_dir:-none}\"". On #289's head the payload is wr_pay, which also reaches lane_trees_list and lane_state_read.
It is safe because lane-start refuses a dir that holds " (lane-start:1427).
The test would be a lane whose recorded dir has a space, which keeps its trees in worktrees --all and in the index.
Not claimed. This is outside lane 4's assignment, and it is filed for whoever Brett Heap names. #289 does not depend on it.
CLAIMED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-21T10:33:48Z, for #295
Logged in lanes/log/openRepoTools-4.md at 02dd6c8e1e29a8169e1d7f6a376420370fc410cf.
The three reads (lane-collision-protocol Rule 1):
1. existing `CLAIMED —` comments on opensoft/openRepoTools#295:
none
2. `gh pr list --repo opensoft/openRepoTools --state all --search "#295"`, kept where the row or its body names `#295`:
none
3. `git ls-remote --heads git@github.com:opensoft/openRepoTools` branches naming `295` as a whole token:
none
Activity
brettheap commentedon Oct 21, 2026
CLAIMED — lane openRepoTools-4, session e545e636-93fd-4b80-81b1-48177346b887@Eagle, 2026-10-21T10:33:48Z, for #295
Logged in
lanes/log/openRepoTools-4.mdat02dd6c8e1e29a8169e1d7f6a376420370fc410cf.The three reads (lane-collision-protocol Rule 1):
lane-state hands the dir it read on quoted only where it holds a spac…
The lane-state dir test now pins a bare dir holding a TAB and a quote…