From af8bcb5b572ea114f5525746254bffe975c12c58 Mon Sep 17 00:00:00 2001 From: Torben Nehmer Date: Sun, 4 Oct 2026 11:03:47 +0200 Subject: [PATCH] docs: kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding (#172) Files changed: - CHANGES.md - VERSION - kb/CONTRACT.md Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2 --- CHANGES.md | 11 ++++++++++- VERSION | 2 +- kb/CONTRACT.md | 9 +++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7b5b0c0..3147a42 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse. --- -## 8.0.0-beta.35 - 2026-10-04 - Organisationsseiten: Personen als Abschnitt mit Aufstieg, entity_type organization, member-of, Lint-Befund broken_anchors +## 8.0.0-beta.36 - 2026-10-04 - kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding **Author:** Torben Nehmer @@ -146,8 +146,17 @@ concern - readable here, never shipped as something to parse. - stack-close no longer records which model and effort ran each phase - lint: a wikilink wrapped across a line break is its own finding; rename and rm see it - Page-material passages in type-spec.md, type-guidance.md and language-boundaries.md name subtype templates +- kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding +### kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding + +The stage contract's rules for writing a wikilink (§ Titles are identifiers) covered wrapped links +but not `[[Title#Section]]`, which the previous bump made a checked form. It now says that the +title part is the reference (the graph counts it, `rename` carries the anchor), that a stale +anchor is reported as advisory *Broken Anchors*, and that a section is never an edge target. +Found in the closing pass of Gitea #172. + ### Organisationsseiten: Personen als Abschnitt mit Aufstieg, entity_type organization, member-of, Lint-Befund broken_anchors Personen, von denen eine Quelle nur Namen, Rolle und Tätigkeitsbereich hergibt, waren bisher diff --git a/VERSION b/VERSION index e8daace..a748426 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.0.0-beta.35 +8.0.0-beta.36 diff --git a/kb/CONTRACT.md b/kb/CONTRACT.md index 7de3c5b..28eec7d 100644 --- a/kb/CONTRACT.md +++ b/kb/CONTRACT.md @@ -122,6 +122,15 @@ read a link with a line break in it as a link. `wikitool lint` reports one as a Wikilinks* hard error, naming the title it folds to - the graph, `rename` and `rm` already read it as that title, so the fix is only to put it back on one line. +**A wikilink may name a section of its page: `[[Title#Section]]`.** The title part is the +reference - the graph counts it as a link to `Title`, and `rename` carries the anchor along - so +an anchor never makes a link broken. It can make one stale: a section renamed, or promoted to a +page of its own ([instructions/page-lifecycle.md](../instructions/page-lifecycle.md)), leaves the +link reaching the right page and the wrong place. `wikitool lint` reports an anchor that names no +heading on its page as *Broken Anchors*, advisory - compared at any heading level, without case, +inline-code backticks or extra whitespace. A section is never a target in `related:`; an edge +points at a page. + Which *form* those titles take - spaces or kebab-case, singular or plural, what prefixes a decision record - is the instance's, in [kb/CONVENTIONS.md § Naming](CONVENTIONS.md#naming).