feat: lint reports sections that hold only template placeholders as Unfilled Template Sections (#94)
CI / verify (push) Successful in 5m16s
CI / pwsh (push) Successful in 2m3s
Release / release (push) Successful in 34s

Files changed:
- CHANGES.md
- EVALS.md
- VERSION
- instructions/wiki-lint/SKILL.md
- instructions/wiki-manage/SKILL.md
- tools/CONTRACT.md
- tools/chemenu/blocks.py
- tools/chemenu/commands/lint.py
- tools/chemenu/evals/scorecard.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_blocks.py
- tools/chemenu/tests/test_evals.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_pipeline_l0.py
- types/type-spec.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 17:11:37 +02:00
1 parent af8bcb5b57
commit a2a6baa265
15 files changed
+320 -5

No files matched your search

+20 -1
View File
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
---
## 8.0.0-beta.36 - 2026-10-04 - kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding
## 8.0.0-beta.37 - 2026-10-04 - lint: Unfilled Template Sections - a section still holding only its template's TODO placeholders (advisory)
**Author:** Torben Nehmer
@@ -106,6 +106,7 @@ concern - readable here, never shipped as something to parse.
- The test suite no longer ships, and dist upgrade deletes what a release stops shipping
- Link-Katalog: Beteiligungs- und RACI-Label von der Projektseite aus
- Organisationsseiten: Personen als Abschnitt mit Aufstieg, entity_type organization, member-of, Lint-Befund broken_anchors
- lint: Unfilled Template Sections - a section still holding only its template's TODO placeholders (advisory)
**Low impact**
- version bump no longer points at version release in its output
@@ -149,6 +150,24 @@ concern - readable here, never shipped as something to parse.
- kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding
<!-- /wikitool:bumps -->
### lint: Unfilled Template Sections - a section still holding only its template's TODO placeholders (advisory)
`lint` had no finding for a page without substance: every check measured structure, links,
provenance or schema, so a page carrying only its `wikitool new` scaffold and one line read the
same as a complete one - and a later session took its subject as covered and stopped looking at
the source. The new advisory finding `unfilled_sections` names each page with a `##` section
whose non-blank lines are all template placeholders, with those sections' headings. A
placeholder line is one whose content starts with the token `TODO` (after an optional list
marker, checkbox, table cell or bold field label); code, generated regions and footnote
definitions are out of view, and neither an empty section nor a single open field beside written
ones is reported. Word count and "page carries a placeholder" were measured against two corpora
and rejected - both misjudge short complete pages or pages with one honest gap marker; the
section rule separated stubs from complete pages in both. On the demo corpus it names 34 pages.
`types/type-spec.md` now makes `TODO` the contract for placeholder text in a template, an
instance-owned one included; `wiki-lint` keeps the finding out of its mechanical repair step;
`eval score` counts it under `advisories`. Not a hard error, so no instance's
`lint --fail-on-error` turns red on this upgrade (Gitea #94).
### 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