Development record
Two siblings of the core.hooksPath advice that prepare-this-repo now makes conditional still give it unconditionally. .github/CONTRIBUTING.md (around line 64) tells every clone to run git config core.hooksPath .githooks, and the commit-msg hook's 'no abcd source' refusal (.githooks/commit-msg around line 162) prints the same command. On a machine whose global hooks dispatcher is in force (ahoy's banlist.hooks_path reports foreign), either one overrides that dispatcher instead of having it call .githooks/. The 2026-10-10 drain lane's reviewer found them; that lane's remedy did not cover them.
Two siblings of the core.hooksPath advice that prepare-this-repo now makes conditional still give it unconditionally. .github/CONTRIBUTING.md (around line 64) tells every clone to run git config core.hooksPath .githooks, and the commit-msg hook's 'no abcd source' refusal (.githooks/commit-msg around line 162) prints the same command. On a machine whose global hooks dispatcher is in force (ahoy's banlist.hooks_path reports foreign), either one overrides that dispatcher instead of having it call .githooks/. The 2026-10-10 drain lane's reviewer found them; that lane's remedy did not cover them.
Grounds
- pursued: neither file advises setting core.hooksPath outside an unarmed branch; TestHooksPathSiblingsArmOnlyWhenUnarmed failed with 11 faults before the change and passes after; a --local, absolute-path or
git config setspelling reintroduced in either file, or a missing foreign branch, would show it wrong by failing that test.
Frontmatter
| id | iss-2610101903385281 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610101903385281-two-siblings-of-the-core-hookspath.md
open on GitHub ↗ · commit history ↗
mentions2
- iss-2610111820465940The pre-commit hook ahoy install scaffolds into adopted repositories (internal/core/ahoy/defaults/pre-commit, header lines 8-10) still tells every clone to run 'git config core.hooksPath .githooks' unconditionally, which shadows a foreign global hooks dispatcher instead of having it call .githooks/. A third sibling of the advice iss-2610101903385281 made conditional in CONTRIBUTING.md and the commit-msg hook; found by that lane's review (run-2610111657473488, PR #939).
- iss-2610112148115897The prepare-commit-msg hook ahoy install scaffolds into adopted repositories (internal/core/ahoy/defaults/prepare-commit-msg, header lines 20-22) still tells every clone to run 'git config core.hooksPath .githooks' unconditionally, shadowing a foreign global hooks dispatcher. The fourth sibling of the advice iss-2610101903385281 made conditional, found by the lane for iss-2610111820465940 (the scaffolded pre-commit). A sweep of every core.hooksPath mention on main at 2026-10-11 found no other unconditional instruction.