Skip to content

Allow .githooks/ in the placement guard - #61

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/githooks-allowlist
Jul 28, 2026
Merged

Allow .githooks/ in the placement guard#61
hyperpolymath merged 1 commit into
mainfrom
fix/githooks-allowlist

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

.githooks is missing from the placement 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 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.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 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 own root-allow.txt carries a comment recording the identical gap for the identical directory:

Tracked since #141 (pre-push Dogfood Gate) but never allow-listed, so scripts/check-root-shape.sh failed on this repo itself and on every repo instantiated from it.

Same directory, same oversight, different gate.

Verified it still discriminates

Not just "passes more" — the #58 tightening is intact:

path verdict
.githooks/validate-a2ml.sh ALLOW
docs/y.adoc ALLOW
verisimdb/x.res warn (grandfathered)
lithoglyph/new.zig ERROR#58 tightening holds
random/thing.rs ERROR

A correction to my earlier PR descriptions

In #59 I wrote that hyperpolymath/k9-validate-action and a2ml-validate-action "have never existed". That was wrong. As your #60 establishes, they were real and were consolidated into k9-ecosystem (681 KB) and a2ml-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@ref was always an available fix — which is what #60 does. dogfood-gate.yml currently uses the in-repo .githooks scripts from #59; both approaches work, and which one this repo should keep is your call. If you prefer the ecosystem actions there too, the .githooks copies become redundant and this PR is only needed for as long as they are tracked.

🤖 Generated with Claude Code

`.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
@gitar-bot

gitar-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

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.
Learn more

Code Review ✅ Approved

Adds .githooks/ to the placement guard allow list to unblock tracked validation scripts at the worktree root. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot

gitar-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Jul 28, 2026
@hyperpolymath
hyperpolymath merged commit 0c6621c into main Jul 28, 2026
23 of 24 checks passed
@hyperpolymath
hyperpolymath deleted the fix/githooks-allowlist branch July 28, 2026 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant