Please consider whether wiki-lint (tools/wikitool lint) could offer a plugin interface for checks that an instance defines itself. This is a request for consideration, not a bug.
Use case
The instance keeps every edition of a rulebook or regulation as its own source page. A superseded edition gets an instance-defined optional frontmatter field gueltig_bis (last season in force) and a wikilink to its successor in the prose.
Consistency rule: no page other than a source page may cite a source page that carries gueltig_bis. The rule lives in the instance's kb/CONVENTIONS.md.
What was tried
Environment: Claude Code (CLI), zsh, Linux 6.18.36-1-lts. Stack 10.1.0 (exported 2026-10-16, from commit c1ddefdc7f), content version 10.0.0, corpus still empty at the time (lint: "Scanned 0 pages under kb/").
tools/wikitool lint printed No structural findings. The report ends with a fixed "Semantic Review (LLM to complete)" section. lint -h lists a fixed set of structural, provenance and advisory checks. No option or note names a way for an instance to add one.
tools/wikitool search --field 'gueltig_bis:*' exited 1: ERROR unknown field(s): gueltig_bis. Available: collection, kind, subtype, title. The field list comes from existing pages, so the check can only be exercised once pages exist.
tools/wikitool search -h: --field supports f=v, f~substring, f>=v, f:*, !f. There is no predicate for exact membership of a value in an array field, so --field 'sources~Source - X' also matches Source - X 2027.
tools/wikitool links show -h shows related: edges in both directions, not citations.
tools/wikitool sources trace -h: --raw <path> gives raw file, source page(s), and the pages citing them. This is the exact lookup the check needs, but it is one call per raw file and counts against the iteration budget.
Result: a manual instruction, instructions/check-rule-editions.md (manual: true), that runs steps 2 and 5 per superseded source and reports read-only. tools/wikitool instructions verify passes.
Expected and observed
Expected: an instance-specific integrity rule over frontmatter and citations runs as part of lint, alongside the stack's structural checks.
Observed: lint has no extension point for instance-defined checks. The rule is held up only by a manual instruction that an agent must be asked to run, and each run issues one counted sources trace call per raw file of every superseded source.
Possible shapes
Only suggestions:
an instance-owned check file that lint discovers and runs (declarative, e.g. "pages citing a source whose frontmatter has field X"), or
a lint hook that receives the page graph and returns findings.
A declarative citation predicate would cover this case without arbitrary code.
Not known
Whether the stack already plans instance-level lint checks, and whether the sources trace call volume matters in practice. No superseded edition exists yet in the instance.
Notes
A pseudonymised bug-report bundle exists locally (bugreport-20261016T194034Z) and can be supplied on request.
## Request
Please consider whether `wiki-lint` (`tools/wikitool lint`) could offer a plugin interface for checks that an instance defines itself. This is a request for consideration, not a bug.
## Use case
The instance keeps every edition of a rulebook or regulation as its own source page. A superseded edition gets an instance-defined optional frontmatter field `gueltig_bis` (last season in force) and a wikilink to its successor in the prose.
Consistency rule: no page other than a source page may cite a source page that carries `gueltig_bis`. The rule lives in the instance's `kb/CONVENTIONS.md`.
## What was tried
Environment: Claude Code (CLI), zsh, Linux 6.18.36-1-lts. Stack 10.1.0 (exported 2026-10-16, from commit c1ddefdc7f15), content version 10.0.0, corpus still empty at the time (`lint`: "Scanned 0 pages under kb/").
1. `tools/wikitool lint` printed `No structural findings.` The report ends with a fixed "Semantic Review (LLM to complete)" section. `lint -h` lists a fixed set of structural, provenance and advisory checks. No option or note names a way for an instance to add one.
2. `tools/wikitool search --field 'gueltig_bis:*'` exited 1: `ERROR unknown field(s): gueltig_bis. Available: collection, kind, subtype, title`. The field list comes from existing pages, so the check can only be exercised once pages exist.
3. `tools/wikitool search -h`: `--field` supports `f=v`, `f~substring`, `f>=v`, `f:*`, `!f`. There is no predicate for exact membership of a value in an array field, so `--field 'sources~Source - X'` also matches `Source - X 2027`.
4. `tools/wikitool links show -h` shows `related:` edges in both directions, not citations.
5. `tools/wikitool sources trace -h`: `--raw <path>` gives raw file, source page(s), and the pages citing them. This is the exact lookup the check needs, but it is one call per raw file and counts against the iteration budget.
6. Result: a manual instruction, `instructions/check-rule-editions.md` (`manual: true`), that runs steps 2 and 5 per superseded source and reports read-only. `tools/wikitool instructions verify` passes.
## Expected and observed
- Expected: an instance-specific integrity rule over frontmatter and citations runs as part of `lint`, alongside the stack's structural checks.
- Observed: `lint` has no extension point for instance-defined checks. The rule is held up only by a manual instruction that an agent must be asked to run, and each run issues one counted `sources trace` call per raw file of every superseded source.
## Possible shapes
Only suggestions:
- an instance-owned check file that `lint` discovers and runs (declarative, e.g. "pages citing a source whose frontmatter has field X"), or
- a lint hook that receives the page graph and returns findings.
A declarative citation predicate would cover this case without arbitrary code.
## Not known
Whether the stack already plans instance-level lint checks, and whether the `sources trace` call volume matters in practice. No superseded edition exists yet in the instance.
## Notes
A pseudonymised bug-report bundle exists locally (`bugreport-20261016T194034Z`) and can be supplied on request.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Request
Please consider whether
wiki-lint(tools/wikitool lint) could offer a plugin interface for checks that an instance defines itself. This is a request for consideration, not a bug.Use case
The instance keeps every edition of a rulebook or regulation as its own source page. A superseded edition gets an instance-defined optional frontmatter field
gueltig_bis(last season in force) and a wikilink to its successor in the prose.Consistency rule: no page other than a source page may cite a source page that carries
gueltig_bis. The rule lives in the instance'skb/CONVENTIONS.md.What was tried
Environment: Claude Code (CLI), zsh, Linux 6.18.36-1-lts. Stack 10.1.0 (exported 2026-10-16, from commit
c1ddefdc7f), content version 10.0.0, corpus still empty at the time (lint: "Scanned 0 pages under kb/").tools/wikitool lintprintedNo structural findings.The report ends with a fixed "Semantic Review (LLM to complete)" section.lint -hlists a fixed set of structural, provenance and advisory checks. No option or note names a way for an instance to add one.tools/wikitool search --field 'gueltig_bis:*'exited 1:ERROR unknown field(s): gueltig_bis. Available: collection, kind, subtype, title. The field list comes from existing pages, so the check can only be exercised once pages exist.tools/wikitool search -h:--fieldsupportsf=v,f~substring,f>=v,f:*,!f. There is no predicate for exact membership of a value in an array field, so--field 'sources~Source - X'also matchesSource - X 2027.tools/wikitool links show -hshowsrelated:edges in both directions, not citations.tools/wikitool sources trace -h:--raw <path>gives raw file, source page(s), and the pages citing them. This is the exact lookup the check needs, but it is one call per raw file and counts against the iteration budget.instructions/check-rule-editions.md(manual: true), that runs steps 2 and 5 per superseded source and reports read-only.tools/wikitool instructions verifypasses.Expected and observed
lint, alongside the stack's structural checks.linthas no extension point for instance-defined checks. The rule is held up only by a manual instruction that an agent must be asked to run, and each run issues one countedsources tracecall per raw file of every superseded source.Possible shapes
Only suggestions:
lintdiscovers and runs (declarative, e.g. "pages citing a source whose frontmatter has field X"), orA declarative citation predicate would cover this case without arbitrary code.
Not known
Whether the stack already plans instance-level lint checks, and whether the
sources tracecall volume matters in practice. No superseded edition exists yet in the instance.Notes
A pseudonymised bug-report bundle exists locally (
bugreport-20261016T194034Z) and can be supplied on request.