instructions: a dangling wikilink is three different things, not one - #2
Open
RomanZhulpo wants to merge 1 commit into
Open
instructions: a dangling wikilink is three different things, not one#2RomanZhulpo wants to merge 1 commit into
RomanZhulpo wants to merge 1 commit into
Conversation
A dangling wikilink is three different situations, and reporting them as one list of 'broken' makes the report worthless — the real breakage drowns in it. Measured on a 417-note memory vault with the same convention: of 311 wikilinks, 68 did not resolve. Only 13 were topics that had genuinely never been written, and zero were true breakage. The other 55 were EXISTING notes written with a different separator or without their type prefix — [[user-career-discretion]] for user_career_discretion.md. That drift is structural rather than careless: filenames carry a type prefix nobody repeats when linking by meaning, so it regenerates continuously and is not worth a human's attention. It is repaired mechanically. The backlog class matters most. In an agent memory layer a dangling [[name]] is often deliberate — it marks a note worth writing later. Flagging those as errors teaches the reader to ignore the whole report, which is how a link audit stops working. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Ran into this while auditing my own memory vault, which uses the same wikilink convention.
instructions.mdcurrently tells the agent thatexists:falsemeans the link is broken. It is actually three situations with three different remedies, and collapsing them makes the report unusable.Measured on 417 notes / 311 wikilinks:
[[user-career-discretion]]vsuser_career_discretion.md68 non-resolving links, and not one of them was actual breakage. A report that called all 68 broken would have buried the zero real problems under 68 false ones — and after a week you stop reading it.
The drift class is structural, not carelessness. Filenames carry a type prefix (
feedback_override_…) that nobody repeats when linking by meaning, so it regenerates continuously no matter how careful the writer is. It maps unambiguously back (0 collisions across 42 distinct targets in my case), so it should be repaired mechanically and never shown to a human.The backlog class is the one that matters for an agent memory layer. A dangling
[[name]]is frequently intentional — it marks a note worth writing later. Flagging those as errors is precisely how a link audit stops being read.The diff is 9 lines in
instructions.md. If you would rather push the distinction down intoget_broken_linksitself, that belongs upstream inpvliesdonk/markdown-vault-mcp— happy to take it there instead, this is just the cheapest place to state the rule.🤖 Generated with Claude Code
https://claude.ai/code/session_013w4fJ5QnvragpvHHgH2JFS