Skip to content

chore: remove inert .claude/hooks/extensions scaffold - #9

Merged
twistedmelonman merged 1 commit into
mainfrom
claude/chore-remove-claude-hooks-scaffold-5e330f69
Sep 10, 2026
Merged

chore: remove inert .claude/hooks/extensions scaffold#9
twistedmelonman merged 1 commit into
mainfrom
claude/chore-remove-claude-hooks-scaffold-5e330f69

Conversation

@twistedmelonman

@twistedmelonman twistedmelonman commented Sep 10, 2026

Copy link
Copy Markdown
Member

Why

.claude/hooks/extensions/ is documented by its own README as being
"automatically discovered and run by global hooks." That claim is false and
was never true: git log -S'.claude/hooks/extensions' -- git/hooks/ in the
dotfiles repo returns empty. Live extension discovery is .project-hooks/
only (dotfiles/git/hooks/pre-commit:92, pre-push:840). The scaffold
dates to 2026-01-12; the .project-hooks/ seam was named in dotfiles#243
on 2026-08-24. The committed file is inert and its README lied about it.

Removal is safe: dotfiles/git/template/hooks/post-checkout:111 guards on
.claude/ EXISTING, not on the example file. This repo keeps a tracked
.claude/README.md and config.sh.template, so the hook exits before the
cp -r. Verified by trial clone (DIRTY_LINES=0, nothing re-dropped).

What this PR does

  • git rm -r .claude/hooks — removes the tracked file
    .claude/hooks/extensions/example.sh.disabled. This is not "removing the
    directory"; the directory itself is regenerable scaffolding with nothing
    else tracked in it.
  • Replaces .claude/README.md with a corrected copy that drops the false
    "automatically discovered" claim.

Evidence

Ran the CI-faithful standards check (standards-check-v1's
run-standards.sh, same script CI runs) locally with an empty HOME both
before and after this change:

  • Before: exit 0
  • After: exit 0

What this does and does not prove. This repo's .claude/hooks/extensions/example.sh.disabled
was the passing variant (blob d3b8d301ace5) and the repo was already
green before this change. A green run after the change proves nothing
about whether the removal "worked" — it isn't evidence of that. The only
thing the after-run legitimately demonstrates is that the corrected
.claude/README.md lints clean.

Advances smartwatermelon/dev-env#110

https://claude.ai/code/session_01TkReZXv8XkcWNbcaiWfcvg

.claude/hooks/extensions/example.sh.disabled claimed to be "automatically
discovered and run by global hooks." That was never true: dotfiles never
had a code path reading .claude/hooks/extensions (git log -S over
git/hooks/ in dotfiles returns nothing for that string). Live extension
discovery is .project-hooks/ only (dotfiles pre-commit:92, pre-push:840),
a seam named in dotfiles#243 (2026-08-24), after this scaffold was already
committed (2026-01-12).

Removal is safe: dotfiles' post-checkout template guards on .claude/
existing, not on this example file, and this repo keeps a tracked
.claude/README.md and config.sh.template, so the hook exits before any
re-drop of the removed file.

Also replaces .claude/README.md with a corrected copy that drops the
false discovery claim.

Advances #110

Claude-Session: https://claude.ai/code/session_01TkReZXv8XkcWNbcaiWfcvg
@claude

This comment has been minimized.

@claude

claude Bot commented Sep 10, 2026

Copy link
Copy Markdown

Documentation update: hook extension location moves to .project-hooks/, example disabled extension removed.

No changes to SKILL.md or core artifact. No functional impact.

VERDICT: PASS

@twistedmelonman
twistedmelonman merged commit c361b9f into main Sep 10, 2026
5 checks passed
@twistedmelonman
twistedmelonman deleted the claude/chore-remove-claude-hooks-scaffold-5e330f69 branch September 10, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant