From 1d83ce2b1c16fa4c2f3a29def3522e61f0dc5ef1 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 29 Jul 2026 08:25:31 +0100 Subject: [PATCH] fix: remove stray worktree gitlink that breaks every recursive checkout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.claude/worktrees/maa-ci-repair` is committed on main as a **gitlink** (mode 160000, pointing at 0392152) with **no matching entry in .gitmodules**. Git treats that as an unmapped submodule and refuses: ##[error]fatal: No url found for submodule path '.claude/worktrees/maa-ci-repair' in .gitmodules ##[error]The process '/usr/bin/git' failed with exit code 128 That is the OSSF Scorecard failure on main — it dies during checkout, before running a single scorecard probe. Any `git clone --recurse-submodules` or `actions/checkout` with `submodules: true` fails the same way. A Claude Code worktree is local scratch. It must never be tracked at all; it was committed by accident in #142 (`fix(ci): repoint codeql-action at a SHA that exists`) — the same `commit -a`-on-a-dirty-tree that carried the squisher-corpus `guix.scm` clobber onto main (fixed separately in #143). Fix: drop it from the index (`git rm --cached`, contents untouched on disk) and add `.claude/worktrees/` to .gitignore so it cannot recur. This repo has been bitten by exactly this shape before: `639f389` (2026-02-21) left `aletheia` as a gitlink with no .gitmodules entry, and a gitlink without its mapping resolves to a silently-empty directory — git's quietest failure. That one went unnoticed for over a month. Verified: `git submodule status` now lists only `absolute-zero` and exits 0; `git check-ignore` confirms the path is ignored; the worktree itself is untouched on disk. Co-Authored-By: Claude Opus 5 --- .claude/worktrees/maa-ci-repair | 1 - .gitignore | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) delete mode 160000 .claude/worktrees/maa-ci-repair diff --git a/.claude/worktrees/maa-ci-repair b/.claude/worktrees/maa-ci-repair deleted file mode 160000 index 0392152..0000000 --- a/.claude/worktrees/maa-ci-repair +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 03921529b45f16ee21a5c4a903935f0d22433665 diff --git a/.gitignore b/.gitignore index 7cb9d10..a2b798a 100644 --- a/.gitignore +++ b/.gitignore @@ -129,3 +129,8 @@ deps/ .cache/ build/ dist/ + +# Claude Code worktrees — local scratch, never tracked. +# A worktree committed as a gitlink has no .gitmodules entry, which breaks +# every `git submodule update` and recursive checkout (see PR #145). +.claude/worktrees/