docs: kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding (#172)
CI / verify (push) Successful in 5m22s
CI / pwsh (push) Successful in 2m4s
Release / release (push) Successful in 36s

Files changed:
- CHANGES.md
- VERSION
- kb/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-04 11:03:47 +02:00
1 parent 4ec22d376d
commit af8bcb5b57
3 files changed
+20 -2

No files matched your search

+10 -1
View File
@@ -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 **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 - 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 - 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 - 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
<!-- /wikitool:bumps --> <!-- /wikitool:bumps -->
### 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 ### 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 Personen, von denen eine Quelle nur Namen, Rolle und Tätigkeitsbereich hergibt, waren bisher
+1 -1
View File
@@ -1 +1 @@
8.0.0-beta.35 8.0.0-beta.36
+9
View File
@@ -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 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. 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 Which *form* those titles take - spaces or kebab-case, singular or plural, what prefixes a
decision record - is the instance's, in decision record - is the instance's, in
[kb/CONVENTIONS.md § Naming](CONVENTIONS.md#naming). [kb/CONVENTIONS.md § Naming](CONVENTIONS.md#naming).