A non-git project folder still gets an isMain trunk lane from the backend's
path-only heuristic (pinned by test_existing_non_git_workspace_still_becomes_a_project),
but the renderer treated every isMain lane as a branch target, so clicking "+"
ran `git switch <folder-name>` and died with "fatal: not a git repository".
The placement now carries isGit (false only for the heuristic fallback lane);
the wire contract and the desktop lane type pass it through, and the sidebar
skips the pre-create branch switch when the lane is not a git checkout. The
lane itself, its sessions, and the new session landing in the folder are
unchanged.