обвязка: модель копий переписана под один маркер и манифест
- именованные регионы `<!-- local:имя -->` заменены на единственный `<!-- conv:local -->`: всё ниже него принадлежит репозиторию, всё выше пересобирается, поэтому имени-которое-можно-осиротить больше нет - лок-файла и `origin_hash` в шапке нет — «что было в прошлый раз» знает git, копии закоммичены, автоматического обновления не существует; транспорт назад (`push`) убран вместе с ними - заведены META-22 (репозиторное пишется ниже маркера) и META-23 (форк не носит `origin:`), META-17 переписан под маркер; буква `X` в префиксе зарезервирована за локальными правилами потребителей
This commit is contained in:
+16
-15
@@ -12,10 +12,10 @@
|
||||
Не ради строгости. Три конкретные вещи, которые без адресуемых правил не
|
||||
работают:
|
||||
|
||||
- **Механизация.** Регион `механизировано` должен говорить «правило
|
||||
`MIGR-4` проверяет `archrules`», а не «`AUTOINCREMENT` в новых миграциях —
|
||||
`archrules`»: во втором случае читатель сам догадывается, к какому
|
||||
утверждению это относится, и догадывается по-разному.
|
||||
- **Механизация.** Запись о ней должна говорить «правило `MIGR-4` проверяет
|
||||
`archrules`», а не «`AUTOINCREMENT` в новых миграциях — `archrules`»: во
|
||||
втором случае читатель сам догадывается, к какому утверждению это
|
||||
относится, и догадывается по-разному.
|
||||
- **Отступления.** «У нас не так» бесполезно, пока не сказано, что именно
|
||||
«не так». Со ссылкой на правило отступления становятся счётными: видно,
|
||||
сколько правил конвенции репозиторий реально не соблюдает.
|
||||
@@ -79,7 +79,7 @@
|
||||
Модальность живёт на **правиле**, а не на файле. Прежний файловый статус
|
||||
(`status: рекомендуемая` / `обязательная` в шапке) отменён: он неизбежно
|
||||
врал, потому что один файл смешивает жёсткие требования с советами. В шапке
|
||||
остаются только `prefix`, `extends` и служебные ключи копии.
|
||||
остаются только `prefix` и `extends`.
|
||||
|
||||
Мы **не используем SHALL и прочие английские ключевые слова**. Они заняты
|
||||
спецификациями (OpenSpec), и общий словарь стирал бы границу «конвенция —
|
||||
@@ -179,22 +179,21 @@ AND тик фонового цикла упал по той же причине
|
||||
(«новые таблицы; существующие не переписываются»). Это рамка для всех
|
||||
правил файла, а не правило.
|
||||
- **Связано** — ссылки на смежные конвенции, ADR, код.
|
||||
- **Локальные регионы** — содержимое принадлежит репозиторию.
|
||||
- **Локальная часть копии** — содержимое принадлежит репозиторию.
|
||||
- Вводная проза, объясняющая предмет конвенции.
|
||||
|
||||
## Как на правила ссылаются копии
|
||||
|
||||
В репозитории:
|
||||
Ниже маркера локальной части, в репозитории:
|
||||
|
||||
```markdown
|
||||
<!-- local:механизировано -->
|
||||
MIGR-2, MIGR-4 — `internal/archrules` (проверяются в новых миграциях).
|
||||
<!-- /local -->
|
||||
<!-- conv:local -->
|
||||
|
||||
<!-- local:отступления -->
|
||||
MIGR-6 — не соблюдается в легаси-таблицах `show_history`, `queue`: составные
|
||||
MIGR-2, MIGR-4 механизированы — `internal/archrules` (проверяются в новых
|
||||
миграциях).
|
||||
|
||||
MIGR-6 не соблюдается в легаси-таблицах `show_history`, `queue`: составные
|
||||
ключи там появились до конвенции, переписывание требует миграции данных.
|
||||
<!-- /local -->
|
||||
```
|
||||
|
||||
Отсюда видно и то, чего раньше не было видно: конвенция из восьми правил,
|
||||
@@ -211,8 +210,10 @@ MIGR-6 — не соблюдается в легаси-таблицах `show_hi
|
||||
берёт следующий свободный, а не первый освободившийся);
|
||||
- у каждого `### <ПРЕФИКС>-<n>` есть модальное слово (или отметка
|
||||
МЕХАНИЗИРОВАНО) и блок «Почему»;
|
||||
- ссылки вида `<ПРЕФИКС>-<n>` — хоть в тексте канона, хоть в локальных
|
||||
регионах копии — указывают на правила, которые ещё существуют;
|
||||
- ссылки вида `<ПРЕФИКС>-<n>` — хоть в тексте канона, хоть в локальной части
|
||||
копии — указывают на правила, которые ещё существуют;
|
||||
- префиксы локальных правил копии начинаются на `X` и не совпадают с
|
||||
реестром канона;
|
||||
- чужой префикс не встречается в абзаце с модальностью (META-20);
|
||||
- путь файла канона не встречается в тексте конвенции (META-21);
|
||||
- модальные слова не встречаются вне правил.
|
||||
|
||||
Reference in New Issue
Block a user