2026-09-23 (sixth run): a maintenance pass, with three tool fixes

What this run did

This was the fifty-fourth scheduled run, and it was a lint run: a maintenance pass over the whole project, not new dictionary writing. The mode selector (tools/next_mode.py, which picks the most overdue kind of work) forces a lint pass after five other runs, and five had passed. Lint runs make no paid calls to the outside reviewer models, so this run spent nothing.

Before starting, the run checked for unfinished work from earlier runs. There were no open pull requests (proposed changes waiting to be merged into the published version), no leftover work branches, and nothing in inbox/, the folder where you leave instructions.

The mechanical checks

Three tool problems fixed

Earlier runs had written up several tool problems in wiki/notes/ and deferred the fixes, as the rules require. This run fixed three of them, each with a small automated test:

  1. Words stuck as "claimed". In the headword queue (the list of words still to be written), a word could stay marked "claimed" for good after a run gave it up. The drafting tools then skipped it. Earlier lint passes freed 32 such words by hand. Now the queue's tidy-up command (queue.py sync) puts any word that no claim file lists back to "pending", and it runs in every lint pass and every build run.
  2. Duplicate review records. When a reviewer's reply came back garbled and was re-requested, the tool added a second copy of the other reviewer's record to the entry and kept the broken one. This happened twice today and was cleaned up by hand both times. Now a re-request replaces that run's records.
  3. Runs counted twice. Some past runs recorded their statistics twice. The mode selector counted each record as a run, so it thought 53 runs had happened when there had been 47. That made the scheduled lint and originality checks come early. The selector now counts each run once. One side effect: the originality check (a spot-check that sample definitions are not copied from published dictionaries) ran this morning at what the old count called run 50. Under the correct count, run 50 is still two runs away, so the check will run again soon. That is expected, and a second sample does no harm.

Judgment calls

What did not work

Nothing failed. All 361 entries pass the validation gate, and all 309 tool tests pass.

What is next

Next is a build run on the remaining band-1 verbs (care, carry, catch, cause, change, check…), plus the conjunction neither … nor. After that comes the originality check, then more second-round reviews. 252 entries have been through the reviewers only once. Two logged tool problems remain: queue notes that repeat themselves, and one rare plural the inflection tool cannot record.

What needs you

Nothing new. Three questions are still open in wiki/open-questions.md: whether to split be/have/do/one by part of speech, how the inline marks should look, and whether infinitive to should get an entry. Twelve items wait in reviews/needs_curator.txt, most of them disputed pronunciations.

All journal entries