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
+9 -7
View File
@@ -163,14 +163,16 @@ dev-выводом перестаёшь ежедневно гонять собс
### SLOG-12. Фатальный сбой на старте — `ERROR` и ненулевой код возврата
**ДОЛЖЕН.** `slog` не разделяет CRITICAL/FATAL, поэтому недостающую
степень даёт завершение процесса.
**ДОЛЖЕН.** Фатальный сбой на старте пишется как `ERROR` и завершает процесс
ненулевым кодом.
**Почему.** Супервизор (docker, journald, systemd) отличает падение от
штатной остановки по коду возврата, а не по уровню последней записи.
Процесс, который написал `ERROR` и продолжил жить с неработающей
конфигурацией, выглядит здоровым и будет получать трафик; изобретать же
уровень выше `ERROR` не нужно — сам факт завершения информативнее.
**Почему.** `slog` не разделяет CRITICAL и FATAL, поэтому недостающую степень
выражает не уровень записи, а сам факт завершения. Супервизор (docker,
journald, systemd) отличает падение от штатной остановки по коду возврата, а
не по уровню последней записи. Процесс, который написал `ERROR` и продолжил
жить с неработающей конфигурацией, выглядит здоровым и будет получать трафик;
изобретать же уровень выше `ERROR` не нужно — сам факт завершения
информативнее.
## Поля: единый словарь