закрыты известные остатки
- документ самоуправления объявляется ключом governance, а не угадывается по «он один и без ключей оси»: конвенция, потерявшая topic, была от него неотличима и тихо теряла все проверки об отъезде к потребителю - проверка путей канона больше не ловит README.md и READING.md — эти два имени значат что-то и на стороне потребителя - lang.Recognize требует совпадения и слов, и номера версии; директории компонентов сверяются на вложенность, а не только на равенство - у обеих проверок появился --json, а convy sync называет ссылки на темы, которых компонент не взял
This commit is contained in:
@@ -86,6 +86,12 @@ internal/cli команды, диалог, два режима
|
||||
которую можно читать. Транспортов два, но `Kind` — перечисление, а не булево:
|
||||
третий (rclone, дерево по https) ожидается, и отказ обязан сначала сказать,
|
||||
чем ссылку сочли, и только потом — что не так.
|
||||
- **Документ самоуправления объявлен, а не угадан.** `governance` в манифесте
|
||||
называет файл, который написан языком конвенций, но не принадлежит теме.
|
||||
Угадывание пробовали — «он один» и «у него нет ключей оси» верны и для
|
||||
набора, у которого единственная конвенция потеряла `topic`, а потеря эта
|
||||
дорогая: файл сохраняет все проверки формы и тихо теряет все проверки об
|
||||
отъезде к потребителю.
|
||||
- **Проверки формы не знают про набор.** `checkRules`, `checkVersionLine`,
|
||||
`checkModalsOutside` и прочие принимают `lang.Vocabulary`, а не `*suite.Suite`
|
||||
— иначе `convy check` в проекте пришлось бы писать заново. Копия несёт язык
|
||||
@@ -164,34 +170,14 @@ internal/cli команды, диалог, два режима
|
||||
|
||||
## Известные остатки
|
||||
|
||||
- Набор без документа самоуправления, в котором конвенция потеряла `topic`,
|
||||
проскочит: признаков «этот документ один» и «у него нет ключей слоя» не
|
||||
хватает. Закрывается маркером в манифесте — правка формата, не сделана.
|
||||
- Проверка пути канона считает путём любой токен `*.md`, который резолвится в
|
||||
файл набора; упоминание `README.md` в конвенции она пометит ошибочно. На
|
||||
текущем каноне не срабатывает.
|
||||
- Машиночитаемого вывода находок (`--json`) нет.
|
||||
- Предупреждения о висячей ссылке на неподписанную тему нет: `convy check` до
|
||||
набора не дотягивается и разрешает только ссылки на префиксы самого файла.
|
||||
Закрывается отдельной командой, а не этой: ей нужен список подписок.
|
||||
- Набор в поддиректории git-репозитория не адресуется: `#рев` есть, `//путь`
|
||||
нет. Появится вместе с первым набором, который так лежит.
|
||||
нет. Синтаксис, которого не просит ни один набор, не заводится заранее.
|
||||
- Источник у проекта один. Модель нескольких допускает; форма `source = "..."`
|
||||
расширяется до `[sources.имя]` не ломая существующие манифесты.
|
||||
- `convy add` пишет подписку после сборки — если сборка прошла, а запись в
|
||||
манифест упала, копия останется неучтённой. Обратный порядок хуже: подписка
|
||||
без файла отправляет следующий `pull` искать то, чего не делали.
|
||||
- Директории компонентов сверяются на равенство, а не на вложенность. Компонент
|
||||
в `docs` и компонент в `docs/sub` манифест пропустит; `convy check` от
|
||||
двойных находок защищён отдельно (`distinct`).
|
||||
- `lang.Recognize` при отсутствии словаря с совпавшим номером версии отдаёт
|
||||
первого кандидата, у которого совпали слова. Пока версия в реестре одна, это
|
||||
безвредно; со второй версией того же естественного языка станет неверно.
|
||||
- Опечатка `convey` вместо `convy` в текстах ничем не ловится. Слова отличаются
|
||||
одной буквой, и оба выглядят словами.
|
||||
- Способ раздачи готовых бинарей не выбран. `eget` умеет релизы GitHub, а git
|
||||
здесь свой (`git.vakhrushev.me`) — тянет ли он релизы Gitea, не проверено;
|
||||
иначе остаются прямой URL или `go install`.
|
||||
расширяется до `[sources.имя]`, не ломая существующие манифесты.
|
||||
- `convy add` пишет подписку после сборки. Если сборка прошла, а запись упала,
|
||||
копия останется неучтённой — но это уже поправимо: `convy sync` её либо
|
||||
уберёт, либо соберёт заново, когда тему подпишут.
|
||||
- Ни линтеров, ни CI. Раздача — `go install`, пока этого хватает.
|
||||
|
||||
## Тесты
|
||||
|
||||
|
||||
Reference in New Issue
Block a user