Skip to content Aller au contenu

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

structure.number-run

Experimental in v0.2.x. Off by default; opt in via --experimental structure.number-run or [experimental] enabled = ["structure.number-run"] in lucid-lint.toml. Flips to Stable at the v0.3 cut as part of the F-experimental-rule-status cohort flip. See Conditions for the dyscalculia condition tag that gates this rule under user-active conditions.

What it flags

Sentences that pack more than a configurable number of numeric tokens together. plainlanguage.gov is explicit on the framing — “Don’t put a lot of numbers together in one sentence” and “Avoid placing too many statistics close together” — and readers with dyscalculia carry the cost first: each numeric token forces a quantity-to-symbol re-anchoring that does not benefit from running prose context the way ordinary words do. Citation salads ((Smith 2020, Jones 2021, Wei 2022, Park 2023)), benchmark tables flattened into prose, and statistic-heavy paragraphs are the typical hits.

At a glance

Categorystructure
Default severitywarning
Default weight1
Statusexperimental (v0.2.x) → stable at v0.3 cut
Condition tagdyscalculia (gated; runs only under matching --conditions)
LanguagesEN · FR (identical detection — digits are language-agnostic)
Sourcesrc/rules/structure/number_run.rs

Detection

Walks each paragraph’s sentence stream (post-flattening, so fenced code blocks are already excluded by the parser) and counts numeric tokens per sentence. A numeric token is a contiguous run of ASCII digits, optionally containing one decimal separator (. or ,) followed by more digits. Hyphen, colon, slash, and whitespace split tokens.

InputTokens countedNote
421Bare integer
3.141Decimal separator kept
1,0001Comma separator kept
2026-05-043Hyphens split — a date is three numbers from a load standpoint
$3.501Currency prefix is non-digit and ignored
1st1Trailing letters split; the digits still count

The diagnostic location points at the first numeric token in the offending sentence, so the squiggle in your editor lands on the visible cluster rather than the start of the sentence.

Parameters

KeyTypedev-docpublicfalc
max_numbersint643

Tune via lucid-lint.toml:

[rules."structure.number-run"]
max_numbers = 5

Examples

English

Before (flagged):

The 2024 cohort sat 1,200 students across 4 campuses, posted a 92.5% pass rate on the 3 reviewed papers, and improved 18 points over the prior year.

What lucid-lint check --profile public --experimental structure.number-run --conditions dyscalculia reports:

warning input.md:1:5 Sentence packs 8 numeric tokens (maximum 4). plain-language guidance recommends not placing many numbers or statistics together in one sentence; split the sentence or move some figures to a list or table. [structure.number-run]

After (your rewrite):

The 2024 cohort sat 1,200 students across 4 campuses. They posted a 92.5% pass rate on the reviewed papers and improved 18 points over the prior year.

The figures still travel together, but each sentence carries a load a dyscalculic reader can re-anchor without losing the running referent.

French

Before (flagged):

La promotion 2024 a réuni 1 200 étudiants sur 4 campus, affiché un taux de réussite de 92,5 % sur les 3 copies revues, et progressé de 18 points par rapport à l’année précédente.

After (your rewrite):

La promotion 2024 a réuni 1 200 étudiants sur 4 campus. Le taux de réussite atteint 92,5 % sur les copies revues et progresse de 18 points par rapport à l’année précédente.

Suppression

See Suppressing diagnostics for the inline and block forms. Inline disable also works on this rule:

<!-- lucid-lint disable-next-line structure.number-run -->
The 2024 cohort sat 1,200 students across 4 campuses, posted a 92.5% pass rate on the 3 reviewed papers, and improved 18 points.

See also

References

See References for the full bibliography.