- манифест читается так, как записан: решётка внутри строки не открывает
комментарий, скобка внутри комментария не закрывает массив, имя внутри
комментария не становится подпиской; новый ключ встаёт после массива,
а не внутрь него
- всё записываемое проходит через manifest.Quote — обратный слэш в пути
делал файл, который инструмент сам не читает
- маркер локальной части переехал в doc и пропускает огороженные блоки:
процитированный в примере маркер больше не считается границей, а копия
без маркера не перезаписывается молча
- лишний позиционный аргумент отсекается: flag прекращал разбор и прятал
флаги после себя, из-за чего pull, list и check игнорировали --for
- заведены тесты проверок копий, включая молчание на исправной копии
- заведён internal/source: уровни ссылаются друг на друга путём на диске
или git-репозиторием, ревизия закрепляется хвостом #ref; клон делается
заново и удаляется, кэша нет
- добавлены init, add, pull, list, check в проекте — манифест
.conventions.toml, сборка копий по разу на компонент, маркер локальной
части, READING.md рядом
- проверки формы развязаны с набором: принимают lang.Vocabulary, а язык
копии узнаётся по строке о версии — манифеста рядом с ней нет
- suite rule дописывает правило: номер берётся следующим за наибольшим, блоки
раскладываются в порядке норма, ПОЧЕМУ, ПРИМЕРЫ, --after ставит правило рядом
с тем, которое оно уточняет
- ступень называется категорией (requirement, prohibition, ...), а не словом
языка, поэтому вызывающему не нужно знать, на каком языке записан набор
- suite list показывает темы со слоями, а с осью — что возьмёт компонент; отбор
слоёв вынесен в suite.Assemble, откуда его возьмут проектные команды
- слои темы теперь всегда возвращаются базовым вперёд