Found during PR #331.
hooks.d/before_session_start/50-git-restore.sh:292 — "Three answers, never two (docs/validators.md, …)" — and tests/test_git_restore_hook_253.py:463 both point a reader at docs/validators.md. That file is in claude-supertool. It has never existed in this repo.
Why it matters more than a dead link
The three-state contract — ok, a finding, and could not check — is the single most load-bearing convention in this codebase, and these two citations are the only signposts to it. A reader who follows either one finds nothing and reasonably concludes the vocabulary is undocumented folklore. That is the opposite of what the citation was for.
It has already cost once: an agent working #263 was sent to docs/validators.md, found nothing, and had to reconstruct the pattern from the code.
Where it actually lives here
- The
0.12.0 CHANGELOG entry, which states the contract.
_push_and_report in hooks.d/after_save/50-git-backup.sh, which is the worked implementation.
Either is a correct target. Pointing at both is better.
The general shape
This is a citation carried across a repo boundary by boilerplate — the same class as an issue body citing a sibling repo's issue number as prior art. A wrong fact gets checked; a wrong citation gets trusted, because it looks exactly like the kind of detail nobody invents. Worth a grep for any other cross-repo path reference while fixing these two.
Found during PR #331.
hooks.d/before_session_start/50-git-restore.sh:292— "Three answers, never two (docs/validators.md, …)" — andtests/test_git_restore_hook_253.py:463both point a reader atdocs/validators.md. That file is inclaude-supertool. It has never existed in this repo.Why it matters more than a dead link
The three-state contract —
ok, a finding, andcould not check— is the single most load-bearing convention in this codebase, and these two citations are the only signposts to it. A reader who follows either one finds nothing and reasonably concludes the vocabulary is undocumented folklore. That is the opposite of what the citation was for.It has already cost once: an agent working #263 was sent to
docs/validators.md, found nothing, and had to reconstruct the pattern from the code.Where it actually lives here
0.12.0CHANGELOG entry, which states the contract._push_and_reportinhooks.d/after_save/50-git-backup.sh, which is the worked implementation.Either is a correct target. Pointing at both is better.
The general shape
This is a citation carried across a repo boundary by boilerplate — the same class as an issue body citing a sibling repo's issue number as prior art. A wrong fact gets checked; a wrong citation gets trusted, because it looks exactly like the kind of detail nobody invents. Worth a grep for any other cross-repo path reference while fixing these two.