From 421374c4a28d32d00c61935884005cb489582608 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Sat, 25 Jul 2026 21:12:25 +0300 Subject: [PATCH] =?UTF-8?q?guide:=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=81=D0=B0=D0=BC=D0=BE=D0=B4=D0=BE=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=BD=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D1=8B=20=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20?= =?UTF-8?q?=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - META-20: норму можно исполнить, имея один файл; на чужую тему смотрят только «Почему», «Связано» и разграничение области — подписка это произвольное подмножество, графа зависимостей нет по построению - META-21: ссылка ведёт на имя темы или идентификатор правила; путь файла канона умирает при сборке, потому что слои темы становятся секциями --- GUIDE.md | 30 ++++++++++++++++++++++++++++++ LANGUAGE.md | 2 ++ 2 files changed, 32 insertions(+) diff --git a/GUIDE.md b/GUIDE.md index cb052c6..920b6f8 100644 --- a/GUIDE.md +++ b/GUIDE.md @@ -97,6 +97,36 @@ prefix: META с первого дня. «Так сделано у нас» — содержимое региона отступлений, где оно и локально, и проверяемо. +### META-20. Норма самодостаточна, наружу смотрит только обоснование + +**ДОЛЖЕН.** Норму правила можно исполнить, имея один этот файл. Ссылка на +правило чужой темы допустима в «Почему», в «Связано» и в разграничении +области действия — но не в самой норме. Если норме нужен концепт соседней +темы, он коротко повторяется здесь, а сосед называется в «Почему» как +источник решения. + +**Почему.** Репозиторий подписывается на произвольное подмножество +конвенций, и графа зависимостей у него нет по построению. Норма, которую +нельзя исполнить без отсутствующего файла, делает такое подмножество +невалидным молча: читатель видит связный текст и не замечает, что часть +нормы не определена. Обоснование, потерявшее адресата, деградирует честно — +пропадает перекрёстная проверка, смысл остаётся. Цена повтора — риск +разойтись с источником; она платится сознательно и видна, в отличие от +скрытой зависимости. + +### META-21. Ссылка ведёт на тему или на правило, но не на путь в каноне + +**ДОЛЖЕН.** На соседнюю конвенцию ссылаются именем темы (конвенция +`logging`), на конкретное правило — идентификатором (`SLOG-27`), на другой +слой своей же темы — словами «базовый слой». Путь файла канона в тексте +конвенции не употребляется. + +**Почему.** В репозитории конвенция лежит собранной: слои одной темы — это +секции одного файла, и пути `lang/go/logging.md` там не существует. Ссылка +на путь канона умирает при сборке, причём молча — текст остаётся связным. +Имя темы и идентификатор правила переживают и сборку, и переезд файла между +осями. + ### META-5. Расхождение кода с правилом — отступление, а не повод переписать правило **ДОЛЖЕН.** Правило правится, только когда неверно по существу: содержит diff --git a/LANGUAGE.md b/LANGUAGE.md index f6bfbe6..924bed0 100644 --- a/LANGUAGE.md +++ b/LANGUAGE.md @@ -213,6 +213,8 @@ MIGR-6 — не соблюдается в легаси-таблицах `show_hi МЕХАНИЗИРОВАНО) и блок «Почему»; - ссылки вида `<ПРЕФИКС>-` — хоть в тексте канона, хоть в локальных регионах копии — указывают на правила, которые ещё существуют; +- чужой префикс не встречается в абзаце с модальностью (META-20); +- путь файла канона не встречается в тексте конвенции (META-21); - модальные слова не встречаются вне правил. ## Порядок перевода