50065e894f
git runs whatever hooks/ holds today, so a clone that ran ./setup-hooks.sh once and never pulled runs an old gate while looking perfectly configured. Measured on tor-ms22 (logstream seq 172/173): core.hooksPath correct, .git/hooks clean, and no pre-push gate at all because the clone predated the commit that added it. Implementation: myconfigs b7acaa0, common/hooks/hook-freshness.sh — one copy for all six tracked-hook repos, not five vendored copies of a drift detector. SOFT dependency here: this repo has no myconfigs locator, so the call tries $MYCONFIGS_DIR, the sibling, then $HOME/myconfigs, and stays SILENT if none exist. It always exits 0. Verified: stale remote -> notice naming the commit; in sync -> silent; rc identical across both, so the gitleaks verdict below is untouched.