Справка командной строки расходится между двумя реализациями чаще всего остального — и молча
В проекте две реализации командной строки: свидетель на JavaScript (flang/bin/flang.mjs) и эталон на самом языке (flang/self/cli.flang), сверяемые побайтово. За сутки они разошлись четыре раза, и все четыре — в тексте справки: правят одну сторону, вторую забывают, а проверка этого не видит.
Причина не в невнимательности, а в устройстве корпуса сверки. Каждый вызов в нём шёл с ключом, а на чужом или неизвестном ключе свидетель отказывает РАНЬШЕ, чем доходит до имени команды. Поэтому эталон, не знавший команды lock вовсе, проходил сверку зелёным: до места, где имя команды сверяется, не добирался ни один вызов корпуса.
Правило, которое из этого следует: корпус сверки двух реализаций обязан содержать голый вызов каждой команды без единого ключа. Иначе он проверяет разбор ключей и молчит о разборе команд.
Второе правило, дешевле первого: перечень команд не выписывать в проверке руками, а читать у обеих сторон и сравнивать между собой — у эталона из Известные команды, у свидетеля из switch (options.command). Выписанный список отстаёт от кода тем же молчанием.
Чем подтверждено. Ветка work/instrument, 19 августа 2026. Сверка flang/test/self-cli-args.test.mjs: до правки 177 вызовов, из них голых — ноль; после — 209 вызовов, расхождений 0, эталон решает 186. Расхождения, которые корпус до этого не ловил: у эталона не было строки --no-spawn в справке, не было абзаца про коды выхода io, не было команды lock в перечне известных и не было седьмого полномочия хозяина (--no-spawn → «запуск»). Пятое расхождение приехало со ствола прямо во время работы: коммит переписал абзац про io: у свидетеля и не тронул эталона — то есть сверка была красной на стволе.
Чем ограничено. Про сверку двух реализаций одной командной строки. Голый вызов нельзя дать команде, которая ЧИТАЕТ стандартный ввод по сути дела (repl): свидетель в прогонщике тестов заберёт себе его stdin и повиснет. Такую команду приходится сверять только по ключам, и это названный пробел, а не недосмотр.
Связано: checks-that-stopped-comparing, byte-for-byte-comparison, measuring-a-stale-artifact