guide: заведён META-26 — обоснование объясняет, а не требует

- «Почему» не пересказывает норму словами обязательства: у оригинала есть
  идентификатор, у копии нет, и расходятся они при первой правке оригинала, а
  отступление от копии адресовать нечем
- модальность рекомендательная по META-6: греп находит слово, а не нарушение
  — «за попыткой следует повтор» и «становится обязанностью вызывающего»
  описывают ход событий; утверждения о невозможности («нельзя») правилом не
  затрагиваются, это ISO-евская возможность в прозе
- SLOG-12 починен: факт о том, что `slog` не разделяет CRITICAL и FATAL, уехал
  из нормы в «Почему», а норма теперь говорит то же, что заголовок
This commit is contained in:
av
2026-07-26 14:18:06 +03:00
parent 98fc69d585
commit 3e0ec46134
5 changed files with 67 additions and 16 deletions
+30 -8
View File
@@ -122,16 +122,38 @@ Go-бинарь со своим релизным циклом, ставить ч
Работа читательская, машине не даётся; в список проверок она уже записана в
разделе «Чтением, потому что машине не даётся».
## 7. Возможность, записанная модальным словом
## 7. Пересказ нормы в «Почему» — вычитать под META-26
Четвёртая категория ISO — возможность и осуществимость — ключевого слова не
имеет: такие утверждения пишутся обычной прозой. Значит канон надо просмотреть
на обратную ошибку: где утверждение о факте («библиотеки по умолчанию отдают
именно его», «SQLite сравнивает строки побайтово») записано модальным словом
и тем самым превратилось в норму, которую никто не вводил.
Исходный вопрос («где факт записан модальным словом») закрыт по существу:
канон просмотрен, и такой ошибки в нём практически нет. Тринадцать строчных
«нельзя» оказались корректными — это утверждения о невозможности, 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 — рекомендация: греп находит слово, а не
нарушение.
## Мелкое, не закрыто