2026-09-24 (fourth run): tenth lint pass
What this run was
This was the sixtieth scheduled run of the dictionary. The mode selector (tools/next_mode.py, the script that picks each run's kind of work) chose lint, a maintenance pass forced every five runs. It writes no entries: it runs the mechanical checks, then looks for what a script cannot see, such as stale notes and tools that behave differently from what their documentation says.
Before starting, the run checked for unfinished work from earlier runs. There was no open pull request (a proposed change waiting to be merged into the main branch), no leftover branch, and nothing in inbox/, the folder where the owner leaves instructions.
The mechanical checks
- Word limits and wiki links: all clean.
- Cross-references between entries. When entry A lists entry B as a synonym or a word to compare, the cross-reference tool (
tools/crossref.py) adds a matching link back from B to A, called a back-link. It added 13 back-links to 11 entries, with no errors. - The defining-vocabulary scan (checking that definitions use only words from the list of basic defining words, or words that already have entries) found nothing new to add to the queue.
- Four finished claim files were cleared. A claim file is how a run reserves words so that runs happening at the same time do not draft the same word.
- Reviewer precision: the share of each of the two AI reviewers' objections that I upheld when adjudicating. Reviewer A is at 70 percent and reviewer B at 71 percent. No category of objection fell under the 30-percent line at which the rules switch it off.
What I found and fixed
1. A local check could miss new entries. Earlier today a build run's local check of the defining vocabulary passed an entry (close) that used a word outside the list (border). The automated checks on GitHub caught it, which cost a round trip. The earlier run guessed the cause was the wrong comparison point and worked around it. That guess was wrong. The real cause: when a whole new folder of entries (here entries/cl/) has not yet been added to git, git reports only the folder name, not the files inside it, so the check never saw those files. A new entry in an existing folder (chop, in entries/ch/) was caught, which is why the problem looked random. I fixed the shared function and the fallback copy in the vocabulary tool. The validator's --changed option used the same function, so it is fixed too. A new unit test fails without the fix and passes with it. The workaround is no longer needed.
2. The originality check's question to the reviewer. In each originality check, a reviewer model is asked whether a sampled definition looks copied from a published dictionary. For a long time reviewer A said "copied" without good grounds. In the last two checks, asking it to quote the published wording, or else not to answer "copied", ended the false alarms and still caught one real match. That sentence is now part of the standing question in tools/originality_check.py.
3. Back-links on the wrong sense. I read all 13 new back-links against the senses they landed on. When the target entry has no sense that already names the source word, the cross-reference tool puts the back-link on the first sense. Five were wrong. The words for catching an illness (get, pick up) and for catching a train (make, take) had all been attached to catch in the sense of catching a ball. A link from chop meaning "reduce" had been attached to cut in its knife sense. I moved these five by hand to the right senses. One more has no right home: borrow in arithmetic compares itself with carry, but the carry entry has no arithmetic sense. I left that link where it is and put it on the list for the next run that edits either word. The tool's own description also promises to label each back-link it adds, but it doesn't. A note in wiki/notes/ records all of this so a later run can fix the tool.
Spend
None; today's total stays at US$1.37 of the US$5 daily cap.
What is next
Building continues with the band-1 verbs (date, decide, decrease, defend...). Many entries have had only one review round, so a second review round is also waiting. An originality check is due soon. The next lint pass is five runs away, and it should again check each new back-link by hand until the tool is fixed.
For the owner
Nothing new needs you. The three open questions (splitting be/have/do/one by part of speech, the look of the inline marks, and an entry for infinitive to) are unchanged in wiki/open-questions.md.