из канона удалены пустые локальные регионы
- 31 регион `<!-- local:имя -->` в двенадцати файлах удалён, а не перенесён: локальное принадлежит копии и живёт ниже маркера `<!-- conv:local -->` (META-22), так что наполнять регионы в каноне нечем - вместе с ними ушли два опустевших раздела «Связано» — в arch и ansible слоях app-directories канонических ссылок нет, а пустой заголовок ничего не адресует; CLAUDE.md уточнён: раздел заводят, когда ссылки есть - форма проверена скриптом: у всех правил модальность и «Почему», префиксы сходятся с реестром, дыр в нумерации нет
This commit is contained in:
@@ -41,22 +41,7 @@
|
||||
манифеста и `vendir.yml` — как пример того, где проходит граница между «чего
|
||||
хочу» и «что получил».
|
||||
|
||||
## 2. Именованные регионы — удалить из канона
|
||||
|
||||
Решение принято и записано: регионов нет, есть один маркер
|
||||
`<!-- conv:local -->`, который ставит сборщик в копии. Значит регионы не
|
||||
переносятся в единую секцию, а **удаляются**: в каноне их нечем наполнять,
|
||||
локальное принадлежит копии.
|
||||
|
||||
Остаётся механическая работа — **31 регион в 12 файлах**:
|
||||
|
||||
```
|
||||
7 связано 7 отступления 7 механизировано
|
||||
1 эталон / эталоны / словарь / секреты / секретные-поля
|
||||
1 проверки / поля / модель-владельца / маппинг / границы
|
||||
```
|
||||
|
||||
## 3. Пары слоёв и темы без базы
|
||||
## 2. Пары слоёв и темы без базы
|
||||
|
||||
Отложено сознательно, но список стоит держать перед глазами:
|
||||
|
||||
@@ -75,7 +60,7 @@
|
||||
- Вынос арх-ядра из `errors` и `logging` закроет две хрупкие ссылки из
|
||||
`web-ui` (стек) в go-слой — единственные ссылки стек → язык в каноне.
|
||||
|
||||
## 4. Подключение к репозиториям
|
||||
## 3. Подключение к репозиториям
|
||||
|
||||
Ничего ещё не подключено. Кандидаты — jellybit и pet-project-server.
|
||||
Понадобится: заполнить локальную часть копий тем, что сейчас в этих
|
||||
@@ -84,7 +69,7 @@
|
||||
строка в `AGENTS.md` каждого потребителя про то, что файлы в
|
||||
`docs/conventions/` — копии.
|
||||
|
||||
## 5. Описание языка отдельно от набора конвенций
|
||||
## 4. Описание языка отдельно от набора конвенций
|
||||
|
||||
`LANGUAGE.md` и `GUIDE.md` описывают, **как** пишутся конвенции;
|
||||
`conventions/` — **один конкретный** набор. Сейчас они склеены в одном
|
||||
@@ -105,7 +90,7 @@
|
||||
сущность и ещё одна синхронизация; при одном наборе лечение выходит хуже
|
||||
болезни.
|
||||
|
||||
## 6. Тулинг на Go, живущий независимо
|
||||
## 5. Тулинг на Go, живущий независимо
|
||||
|
||||
Сейчас `conv` — питоновский скрипт внутри канона, то есть тулинг и данные в
|
||||
одном репозитории и правятся одним движением. Мысль: вынести в отдельный
|
||||
@@ -114,15 +99,15 @@ Go-бинарь со своим релизным циклом, ставить ч
|
||||
|
||||
Что за этим стоит помимо вкуса: независимый бинарь физически не даёт править
|
||||
инструмент «заодно» с правкой конвенции, работает против **любого** канона и
|
||||
любого потребителя — что прямо требуется вопросом 5, — и снимает питон из
|
||||
любого потребителя — что прямо требуется вопросом 4, — и снимает питон из
|
||||
зависимостей репозиториев-потребителей.
|
||||
|
||||
Порядок обратный ожидаемому: пока вопрос 5 не сделан, инструмент всё равно
|
||||
Порядок обратный ожидаемому: пока вопрос 4 не сделан, инструмент всё равно
|
||||
работает против одного конкретного канона, и независимый релизный цикл ему
|
||||
нечего обслуживать. Сначала 5, потом 6. Разделение из вопроса 1 при этом
|
||||
нечего обслуживать. Сначала 4, потом 5. Разделение из вопроса 1 при этом
|
||||
дешевле заложить сразу, чем отпиливать потом.
|
||||
|
||||
## 7. META-20 и родительский слой своей темы
|
||||
## 6. META-20 и родительский слой своей темы
|
||||
|
||||
Из `lang/` и `stack/` ссылаться на идентификаторы своего же арх-слоя
|
||||
безопасно: при сборке они оказываются секциями одного файла, и ссылка
|
||||
@@ -136,7 +121,7 @@ Go-бинарь со своим релизным циклом, ставить ч
|
||||
говорит «чужой темы», и второе правило про то же место придётся держать
|
||||
согласованным с первым.
|
||||
|
||||
## 8. `WHEN`/`AND` в блоке стыка правил
|
||||
## 7. `WHEN`/`AND` в блоке стыка правил
|
||||
|
||||
Блок для стыка двух правил записан английскими словами:
|
||||
|
||||
@@ -162,7 +147,7 @@ OpenSpec. `WHEN` и `AND` — из того же набора и по той ж
|
||||
подпадают ли `WHEN`/`AND` под проверку «заглавные модальные слова не
|
||||
встречаются вне правил»: сейчас формально нет, потому что в словаре их нет.
|
||||
|
||||
## 9. Критерий «названного вреда» никого не обязывает
|
||||
## 8. Критерий «названного вреда» никого не обязывает
|
||||
|
||||
`LANGUAGE.md` говорит, что ДОЛЖЕН требует двух условий сразу: нарушение
|
||||
причиняет названный вред (критерий BCP 14) и норма проверяема машиной
|
||||
@@ -176,7 +161,7 @@ OpenSpec. `WHEN` и `AND` — из того же набора и по той ж
|
||||
META-6 её защищает. Против: критерий «вред назван» проверяется чтением, а не
|
||||
машиной, — то есть по META-6 сам он может быть только СЛЕДУЕТ.
|
||||
|
||||
## 10. Одиннадцать таблиц не прочитаны на взаимоисключительность
|
||||
## 9. Одиннадцать таблиц не прочитаны на взаимоисключительность
|
||||
|
||||
`LANGUAGE.md` объявил, что строки таблицы решений взаимоисключающи по
|
||||
умолчанию, а иной порядок объявляется явно. Объявление не делает таблицы
|
||||
@@ -191,7 +176,7 @@ META-6 её защищает. Против: критерий «вред назв
|
||||
Работа читательская, машине не даётся; в список проверок она уже записана в
|
||||
разделе «Чтением, потому что машине не даётся».
|
||||
|
||||
## 11. Возможность, записанная модальным словом
|
||||
## 10. Возможность, записанная модальным словом
|
||||
|
||||
Четвёртая категория ISO — возможность и осуществимость — ключевого слова не
|
||||
имеет: такие утверждения пишутся обычной прозой. Значит канон надо просмотреть
|
||||
|
||||
Reference in New Issue
Block a user