guide: META-26 снят, форма обоснования рамками не ограничивается

- запрет слов обязательства в «Почему» был лишним по построению: правило о
  заглавных уже делает строчное «обязан» ненормативным, так что второй копии
  нормы не возникает, а цена — автор воюет со списком слов вместо объяснения
- в LANGUAGE записано прямо: рамки у обоснования только смысловые, длина,
  рассуждение, примеры и ссылки на внешние практики и чужие проекты допустимы
- заведён раздел «Освободившиеся номера»: META-16 и META-26 с причинами. Без
  такого списка упоминание номера в прозе не отличить от ссылки на исчезнувшее
  правило — это же нужно будущей проверке ссылок
This commit is contained in:
av
2026-07-26 14:22:38 +03:00
parent 3e0ec46134
commit c8071dc438
4 changed files with 29 additions and 66 deletions
+4 -36
View File
@@ -122,41 +122,9 @@ Go-бинарь со своим релизным циклом, ставить ч
Работа читательская, машине не даётся; в список проверок она уже записана в
разделе «Чтением, потому что машине не даётся».
## 7. Пересказ нормы в «Почему» — вычитать под META-26
Исходный вопрос («где факт записан модальным словом») закрыт по существу:
канон просмотрен, и такой ошибки в нём практически нет. Тринадцать строчных
«нельзя» оказались корректными — это утверждения о невозможности, ISO-евская
возможность в прозе, ровно как задумано. Единственный настоящий случай,
SLOG-12, починен: факт про `slog` уехал в «Почему», норма повторяет свой
заголовок.
Зато нашёлся обратный класс, под который заведён META-26: норма пересказана
словами обязательства внутри «Почему». Греп даёт десять совпадений, из них
семь — кандидаты на правку, вердикт за чтением:
```
arch/db-identifiers.md:61 «Нормализация регистра (KEYS-4) … обязаны»
arch/time.md:43 «текстовому полю обязан давать порядок событий»
arch/time.md:91 «Формат, зона (TIME-1) и ширина (TIME-2) обязаны»
lang/go/db-schema.md:88 «именно там он обязан действительно обращать up»
lang/go/logging.md:61 «по TIME-2 так и должно быть»
lang/go/logging.md:85 «совпадать они обязаны»
lang/go/logging.md:295 «выборка … не должна»
```
Лечение в большинстве случаев — заменить пересказ ссылкой на идентификатор,
который в тех же фразах уже стоит рядом.
Остальные три совпадения отброшены как омонимы: «за попыткой следует повтор»
(`logging.md:400`), «становится обязанностью каждого вызывающего» (`db-
identifiers.md:42`), «заметить можно, только зная, что они должны были быть»
(`logging.md:186`) — все три описывают ход событий, а не требуют. Это и есть
причина, по которой META-26 — рекомендация: греп находит слово, а не
нарушение.
## Мелкое, не закрыто
- `conv check` должен уметь отличать ссылку на удалённое правило от
упоминания дыры: сейчас `META-16` в прозе «Оформления» даёт ложное
срабатывание.
- `conv check` и отличие ссылки на удалённое правило от упоминания дыры:
теперь освободившиеся номера перечислены в `GUIDE.md`, раздел
«Освободившиеся номера», — проверке остаётся читать этот список, а не
угадывать. Реализации по-прежнему нет.