Repository navigation
feat(proof): follow git renames in --path and flag stale code anchors - #298
Draft
tonyketcham wants to merge 1 commit into
Conversation
`proof find --path` now matches records on a file's or folder's former names, found from git history at HEAD (`log --follow -M`, folder moves inferred from file renames when most of the old folder moved), and a path gone from HEAD reports where it went. Wherever a code Citation prints, its anchor is checked against HEAD and the working tree: a gone path, a symbol no longer in the file (with the commit that removed or renamed it), and commits that changed the file since the anchor. Git work is cached per read and capped at 60 calls, pickaxe walks stop 500 commits back, and nothing fetches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVVnhYL1Bz7mCfEKDoyLMW
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #297.
What
Code anchors in Proof go stale when a refactor moves code and nobody updates Proof. Today
find --pathon a moved file finds nothing, and cards still show the old path with no warning. These reads now ask git what happened.find --path <file|dir>also matches records on the target's former names.git log --follow -M. A copy counts only when the same commit took lines out of the source, so a module split counts and a template copy does not. The walk stops at the commit that added the current name.<sha>, or deleted in<sha>.findcards,get). Each anchorpath#symbol@shais checked against HEAD and the working tree:Offline gate (10x refactor bed, today's reads → these reads)
Changes were chosen on the tune split. Holdout was scored once, at the end.
Checks
pnpm build,pnpm typecheck, prettier,skills:syncandskills:checkpass.The paid rerun comes next.
Generated by Claude Code