Repository navigation
breaklint 0.10.0 improves the evidence behind table, figure and whitespace findings and the context needed to act on them. It remains an uncalibrated checker with explicit non-measurement and infrastructure outcomes.
What changed
- Two new optional rules report missing existing table headers on continuation pages and measured column-edge displacement. They require verified source membership, visible cell geometry and supported table structure. A header-only first fragment names the first data-row page in its repair advice. Measured displacement alone does not establish substantial reader harm.
- Figure checks support more verified inline SVG and table bodies. Wrapper boxes do not replace the concrete body. Local table-reference wording and valid legacy
a[name]targets are recognized; unsupported or ambiguous structures remain visible non-measurements. - Optional whitespace review uses both fill and measured remaining bottom space. Natural document endings and almost vertically full pages avoid unnecessary low-fill warnings. A paginator-reported forced break is distinguished from verified author intent; unexplained layout causes remain unknown.
- Coverage explanations identify candidate evaluations rather than implying unique document-object counts. Context and repair advice separate measured observations, unknown causes and untested suggestions. JSON remains canonical.
- A font request-lifecycle correction removes a demonstrated acquisition bookkeeping failure without relaxing font, quiescence or evidence checks.
Defaults and compatibility
Seventeen rules are registered: twelve remain enabled by default. The two table rules, the two figure rules and experimental layout/half-empty-page are optional. All seventeen retain calibrated: false.
Snapshot 7 adds bounded table/figure inventories. Snapshot readers retain versions 5, 6 and 7; report readers retain versions 4 and 5. Report 5, configuration 1, agent context 2 and comparison 1 are unchanged. Missing inventories do not imply clean results. Node.js 22.13.0 is the tested engine floor.
Human evaluation and validation
The maintainer evaluated ten selected real pages on bound baseline/candidate input bytes: six defects and four acceptable designs. That feedback made table-context and repair advice more precise while preserving accepted cases. This is a bounded human evaluation, with no independent blind holdout or population precision/recall estimate. See evaluation scope and limits.
The frozen source passed the required 19-gate chain and separate live, mutation, visual and packed-consumer checks. Candidate commit 58d0ac718396229c570a77064f39f9afa8f1adc6 and tagged merge 65be7f0dd6f763eeb2d49c273a8d46c0ae4347a7 have the same Git tree. The original failed audit and timed-out retry remain historical results; independent bounded successor acceptance and its native finish passed on the corrected source.
Publication used the existing GitHub release workflow, attempt 2. Registry latest is 0.10.0; the GitHub and registry archives match byte for byte (625,421 bytes, 209 regular package members). Actual fresh CLI/API/demo consumers passed their expected outcomes on Node 22.13.0 and 24.21.0, including native npm signature audits and package-member joins. The actual Action-tag smoke resolved godarg/breaklint@v0.10.0 to the tagged merge and passed on both Linux runtimes.
General numbering, graphic clipping/readability, raster resolution, printed page references and unknown layout causes remain outside these bounded improvements. Partial coverage and failed acquisition continue to produce their real exits. The immutable package and tag are unchanged by later documentation corrections; no republish is implied.