язык остался версией 1, правило движения номера записано

- бумп до 2 откачен: копий в природе нет, читать по версии 1 пока нечему, и
  номер сжигать незачем
- вместо истории версий записано правило: номер двигается, когда изменение
  формы способно изменить чтение уже разданной копии; правки формы до раздачи
  копий его не двигают, а смена словаря под другой язык — не двигает никогда
This commit is contained in:
av
2026-07-26 14:30:36 +03:00
parent 72d77d74bf
commit 4cd0c97ed0
13 changed files with 24 additions and 28 deletions
+12 -16
View File
@@ -1,5 +1,5 @@
---
version: 2
version: 1
---
# Язык конвенций
@@ -8,7 +8,7 @@ version: 2
правилом, чем оно отличается от прозы вокруг, какими словами задаётся
обязательность и как на правило сослаться извне.
Версия языка — **2**. Номер называется в каждой конвенции: словарь может
Версия языка — **1**. Номер называется в каждой конвенции: словарь может
пополниться, и текст, написанный по предыдущей версии, должен читаться по
той, по которой написан.
@@ -221,15 +221,12 @@ Directives, Part 2, по одной форме записи на ступень,
одного требования и удваивают каждую проверку; выбор языка — свойство
набора, а не отдельного файла.
Смена словаря версию языка не меняет: версия принадлежит шкале и правилам
формы, а не буквам.
## Ссылка на язык из конвенции
Каждая конвенция называет язык одной строкой во вводной прозе:
> Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
> ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
> ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
> тогда и только тогда, когда написаны заглавными.
Слова в строке — из словаря того языка, на котором написан набор. Для
@@ -237,7 +234,7 @@ Directives, Part 2, по одной форме записи на ступень,
> 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
> language, version 2, and only when written in capitals.
> language, version 1, and only when written in capitals.
Форма скопирована у BCP 14, где та же задача решается тем же способом:
спецификация не прикладывает к себе словарь и не указывает путь к нему, а
@@ -419,14 +416,13 @@ MIGR-6 не соблюдается в легаси-таблицах `show_histor
- норма исполнима без обращения к другим файлам;
- обоснование отвечает на «что сломается», а не пересказывает норму.
## История версий
## Версия языка
Номер версии называется в каждой конвенции, поэтому изменение формы, способное
изменить чтение уже написанного текста, меняет и номер. Смена словаря под
другой естественный язык версию не двигает: версия принадлежит шкале, меткам и
правилам формы, а не буквам.
Номер версии называется в каждой конвенции, поэтому он двигается, когда
изменение формы способно изменить чтение **уже разданной** копии: копия
ссылается на номер, а не на текст, и обязана читаться по той версии, по
которой написана. Правки формы до того, как копии разошлись, номер не двигают
— читать по ним пока нечего.
| Версия | Что изменилось |
|---|---|
| 1 | первая запись языка: шкала из BCP 14, обязательное обоснование, идентификаторы, таблицы решений |
| 2 | обоснование получило метку ПОЧЕМУ заглавными и вошло в словарь набора; метки правила выделены из шкалы в отдельный перечень |
Смена словаря под другой естественный язык версию не двигает никогда: версия
принадлежит шкале, меткам и правилам формы, а не буквам.
+1 -1
View File
@@ -11,7 +11,7 @@ prefix: DIRS
механически выводится состав бэкапа.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -8,7 +8,7 @@ prefix: CONF
секретами и когда падает.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -7,7 +7,7 @@ prefix: KEYS
Как выбираются и как выглядят первичные ключи сущностей.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -8,7 +8,7 @@ prefix: TIME
берётся значение и где появляется не-UTC.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -9,7 +9,7 @@ extends: arch/config.md
запрета на окружение.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
Секретов Go-специфика не касается: они приходят из деплоя уже в файле, а
+1 -1
View File
@@ -8,7 +8,7 @@ extends: arch/db-identifiers.md
Как базовый слой выглядит в Go-приложении.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
Единая точка из `KEYS-3` — пакет `internal/ident`: он
+1 -1
View File
@@ -8,7 +8,7 @@ prefix: MIGR
Go-приложении.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -9,7 +9,7 @@ prefix: GERR
границе).
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
Две границы, о которых говорят правила ниже:
+1 -1
View File
@@ -10,7 +10,7 @@ extends: arch/time.md
функциональности, живут в спеках.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
Лог читают инструментами, а не глазами: повседневно — `jq`
+1 -1
View File
@@ -9,7 +9,7 @@ extends: arch/time.md
в каком виде время попадает в базу и в логи, что делать с зонами.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Правила
+1 -1
View File
@@ -8,7 +8,7 @@ extends: arch/app-directories.md
Как категории из базового слоя раскладываются на сервере плейбуком.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
## Область действия
+1 -1
View File
@@ -9,7 +9,7 @@ prefix: HTMX
какие действия поддерживает — в спеках, не здесь.
Ключевые слова ДОЛЖЕН, НЕ ДОЛЖЕН, СЛЕДУЕТ, НЕ СЛЕДУЕТ, ДОПУСКАЕТСЯ и метки
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 2
ПОЧЕМУ и МЕХАНИЗИРОВАНО толкуются как описано в языке конвенций версии 1
тогда и только тогда, когда написаны заглавными.
Логирование запросов — конвенция `logging` (HTTP-поля, рутинно-частое на