снятое правило остаётся заглушкой, нумерация сплошная

- META-31 и META-32: номера идут без пропусков, ссылка обязана разрешаться;
  обе проверки стали механическими — данных со стороны языка им хватает
- заведена метка СНЯТО: заголовок и номер снятого правила сохраняются, норму
  с обоснованием заменяет блок с датой и причиной, отдельный реестр снятых
  номеров не нужен
- META-9, META-16 и META-26 переписаны из таблицы «Освободившиеся номера» в
  заглушки; три висячие ссылки, тянувшиеся с утра, закрылись
This commit is contained in:
av
2026-07-26 15:59:22 +03:00
parent 170c06c1da
commit 682fa075bb
17 changed files with 136 additions and 89 deletions
+25 -17
View File
@@ -245,14 +245,15 @@ Directives, Part 2, по одной форме записи на ступень,
| разрешение | ДОПУСКАЕТСЯ | MAY |
**Метки.** Обязательности не задают, а размечают: ПОЧЕМУ — часть правила,
МЕХАНИЗИРОВАНО — запись о проверке в копии. Стандартом не даются ни в одном
языке: в BCP 14 таких понятий нет, слова подбираются под язык так же, как
остальные.
МЕХАНИЗИРОВАНО — запись о проверке в копии, СНЯТО — заглушку на месте
убранного правила. Стандартом не даются ни в одном языке: в BCP 14 таких
понятий нет, слова подбираются под язык так же, как остальные.
| Метка | Русский | Английский |
|---|---|---|
| обоснование | ПОЧЕМУ | WHY |
| способ проверки | МЕХАНИЗИРОВАНО | MECHANIZED |
| снятое правило | СНЯТО | RETIRED |
**Служебные слова сценарного блока**`КОГДА`, `ТОГДА`, `И`, `ИЛИ`; таблица
и объяснение в разделе «Таблицы решений».
@@ -279,14 +280,14 @@ Directives, Part 2, по одной форме записи на ступень,
Каждая конвенция называет язык одной строкой во вводной прозе:
> Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
> ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1 —
> тогда и только тогда, когда написаны заглавными.
> ПОЧЕМУ, МЕХАНИЗИРОВАНО и СНЯТО толкуются как описано в языке конвенций
> версии 1 — тогда и только тогда, когда написаны заглавными.
Слова в строке — из словаря того языка, на котором написан набор. Для
англоязычного набора та же строка выглядит так:
> The key words MUST, MUST NOT, SHOULD, SHOULD NOT, MAY and the marks WHY
> and MECHANIZED are to be interpreted as described in the conventions
> The key words MUST, MUST NOT, SHOULD, SHOULD NOT, MAY and the marks WHY,
> MECHANIZED and RETIRED are to be interpreted as described in the conventions
> language, version 1, and only when written in capitals.
Форма скопирована у BCP 14, где та же задача решается тем же способом:
@@ -409,10 +410,15 @@ XMIG-2, XMIG-4 — МЕХАНИЗИРОВАНО: `internal/archrules`, в нов
файла, из соседней конвенции и из чужого репозитория. В собранной копии
слои разных осей лежат в одном документе, так что ссылка на базовый слой
из языкового вообще никуда не ведёт — правило рядом.
- **Идентификаторы стабильны и не переиспользуются.** Удалённое правило
оставляет дыру в нумерации; занимать её новым нельзя — иначе ссылка из
чужого репозитория начнёт указывать на другое утверждение. То же
относится к префиксам: выбывшие хранит манифест набора.
- **Идентификаторы стабильны и не переиспользуются.** Занять номер снятого
правила новым нельзя — иначе ссылка из чужого репозитория начнёт указывать
на другое утверждение. То же относится к префиксам: выбывшие хранит манифест
набора.
- **Снятое правило остаётся заглушкой.** Заголовок и номер сохраняются, норму
с обоснованием заменяет блок СНЯТО с датой и причиной. Поэтому нумерация в
файле сплошная, а любая ссылка разрешается — либо в правило, либо в
объяснение, почему его сняли (META-31, META-32). Отдельного реестра снятых
номеров нет: он был бы вторым источником правды рядом с файлом.
- Префикс **выбирается под файл, а не выводится по формуле**: он нужен,
чтобы по нему искать, а не чтобы его разбирать. Выводимый префикс вдобавок
привязал бы идентификатор к таксономии, которую канон перестраивает, и
@@ -495,13 +501,15 @@ XMIG-6 не соблюдается в легаси-таблицах `show_histor
заглавных латинских букв, не начинается на `X` и не значится в списке
выбывших;
- заголовки правил файла используют только его собственный префикс;
- номера уникальны внутри файла и не имеют пропусков вниз (новое правило
берёт следующий свободный, а не первый освободившийся);
- у каждого `### <ПРЕФИКС>-<n>` есть модальное слово, норма и блок ПОЧЕМУ:
ни норма, ни обоснование не удаляются никогда (META-8, META-10);
- нумерация внутри файла сплошная: от единицы до наибольшего номера без
пропусков, номера не повторяются, новое правило берёт следующий за
наибольшим (META-31);
- у каждого `### <ПРЕФИКС>-<n>` есть либо модальное слово с нормой и блок
ПОЧЕМУ — ни норма, ни обоснование не удаляются никогда (META-8, META-10), —
либо блок СНЯТО с датой и причиной;
- вводная проза содержит строку о версии языка;
- ссылки вида `<ПРЕФИКС>-<n>` — хоть в тексте канона, хоть в локальной части
копии — указывают на правила, которые ещё существуют;
- ссылки вида `<ПРЕФИКС>-<n>` — хоть в тексте набора, хоть в локальной части
копии — разрешаются: неразрешённый идентификатор всегда ошибка (META-32);
- заглавные модальные слова не встречаются вне областей правил (область —
от заголовка правила до следующего заголовка) — кроме строки о версии
языка, которая их перечисляет по назначению;