chore(git): ignore generated scratch by family, not by instance - #41
Merged
Conversation
`.claude/worktrees/` was added to 21 repos' .gitignore one at a time, plus 2 .git/info/exclude entries that no other checkout and no reviewer can see. Two repos never got it: solon and ai-ration. Solon then sat in the stranded-work report for five days over an empty directory. That is precisely the case this file's own header describes — scratch that my tooling creates in every repo I touch — and precisely the failure it predicts: "18 diffs, 18 reviews, and a 19th repo that gets missed." One line here covers both stragglers and every repo that does not exist yet. The 21 existing .gitignore lines are left alone; they are redundant now but harmless, and 21 PRs to delete a line each is the churn this avoids. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
FleetCrown rewrites its hooks into .claude/hooks/ on every startup — the files say so themselves. `fleetcrown-capture.sh` was ignored; `fleetcrown-session-end.sh` appeared later and was not, leaving this tree dirty for ten days. A permanently dirty tree is exactly where genuinely stranded work hides, which is the whole premise of the guard two commits up. Match `fleetcrown-*.sh` so the next generated hook is covered before it exists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #40 — auto-merge squashed that PR the moment CI went green, before these two commits landed on the branch.
Both are the same shape: a generated-scratch path was ignored one instance at a time, so the next instance went unignored and left a tree permanently dirty. A permanently dirty tree is where genuinely stranded work hides, which is the whole premise of #40.
1. Agent worktrees — 2 repos were missed
.claude/worktrees/was added to 21 repos'.gitignoreindividually, plus 2.git/info/excludeentries (machine-local, so invisible to review and to every other checkout). Two repos never got it: solon and ai-ration. Solon then sat in the stranded-work report for five days over an empty directory.That is exactly the case
.config/git/ignore's own header describes, and exactly the failure it predicts — "18 diffs, 18 reviews, and a 19th repo that gets missed." One line covers both stragglers and every repo that doesn't exist yet.The 21 existing
.gitignorelines are left alone: redundant now, harmless, and 21 PRs to delete one line each is the churn this avoids.2. FleetCrown hooks — the family, not the member
FleetCrown rewrites its hooks into
.claude/hooks/on startup (the files say so themselves).fleetcrown-capture.shwas ignored;fleetcrown-session-end.shappeared later and was not — dirty for ten days. Now matched asfleetcrown-*.sh.Verified
solonandai-rationboth resolve the ignore to.config/git/ignore:23git statusclean in solon and in dotfilestest-stranded-work.sh: 24 passed, 0 failed🤖 Generated with Claude Code