Skip to content

blocker(git): common core.worktree redirects every lane to one checkout #772

Description

@jason931225

Source context

A sanctioned fresh lane created by scripts/cursor/provision-lane-worktree.sh at .worktrees/lane-cas-authority-cpr0 cannot establish its own Git custody:

  • common .git/config contains core.worktree = /Users/jasonlee/Developer/console/.worktrees/lane-full-console-g002-s0b;
  • from the new lane, git rev-parse --show-toplevel returns that foreign lane and git rev-parse --is-inside-work-tree returns false;
  • npm run check:doc-links fails docs/documentation-index.json: index requires a Git worktree;
  • git status in the new lane reports the foreign lane's unrelated modifications.

No shared config was changed and no foreign modification was cleaned, stashed, reset, or overwritten. The unpublished authority draft was restored byte-for-byte to its HEAD blob.

Blocker class

Shared Git custody / one-writer isolation failure. Any lane can test, stage, or commit the wrong worktree while believing it owns its own path.

Acceptance criteria

  1. Remove the lane-specific core.worktree from common config; use correct per-worktree configuration if any explicit value is required.
  2. For every registered worktree, git -C <path> rev-parse --show-toplevel equals <path> and --is-inside-work-tree is true.
  3. Provision a fresh fixture lane through the sanctioned helper and prove git status --short is isolated.
  4. node --test scripts/check-doc-links.test.mjs and npm run check:doc-links pass from that fresh lane.
  5. Preserve every existing worktree and all staged/unstaged/untracked user work; no clean/reset/stash/delete.

Verification path

A neutral Rust or existing repository verifier should enumerate git worktree list --porcelain, compare each path with rev-parse --show-toplevel, and fail closed on any mismatch. The protected contexts remain merge authority.

Suggested owner/profile

Repository toolchain/SCM implementer with an independent adversarial reviewer. This blocks the Console C-PR0/C-PR1 cache lanes but is independent of Oyatie PR #1950 and live cluster reachability.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions