Allow .githooks/ in the placement guard - #61
Conversation
`.githooks` is missing from the guard's ALLOW list while `.github`, `.claude`, `.machine_readable`, `.bot_directives`, `.well-known` and `.hypatia` are all present. It is repo infrastructure, not database content, and has to sit at the worktree root because that is where git resolves core.hooksPath. This is now load-bearing rather than theoretical. #59 landed .githooks/validate-a2ml.sh and .githooks/validate-k9.sh, and dogfood-gate.yml on main runs both. They are tracked today, so the next PR that adds a file there is flagged "Misplaced content" and fails the guard — which is exactly what happened on the #59 branch. Not a policy decision. rsr-template-repo's own root-allow.txt carries a comment recording the identical omission for the identical directory: it "failed scripts/check-root-shape.sh on this repo itself and on every repo instantiated from it". Verified the guard still discriminates rather than merely passing more: .githooks/validate-a2ml.sh -> ALLOW docs/y.adoc -> ALLOW verisimdb/x.res -> warn (grandfathered) lithoglyph/new.zig -> ERROR <- the #58 tightening still holds random/thing.rs -> ERROR
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedAdds
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
|
|
.githooksis missing from the placement guard's ALLOW list, while.github,.claude,.machine_readable,.bot_directives,.well-knownand.hypatiaare all present.It is repo infrastructure, not database content, and it has to sit at the worktree root — that is where git resolves
core.hooksPath.This is now load-bearing, not theoretical
#59 landed
.githooks/validate-a2ml.shand.githooks/validate-k9.sh, anddogfood-gate.ymlonmainruns both. They are tracked today, so the next PR that adds a file under.githooks/fails the guard with "Misplaced content" — which is exactly what happened on the #59 branch itself.Not a policy decision — an omission
rsr-template-repo's ownroot-allow.txtcarries a comment recording the identical gap for the identical directory:Same directory, same oversight, different gate.
Verified it still discriminates
Not just "passes more" — the #58 tightening is intact:
.githooks/validate-a2ml.shdocs/y.adocverisimdb/x.reslithoglyph/new.zigrandom/thing.rsA correction to my earlier PR descriptions
In #59 I wrote that
hyperpolymath/k9-validate-actionanda2ml-validate-action"have never existed". That was wrong. As your #60 establishes, they were real and were consolidated intok9-ecosystem(681 KB) anda2ml-ecosystem(910 KB) as top-level directories, with the standalone repos deleted. The 404 was real; my inference from it was not.That matters, because it means
owner/repo/path@refwas always an available fix — which is what #60 does.dogfood-gate.ymlcurrently uses the in-repo.githooksscripts from #59; both approaches work, and which one this repo should keep is your call. If you prefer the ecosystem actions there too, the.githookscopies become redundant and this PR is only needed for as long as they are tracked.🤖 Generated with Claude Code