Skip to content

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

Open

Description

@brettheap

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.

Lane: openRepoTools-4

Activity

  1. brettheap commented on Oct 21, 2026

    @brettheap
    ContributorAuthor

    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
    
  2. added this to the v1.2.0 milestone on Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions