Adding an accepted word, a correction, or an ignore pattern to
data/typos-oxendict-base.toml reaches every consumer on its next gate run.
No consumer edit or tag bump is required, and the builder is not released again
for a dictionary change. This repository tracks typos.toml, so a dictionary
pull request also carries the snapshot make spelling regenerates.
Open a pull request against this repository that edits the dictionary. The gate
runs against the edited file, so the pull request proves its own policy.
Generic spellings belong in the shared dictionary; product names, quoted
upstream terms and deliberate fixtures belong in a consumer's
typos.local.toml overlay instead. A local [patterns] remove list withdraws
an exact shared ignore expression for one repository that needs stricter
checking, without weakening the policy anywhere else.
Evidence supports the proposal: a suffix match alone is not one because
advertise, exercise, promise and Rust's usize all end the way an Oxford
-ize family does. Gather it with the one spelling tool this repository still
owns:
uv run --script scripts/oxford_form_harvest_cli.py --repository ../project
The command prints one JSON object per source line carrying a candidate -ise
or -ize form, reading only Git-tracked UTF-8 text and skipping the paths the
merged [files] exclude lists name. Tracked content that is not UTF-8 is
skipped with a bounded informational record; any other read failure stops the
harvest rather than reporting partial evidence.
The curated dictionary also normalizes nine common drift forms that replace s
with z in otherwise, exercise and raise. Each drifted form gains
exactly one canonical replacement, so consumers receive a single correction
instead of competing candidates:
"otherwize" = "otherwise"
"exercize" = "exercise"
"exercized" = "exercised"
"exercizes" = "exercises"
"exercizing" = "exercising"
"raize" = "raise"
"raized" = "raised"
"raizes" = "raises"
"raizing" = "raising"
Inline code is checked by default so misspelled identifiers, flags, module
paths and file names remain visible. Add exact identifier patterns to a
repository's local [patterns] ignore list when an upstream name is
intentionally spelled differently.