из канона удалены пустые локальные регионы

- 31 регион `<!-- local:имя -->` в двенадцати файлах удалён, а не перенесён:
  локальное принадлежит копии и живёт ниже маркера `<!-- conv:local -->`
  (META-22), так что наполнять регионы в каноне нечем
- вместе с ними ушли два опустевших раздела «Связано» — в arch и ansible
  слоях app-directories канонических ссылок нет, а пустой заголовок ничего
  не адресует; CLAUDE.md уточнён: раздел заводят, когда ссылки есть
- форма проверена скриптом: у всех правил модальность и «Почему», префиксы
  сходятся с реестром, дыр в нумерации нет
This commit is contained in:
av
2026-07-26 13:52:07 +03:00
parent a961aa2b40
commit 7fca0e8cb8
15 changed files with 21 additions and 131 deletions
-9
View File
@@ -220,16 +220,7 @@ zoneinfo, а сообщение указывает не на ту причину
во внешний сервис и записать в базу от имени процесса, который потом
объявит, что не стартовал.
<!-- local:поля -->
<!-- /local -->
<!-- local:механизировано -->
<!-- /local -->
## Связано
- конвенция `time` — зона отображения и формат времени.
- конвенция `logging``slog`, которым падает невалидный конфиг.
<!-- local:связано -->
<!-- /local -->
-6
View File
@@ -126,9 +126,3 @@ HTTP-кодов. В случае GKEY-8.1 снаружи это неотличи
строка не найдена, потому что store её искал. Сфабрикованный транспортом,
он утверждает непроверенное, и по типу ошибки перестаёт быть видно, был ли
вообще поход в хранилище — а на этом держится вся диагностика по ошибкам.
<!-- local:механизировано -->
<!-- /local -->
<!-- local:отступления -->
<!-- /local -->
-9
View File
@@ -189,18 +189,9 @@ down останавливает сразу и заставляет пересо
вставке — против этого пренебрежима. Для новых таблиц вопрос не возникает:
там ключ строковый (MIGR-11).
<!-- local:механизировано -->
<!-- /local -->
<!-- local:отступления -->
<!-- /local -->
## Связано
- конвенция `time` — формат меток времени.
- конвенция `db-identifiers` — выбор первичных ключей.
- конвенция `errors` — граничные ошибки `database/sql` транслируются в
доменные у источника, в слое store.
<!-- local:связано -->
<!-- /local -->
-6
View File
@@ -224,9 +224,6 @@ HTTP-клиентов, файловой системы, внешних SDK.
его в `ERROR` вместо `DEBUG`. Второе хуже первого — штатные отказы начинают
шуметь в логе ровно там, где по нему ищут настоящие поломки.
<!-- local:маппинг -->
<!-- /local -->
### GERR-25. Непокрытая маппингом ошибка — 500 и `ERROR` с признаком
**ДОЛЖЕН.** Доменная ошибка, для которой в маппинге (GERR-15) нет ветви, отдаёт
@@ -391,6 +388,3 @@ HTTP-клиентов, файловой системы, внешних SDK.
- конвенция `logging` — где и когда ошибка попадает в лог.
- `KEYS-7` — формат корреляционного ключа из `GERR-14`.
<!-- local:механизировано -->
<!-- /local -->
-12
View File
@@ -238,9 +238,6 @@ dev-выводом перестаёшь ежедневно гонять собс
появлением нескольких инстансов различающее поле (`service.version`)
добавляется одной строкой при старте.
<!-- local:словарь -->
<!-- /local -->
## Корреляция
### SLOG-18. Ключ корреляции — идентификатор сущности, а не `trace_id`
@@ -317,9 +314,6 @@ ctx = logctx.With(ctx, log) // достаём логгер из ctx в кажд
знает лишь то, что ему вернули ошибку. Побочный эффект того же выбора:
транспорты остаются тонкими.
<!-- local:границы -->
<!-- /local -->
### SLOG-24. Транспорт не логирует ошибку повторно
**НЕ ДОЛЖЕН.** Транспорт переводит возвращённую ошибку в свой ответ
@@ -530,9 +524,6 @@ API-ключи и токены, `Authorization`-заголовки, аутент
санитизацию в каждой такой точке, и одна забытая сводит остальные на нет.
Заголовок снимает задачу в источнике: чего нет в URL, того нет и в ошибке.
<!-- local:секреты -->
<!-- /local -->
## Куда пишем
### SLOG-39. Логи идут в `stdout` одним потоком
@@ -563,6 +554,3 @@ API-ключи и токены, `Authorization`-заголовки, аутент
санитизации (SLOG-37).
- конвенция `db-identifiers` — откуда берутся стабильные идентификаторы,
на которых держится корреляция (SLOG-18).
<!-- local:механизировано -->
<!-- /local -->
-3
View File
@@ -183,9 +183,6 @@ func utcTime(_ []string, a slog.Attr) slog.Attr {
Календарные вычисления бизнес-логики берут зону явно — как описано в
базовом слое.
<!-- local:механизировано -->
<!-- /local -->
## Связано
- базовый слой — UTC как формат хранения, нормализация чужого входа, явная