guide: заведены критерии границы темы — META-33…META-36

- тема определяется решением, а не веществом (META-33) и нужна потребителю
  целиком (META-34); слой сужает базу, но не отменяет её (META-35), иначе
  это другая тема, а вид приложения называется в области действия (META-36)
- добавлен раздел «Как проверить границу темы»: пять вопросов со ссылками
  на правила, включая META-20; те же строки в CLAUDE.md, а в LANGUAGE.md
  оговорка, что граница темы языку не принадлежит
- в TODO заведён прогон восьми тем по критериям с разбором подозреваемых:
  шесть правил time выносят вердикты чужих тем, logging мешает три страта
This commit is contained in:
av
2026-07-26 21:25:24 +03:00
parent b516bfb02c
commit 11fc9e1fee
4 changed files with 125 additions and 2 deletions
+18 -1
View File
@@ -135,13 +135,30 @@ code in this repository.
живут в копии ниже маркера `<!-- conv:local -->` (META-22), который ставит
сборщик. Заводить пустые местные разделы в каноне не нужно.
## Граница темы
Пять вопросов, по которым тему проверяют на «не хапнули ли лишнего»; сначала
разрез темы, ось — потом.
- META-33: правило стоит в теме, чей вопрос оно решает. Тема — решение, а не
вещество: «время» проходит через несколько решений сразу, и правило о
колонках БД принадлежит схеме, а не времени.
- META-34: тема нужна потребителю целиком — подписка берёт её без остатка.
Если два правдоподобных потребителя хотят непересекающиеся части, между
ними и проходит граница.
- META-35: слой сужает базу, но не отменяет её. Приходится отменять — это не
слой, а другая тема; общим осталось слово, а не решение.
- META-36: вид приложения (веб-сервис, CLI, плейбуки, библиотека) называется
в области действия, если норма от него зависит. Осью он не является.
- META-20: норма исполнима без соседних тем.
## Выбор оси
Умирает при смене языка → `lang/<язык>/`. Умирает при смене инструмента,
хранилища или транспорта → `stack/<стек>/`. Не умирает ни от того, ни от
другого → `arch/`. Ось определяется природой правила, а не числом сегодняшних
потребителей. `extends: arch/<файл>.md` в шапке — документация связи, а не
механизм; слой только реализует и сужает базу, но не отменяет её.
механизм; слой только реализует и сужает базу, но не отменяет её (META-35).
## Оформление файла