todo: заведены четыре открытые темы по языку записи
- 12: `WHEN`/`AND` в блоке стыка правил — английские служебные слова там же, где `SHALL` отклонён как занятый OpenSpec; либо перевод, либо явная оговорка, что форма спецификации в этом месте намеренна - 13: критерий «названного вреда» для ДОЛЖЕН описан в языке, но правила под него нет — META-6 обязывает только понижать при отсутствии проверки - 14 и 15: одиннадцать таблиц не прочитаны на взаимоисключительность (подозреваемый SLOG-11), и канон не просмотрен на факты, записанные модальным словом
This commit is contained in:
@@ -240,6 +240,72 @@ Go-бинарь со своим релизным циклом, ставить ч
|
||||
говорит «чужой темы», и второе правило про то же место придётся держать
|
||||
согласованным с первым.
|
||||
|
||||
## 12. `WHEN`/`AND` в блоке стыка правил
|
||||
|
||||
Блок для стыка двух правил записан английскими словами:
|
||||
|
||||
```
|
||||
WHEN зависимость недоступна и ретраи вызова исчерпаны → ext-запись ERROR
|
||||
AND тик фонового цикла упал по той же причине → доменная запись WARN
|
||||
```
|
||||
|
||||
Рядом сказано, что `SHALL` не берётся ни в один словарь, потому что занят
|
||||
OpenSpec. `WHEN` и `AND` — из того же набора и по той же причине должны бы
|
||||
не браться, но взяты. Это нестыковка, а не решение.
|
||||
|
||||
Варианты:
|
||||
|
||||
- **перевести** на `КОГДА` / `И`: словарь набора один, и служебные слова
|
||||
внутри канона следуют ему же;
|
||||
- **оставить и объяснить**: блок стыка описывает поведение системы во
|
||||
времени, а не выбор автора, — то есть это единственное место, где форма
|
||||
спецификации уместна, и заимствование её синтаксиса намеренно.
|
||||
|
||||
Второе честнее по смыслу (субъект там действительно система), но требует
|
||||
явной оговорки в `LANGUAGE.md`, иначе читается как недосмотр. Заодно решить,
|
||||
подпадают ли `WHEN`/`AND` под проверку «заглавные модальные слова не
|
||||
встречаются вне правил»: сейчас формально нет, потому что в словаре их нет.
|
||||
|
||||
## 13. Критерий «названного вреда» никого не обязывает
|
||||
|
||||
`LANGUAGE.md` говорит, что ДОЛЖЕН требует двух условий сразу: нарушение
|
||||
причиняет названный вред (критерий BCP 14) и норма проверяема машиной
|
||||
(META-6). Но правила под первое условие нет: META-6 работает только в одну
|
||||
сторону — «нет машинной проверки, понижай в СЛЕДУЕТ». Обратной, «проверка
|
||||
есть, а вреда нет — не повышай», не существует, и автор ничем не связан.
|
||||
|
||||
Решить, заводить ли META-24 под первое условие или оставить его семантикой
|
||||
шкалы в описании языка. За правило: механически проверяемых мелочей больше,
|
||||
чем важных вещей, и без нормы шкала размывается тем же способом, от которого
|
||||
META-6 её защищает. Против: критерий «вред назван» проверяется чтением, а не
|
||||
машиной, — то есть по META-6 сам он может быть только СЛЕДУЕТ.
|
||||
|
||||
## 14. Одиннадцать таблиц не прочитаны на взаимоисключительность
|
||||
|
||||
`LANGUAGE.md` объявил, что строки таблицы решений взаимоисключающи по
|
||||
умолчанию, а иной порядок объявляется явно. Объявление не делает таблицы
|
||||
такими: нумерованные строки есть в одиннадцати файлах канона, и ни одна
|
||||
таблица под новое требование не прочитана.
|
||||
|
||||
Конкретный подозреваемый — SLOG-11: «по реальному действию или изменению»
|
||||
против «повторяющаяся служебная, по таймеру или поллингу». Периодическая
|
||||
операция, которая всё-таки меняет данные, подходит под обе строки, и уровень
|
||||
из таблицы не выводится однозначно.
|
||||
|
||||
Работа читательская, машине не даётся; в список проверок она уже записана в
|
||||
разделе «Чтением, потому что машине не даётся».
|
||||
|
||||
## 15. Возможность, записанная модальным словом
|
||||
|
||||
Четвёртая категория ISO — возможность и осуществимость — ключевого слова не
|
||||
имеет: такие утверждения пишутся обычной прозой. Значит канон надо просмотреть
|
||||
на обратную ошибку: где утверждение о факте («библиотеки по умолчанию отдают
|
||||
именно его», «SQLite сравнивает строки побайтово») записано модальным словом
|
||||
и тем самым превратилось в норму, которую никто не вводил.
|
||||
|
||||
Смотреть в первую очередь абзацы «Почему»: там факты и стоят, там же соблазн
|
||||
усилить их модальностью выше всего.
|
||||
|
||||
## Из вчерашнего, не закрыто
|
||||
|
||||
- Вынос арх-ядра из `errors` и `logging`: закроет две хрупкие ссылки из
|
||||
|
||||
Reference in New Issue
Block a user