Repository navigation
Standards review: bounded diagnostics, stable finding IDs, offline rule help - #57
Merged
Merged
Conversation
Implements the 2026-09-30 standards review (design/2026-09-30-*): - Source links point at the exact section; rationale, hints, and the AI prompt no longer claim more than a check can see (STD-02/04/05/08/09/11). - Finding identity survives rewording and detector fixes: an optional frozen identity_anchor (results format v3; v1-v3 readable) keeps 0.2.1 IDs, so .wbcheck.toml ignores and filed issues still match (STD-06). - Detector fixes: explicit/multi-line/decorative alt (STD-01), observation- only WB403 (STD-02), hierarchy-scoped duplicate headings (STD-03), marker-independent top-level objectives (STD-07), blockquotes excluded from WB404 (STD-08), finite non-negative timings (STD-12). - Rule metadata for all 48 rules with a dated REFERENCES table, offline `wbcheck explain` and `wbcheck rules`, and one shared explanation in the CLI, TUI, report appendix, and issue drafts (DES-01/02). - Fixes from an external review of this work (REV-01..04): WB401 legacy occurrence slots, quote-aware alt parsing, the TUI shows each finding's own severity, width-independent TUI test. Tested against 0.2.1 golden IDs and scratch copies of five real lessons: every surviving finding keeps its 0.2.1 ID. 492 tests, ruff clean.
This was referenced Sep 30, 2026
Merged
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.
Implements the 2026-09-30 standards review. The design and review notes are in
design/2026-09-30-*: the audit, schema/help proposal, handoff, implementation prompt, the external review of this work, and its adjudication. The theme is to say no more than a check can see.What changes
identity_anchorkeeps 0.2.1 finding IDs when a message is reworded or a detector stops reporting a false positive, so.wbcheck.tomlignores and filed issues (open or closed) still match. The results file is now format v3; versions 1-3 are readable, and 0.2.1 refuses v3 with its usual "re-runwbcheck check".{alt=""}alt attributes (STD-01).true,.nan,.inf, and negative timings (STD-12).wbcheck explain CODEandwbcheck rulescommands. One explanation is shared across the CLI, the TUI detail pane, a report appendix, and issue drafts, with severity words and plain URLs.Behaviour changes
--fail-on warningcan now trip on+and numbered objectives and on invalid timings. It can also stop tripping on some WB212, WB301, WB404, and nested-bullet WB401 findings.--fail-on errorare unchanged.Testing
check-wheelcovers the newchecker/help.py.explainandrulesfrom outside the checkout.Not done or deferred
wbcheck reviewevaluation, which CONTRIBUTING asks for. Only mocked tests cover it.createdcitation question (OPEN-05).COLUMNS=40onmaintoo, because of Rich wrapping. Worth a separate issue./Users/...), which won't resolve on GitHub. They were kept unchanged as review records.