служебные слова сценарного блока стали частью словаря набора

- `КОГДА`, `ТОГДА`, `И`, `ИЛИ` (по-английски WHEN/THEN/AND/OR) подчиняются тем
  же требованиям, что модальные слова: одна форма на роль, заглавными, набор
  один на канон и выбирается под естественный язык
- модальностью они не являются — обязательности не задают, только структуру,
  поэтому в строку о версии языка не попадают и под проверку «модальные слова
  вне правил» не подпадают
- единственный сценарный блок канона (SLOG, «Два цикла повтора») переписан с
  WHEN/AND на русские связки; отказ от `GIVEN/WHEN/THEN` уточнён — он касается
  общей формы записи, а на стыке правил эта форма взята сознательно
This commit is contained in:
av
2026-07-26 14:03:29 +03:00
parent f99a513058
commit 3fce663d7a
4 changed files with 58 additions and 50 deletions
+3 -29
View File
@@ -107,33 +107,7 @@ Go-бинарь со своим релизным циклом, ставить ч
нечего обслуживать. Сначала 4, потом 5. Разделение из вопроса 1 при этом
дешевле заложить сразу, чем отпиливать потом.
## 6. `WHEN`/`AND` в блоке стыка правил
Блок для стыка двух правил записан английскими словами:
```
WHEN зависимость недоступна и ретраи вызова исчерпаны → ext-запись ERROR
AND тик фонового цикла упал по той же причине → доменная запись WARN
```
Рядом сказано, что `SHALL` не берётся ни в один словарь, потому что занят
OpenSpec. `WHEN` и `AND` — из того же набора и по той же причине должны бы
не браться, но взяты. Это нестыковка, а не решение.
Варианты:
- **перевести** на `КОГДА` / `И`: словарь набора один, и служебные слова
внутри канона следуют ему же;
- **оставить и объяснить**: блок стыка описывает поведение системы во
времени, а не выбор автора, — то есть это единственное место, где форма
спецификации уместна, и заимствование её синтаксиса намеренно.
Второе честнее по смыслу (субъект там действительно система), но требует
явной оговорки в `LANGUAGE.md`, иначе читается как недосмотр. Заодно решить,
подпадают ли `WHEN`/`AND` под проверку «заглавные модальные слова не
встречаются вне правил»: сейчас формально нет, потому что в словаре их нет.
## 7. Критерий «названного вреда» никого не обязывает
## 6. Критерий «названного вреда» никого не обязывает
`LANGUAGE.md` говорит, что ДОЛЖЕН требует двух условий сразу: нарушение
причиняет названный вред (критерий BCP 14) и норма проверяема машиной
@@ -147,7 +121,7 @@ OpenSpec. `WHEN` и `AND` — из того же набора и по той ж
META-6 её защищает. Против: критерий «вред назван» проверяется чтением, а не
машиной, — то есть по META-6 сам он может быть только СЛЕДУЕТ.
## 8. Одиннадцать таблиц не прочитаны на взаимоисключительность
## 7. Одиннадцать таблиц не прочитаны на взаимоисключительность
`LANGUAGE.md` объявил, что строки таблицы решений взаимоисключающи по
умолчанию, а иной порядок объявляется явно. Объявление не делает таблицы
@@ -162,7 +136,7 @@ META-6 её защищает. Против: критерий «вред назв
Работа читательская, машине не даётся; в список проверок она уже записана в
разделе «Чтением, потому что машине не даётся».
## 9. Возможность, записанная модальным словом
## 8. Возможность, записанная модальным словом
Четвёртая категория ISO — возможность и осуществимость — ключевого слова не
имеет: такие утверждения пишутся обычной прозой. Значит канон надо просмотреть