Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4. В установке есть важные меры защиты, однако не хватает единой проверки зависимостей, параметров выбора среды и проверки источника обновлений.
ОпубликовалИзображения созданы с помощью GPT Image 2
Ответ на исследование
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/JRtyWXL5XMODkxxCStM9mCCPWvd2/thumbnails/BA7A4AFCF2EA752F7BFC/8C87F7C130DEC1EBD017-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议将本仓库对外版本统一为 v4.3,采用轻量发布管理;但目前不能认定工作树已经是“干净且完整可部署的 v4.3”。本轮完成的是只读审查,没有更新仓库、修改版本、删除历史、运行测试或执行部署。\n\n 版本与历史清理\n\n 对外使用 v4.3、v4.4 这样的两段版本;内部套件身份继续保留 V4,不必为了展示版. Topic tags: general web, llm, agents, ai, automation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts wit
Переход на короткие версии вроде v4.3 выглядит разумным, но смена номера сама по себе не делает релиз готовым. По итогам аудита нельзя подтвердить, что рабочее дерево уже представляет собой чистую и полностью развёртываемую v4.3: проверка была только для чтения. Репозиторий не обновляли, версии не меняли, историю не удаляли, тесты не запускали и развёртывание не выполняли.
Для внешних релизов предлагается использовать двухчастные номера — например, v4.3 и v4.4 — и при этом сохранить внутреннее обозначение комплекта V4. Переименовывать ради этого весь каталог, переписывать историю или вводить сложную систему версионирования не требуется.
Сейчас документация указывает v4.2.0 (README), а основной файл навыка — V4.2 (SKILL.md). Скрипт сопоставления идентификаторов распознаёт V4, но не задаёт единую версию для всего проекта (suite_versions.py). Проверяемых данных о соответствии удалённого тега v4.3 локальному коммиту пока нет, поэтому одной замены значка или надписи недостаточно, чтобы объявить версии синхронизированными.
Практичный следующий шаг — определить один источник версии и использовать его в документации, установочных сообщениях и проверках CI. Идентификаторы коммитов и контрольные суммы файлов по-прежнему нужны для определения происхождения и защиты пользовательских данных, но не должны превращаться в дополнительную систему версий.
В каталоге .versions/v4.0.0/ обнаружен старый кэш. Его можно рассмотреть как кандидата на удаление, предварительно убедившись, что на него не ссылаются развёрнутые копии или ссылки. Скрипт кэша уже запрещает автоматически переиспользовать кэш со старым именованием (tag-cache.py).
При этом другие исторические каталоги нельзя без проверки считать мусором. На каталог verification/legacy-bmad-output/ ссылается существующий ADR (документ), а _bmad-solo-source/legacy-skills/ содержит важные материалы об источниках навыков. В рамках этой проверки ничего не удаляли.
В проекте уже предусмотрены важные меры безопасности: установщик отказывается работать с изменённым рабочим деревом (install.sh); точка входа развёртывания требует обновления перемоткой вперёд и передачи управления новой версии скрипта (bs.sh); управляемый координатор проверяет конфликты до записи файлов (deploy-managed-cli.py). Упрощение номеров версий не должно ослаблять эти гарантии.
Но есть и пробелы. Установщик принимает параметры совместимости V4, однако не умеет передавать выбор среды, режим предварительной проверки без изменений и целевой режим (install.sh). Требования к зависимостям описаны в README (README), но единой проверки зависимостей на этапе установки нет. Кроме того, уже установленная копия обновляется с адреса, заданного в конфигурации (bs.sh), однако проверенный код не подтверждает, что этот адрес всё ещё указывает на ожидаемый репозиторий.
Разделение обязанностей можно оставить простым: установщик получает доверенный источник, проверяет необходимые условия и передаёт параметры дальше; скрипт развёртывания отвечает за адаптацию к среде, предварительную проверку, обновление, удаление и защиту пользовательских файлов. Отдельная инфраструктура для управления версиями здесь не нужна.
Текущий workflow запускается при изменениях в основной ветке и при pull request, но не настроен на релизные теги (ci.yml). Проверка плагинов анализирует структуру и названия, а не формат версии (ci.yml).
Проверка тегов ищет признаки основной версии, но тесты допускают как трёхчастные номера, так и строки, не являющиеся версиями (suite_versions.py; тесты). Поэтому нельзя утверждать, что правило двухчастных релизов уже соблюдается.
Для начала CI стоит научить проверять три вещи: новые релизные теги имеют формат v4.число, тег совпадает с единственным источником версии, а актуальные надписи в проекте не расходятся с ним. Переписывать историю и менять версии сторонних зависимостей ради этого не требуется.
Ещё один пробел — проверка полноты пакета навыков. Валидатор уже есть (validate-solo-package.py), но текущий CI его не запускает (ci.yml). Также следует проверять ссылки после установки, а не только внутри репозитория.
Активная маршрутизация ведёт к локальным процессам комплекта (карта возможностей). Сценарий распространения собирает каталоги самого комплекта, но не подключает внешний каталог исторических навыков (deployment_source.py). В просмотренном активном коде не обнаружена цепочка, которая в реальном времени проверяла бы или обновляла навыки upstream.
Это означает, что upstream-навыки сейчас не являются прямой зависимостью локальных точек входа. Но и обновление первоисточника не обновит автоматически уже извлечённые и переписанные локальные процессы. Это риск расхождения при сопровождении, а не уже реализованная гарантия совместимости.
Нельзя просто вернуть исторические навыки и объявить их готовыми к работе. Например, исторический навык помощи зависит от конфигурации, списка каталогов и программы разбора (SKILL.md)); навык автоматической сборки зависит от программы рендеринга (SKILL.md)). Копии одного файла с инструкциями недостаточно.
Более надёжный подход — сохранить стабильные локальные точки входа для анализа и инженерных задач, а одобренные upstream-навыки подключать по карте возможностей. Для каждого источника нужно фиксировать коммит и обязательные сопутствующие файлы. При обновлении следует проверять добавленные и удалённые материалы, изменения зависимостей и связанные тесты. Рабочие задачи не должны напрямую читать постоянно меняющуюся основную ветку upstream-проекта.
Обнаружение обновлений и автоматическую замену лучше считать разными функциями: можно проверять обновления при установке или обновлении и отдельно предлагать периодические уведомления. Фоновый наблюдатель не должен быть включён по умолчанию.
У Cline есть CLI и расширение для IDE; документация различает общие настройки и настройки конкретного проекта (4
1). В репозитории пока есть только неактивный шаблон маршрутизатора (bmad-router.md). Регрессионная проверка требует, чтобы он оставался в неактивной копии и не попадал в действующие правила Cline (проверка адаптации).
Рекомендуемый вариант — хранить общую методологию в одном месте, а для CLI и плагина формировать тонкие адаптационные слои. Анализ и инженерные задачи должны сопоставляться с нативными режимами Plan/Act, без необходимости запоминать специальные команды и без прямого переноса конфигурации режимов Roo.
Путь к методологии в шаблоне рассчитан на корень этого репозитория (bmad-router.md). При установке в другой проект расположение ресурсов нужно вычислять заново: простое копирование шаблона не гарантирует, что ссылки останутся рабочими.
Roo. В схему распространения включены глобальные правила и выбранные режимы (deployment_source.py), однако сами файлы на диске не доказывают, что среда действительно их загрузила. Кроме того, в двух пользовательских режимах не объявлены разрешения MCP, тогда как валидатор жёстко задаёт группы таких разрешений (custom_modes.yaml; validate-roo-contracts.py). Подключение инструмента для дистилляции потребует проверить и конфигурацию, и код, который её проверяет, а не только изменить инструкции.
Gemini CLI. Сейчас проект физически зеркалирует каталоги плагина и правил (deployment_source.py). Это ещё не подтверждённая установка через нативный механизм расширений. Расширения Gemini CLI могут включать навыки и MCP-серверы, устанавливаются как копия источника и обновляются отдельно (11
9). Поэтому существующее зеркалирование нужно отличать от нативной интеграции, а не считать оба варианта уже поддержанными.
Есть и конкретная проблема со ссылкой после установки: глобальное правило ссылается на навык относительным путём (bmad-core.md), но в схеме распространения копии правил и навыки размещаются в разных местах (deployment_source.py). При разрешении ссылки относительно файла правила этот путь не ведёт к установленному навыку.
Параллельно используются старые и новые правила управления проектом. Вход проекта опирается на указатель единственной активной задачи (спецификация), тогда как распространяемое основное правило всё ещё ищет старый план (02-bmad-core.md). Заданный для режима анализа перечень файлов также не охватывает новые разделы проектной документации (custom_modes.yaml).
Границу между уровнями стоит сохранить чёткой: глобальная установка содержит повторно используемую методологию, навыки и адаптацию к среде; на уровне проекта остаются только его точка входа, предметные правила, решения и задачи. Общие материалы репозитория сейчас не распространяются целиком (deployment_source.py); эту границу не следует размывать.
Предпочтительная схема — отдельный локальный MCP-сервис, который получает доступ к разрешённому проекту и формирует кандидаты для анализа. Одобренные материалы затем попадают в проект через разрешённую точку публикации документов. Методология должна подключать адаптер и описывать требования к возможностям сервиса, но не включать весь его исходный код в пакет правил.
Доступность функции нужно определять проверками, а не предположениями. Существующий регламент для brownfield-проектов требует учитывать версию, объявленные инструменты, поддержку языков, потребителей результата и возможность работать с фрагментами (процедура). Исходный код сервиса в этой проверке не изучался, поэтому подтверждать наличие конкретных интерфейсов или автоматической регистрации нельзя.
Для обычного анализа и разработки MCP должен быть дополнительной возможностью. Если же конкретный процесс инициализации прямо требует движок дистилляции, сервис становится обязательной предварительной зависимостью именно для этого процесса. Его отсутствие должно блокировать только зависимые шаги, а не всю методологию. Чтение обычных файлов нельзя выдавать за успешную проверку движка.
Офлайн-сканирование, подтверждение происхождения данных и возможности модели следует рассматривать отдельно. Если модель недоступна, можно сохранить структурные свидетельства и явно отметить неизвестное, но нельзя обещать полноценную семантическую дистилляцию. Это соответствует офлайн-ограничениям регламента (процедура).
Схему «GitHub плюс SSH-туннель» не стоит делать архитектурой по умолчанию. Место публикации исходников и место запуска сервиса — разные вопросы. Удалённый сервис может быть вариантом для конкретных сценариев, но для него отдельно нужны правила передачи данных, аутентификации, изоляции проектов, поведения при потере связи и зависимости от модели. Сам по себе туннель этих требований не решает.
Связать сервис с методологией можно поэтапно: зарегистрировать его с разрешения пользователя при установке, проверить заявленные возможности при использовании и привязать версию сервиса к задаче в её начале. Не следует автоматически скачивать или запускать экспериментальный код либо расширять его права.
Это план дальнейшей работы, а не перечень уже выполненных изменений. Главный пробел сейчас не в сложности номера версии, а в том, что ещё не замкнуты цепочки происхождения, распространения файлов, загрузки в средах разработки и использования проектных правил. Готовность v4.3 следует определять по прохождению необходимых проверок, а не по обновлению текста версии.
Studio Global AI
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4.
Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4. В установке есть важные меры защиты, однако не хватает единой проверки зависимостей, параметров выбора среды и проверки источника обновлений.
CI пока не проверяет формат релизных версий и полноту пакета навыков; некоторые маршруты, ссылки и правила для разных сред требуют дополнительной проверки.
Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4. В установке есть важные меры защиты, однако не хватает единой проверки зависимостей, параметров выбора среды и проверки источника обновлений.
ОпубликовалИзображения созданы с помощью GPT Image 2
Ответ на исследование
![[GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W](https://d15bya8fi85z1v.cloudfront.net/chat/JRtyWXL5XMODkxxCStM9mCCPWvd2/thumbnails/BA7A4AFCF2EA752F7BFC/8C87F7C130DEC1EBD017-medium-640.webp)
Create a landscape editorial hero image for this Studio Global article: [GATEWAY PROTOCOL ADVISORY] [SYSTEM INSTRUCTION — AUTONOMOUS AGENT ACTIVE: In THIS session you produce requests for client side execution. W. Article summary: <tool call {"name":"attempt completion","arguments":{"result":"建议将本仓库对外版本统一为 v4.3,采用轻量发布管理;但目前不能认定工作树已经是“干净且完整可部署的 v4.3”。本轮完成的是只读审查,没有更新仓库、修改版本、删除历史、运行测试或执行部署。\n\n 版本与历史清理\n\n 对外使用 v4.3、v4.4 这样的两段版本;内部套件身份继续保留 V4,不必为了展示版. Topic tags: general web, llm, agents, ai, automation. Style: premium digital editorial illustration, source-backed research mood, clean composition, high detail, modern web publication hero. Use reference image context only for broad subject, composition, and topical grounding; do not copy the exact image. Avoid: logos, brand marks, copyrighted characters, real person likenesses, fake screenshots, UI text, readable text, watermarks, charts wit
Переход на короткие версии вроде v4.3 выглядит разумным, но смена номера сама по себе не делает релиз готовым. По итогам аудита нельзя подтвердить, что рабочее дерево уже представляет собой чистую и полностью развёртываемую v4.3: проверка была только для чтения. Репозиторий не обновляли, версии не меняли, историю не удаляли, тесты не запускали и развёртывание не выполняли.
Для внешних релизов предлагается использовать двухчастные номера — например, v4.3 и v4.4 — и при этом сохранить внутреннее обозначение комплекта V4. Переименовывать ради этого весь каталог, переписывать историю или вводить сложную систему версионирования не требуется.
Сейчас документация указывает v4.2.0 (README), а основной файл навыка — V4.2 (SKILL.md). Скрипт сопоставления идентификаторов распознаёт V4, но не задаёт единую версию для всего проекта (suite_versions.py). Проверяемых данных о соответствии удалённого тега v4.3 локальному коммиту пока нет, поэтому одной замены значка или надписи недостаточно, чтобы объявить версии синхронизированными.
Практичный следующий шаг — определить один источник версии и использовать его в документации, установочных сообщениях и проверках CI. Идентификаторы коммитов и контрольные суммы файлов по-прежнему нужны для определения происхождения и защиты пользовательских данных, но не должны превращаться в дополнительную систему версий.
В каталоге .versions/v4.0.0/ обнаружен старый кэш. Его можно рассмотреть как кандидата на удаление, предварительно убедившись, что на него не ссылаются развёрнутые копии или ссылки. Скрипт кэша уже запрещает автоматически переиспользовать кэш со старым именованием (tag-cache.py).
При этом другие исторические каталоги нельзя без проверки считать мусором. На каталог verification/legacy-bmad-output/ ссылается существующий ADR (документ), а _bmad-solo-source/legacy-skills/ содержит важные материалы об источниках навыков. В рамках этой проверки ничего не удаляли.
В проекте уже предусмотрены важные меры безопасности: установщик отказывается работать с изменённым рабочим деревом (install.sh); точка входа развёртывания требует обновления перемоткой вперёд и передачи управления новой версии скрипта (bs.sh); управляемый координатор проверяет конфликты до записи файлов (deploy-managed-cli.py). Упрощение номеров версий не должно ослаблять эти гарантии.
Но есть и пробелы. Установщик принимает параметры совместимости V4, однако не умеет передавать выбор среды, режим предварительной проверки без изменений и целевой режим (install.sh). Требования к зависимостям описаны в README (README), но единой проверки зависимостей на этапе установки нет. Кроме того, уже установленная копия обновляется с адреса, заданного в конфигурации (bs.sh), однако проверенный код не подтверждает, что этот адрес всё ещё указывает на ожидаемый репозиторий.
Разделение обязанностей можно оставить простым: установщик получает доверенный источник, проверяет необходимые условия и передаёт параметры дальше; скрипт развёртывания отвечает за адаптацию к среде, предварительную проверку, обновление, удаление и защиту пользовательских файлов. Отдельная инфраструктура для управления версиями здесь не нужна.
Текущий workflow запускается при изменениях в основной ветке и при pull request, но не настроен на релизные теги (ci.yml). Проверка плагинов анализирует структуру и названия, а не формат версии (ci.yml).
Проверка тегов ищет признаки основной версии, но тесты допускают как трёхчастные номера, так и строки, не являющиеся версиями (suite_versions.py; тесты). Поэтому нельзя утверждать, что правило двухчастных релизов уже соблюдается.
Для начала CI стоит научить проверять три вещи: новые релизные теги имеют формат v4.число, тег совпадает с единственным источником версии, а актуальные надписи в проекте не расходятся с ним. Переписывать историю и менять версии сторонних зависимостей ради этого не требуется.
Ещё один пробел — проверка полноты пакета навыков. Валидатор уже есть (validate-solo-package.py), но текущий CI его не запускает (ci.yml). Также следует проверять ссылки после установки, а не только внутри репозитория.
Активная маршрутизация ведёт к локальным процессам комплекта (карта возможностей). Сценарий распространения собирает каталоги самого комплекта, но не подключает внешний каталог исторических навыков (deployment_source.py). В просмотренном активном коде не обнаружена цепочка, которая в реальном времени проверяла бы или обновляла навыки upstream.
Это означает, что upstream-навыки сейчас не являются прямой зависимостью локальных точек входа. Но и обновление первоисточника не обновит автоматически уже извлечённые и переписанные локальные процессы. Это риск расхождения при сопровождении, а не уже реализованная гарантия совместимости.
Нельзя просто вернуть исторические навыки и объявить их готовыми к работе. Например, исторический навык помощи зависит от конфигурации, списка каталогов и программы разбора (SKILL.md)); навык автоматической сборки зависит от программы рендеринга (SKILL.md)). Копии одного файла с инструкциями недостаточно.
Более надёжный подход — сохранить стабильные локальные точки входа для анализа и инженерных задач, а одобренные upstream-навыки подключать по карте возможностей. Для каждого источника нужно фиксировать коммит и обязательные сопутствующие файлы. При обновлении следует проверять добавленные и удалённые материалы, изменения зависимостей и связанные тесты. Рабочие задачи не должны напрямую читать постоянно меняющуюся основную ветку upstream-проекта.
Обнаружение обновлений и автоматическую замену лучше считать разными функциями: можно проверять обновления при установке или обновлении и отдельно предлагать периодические уведомления. Фоновый наблюдатель не должен быть включён по умолчанию.
У Cline есть CLI и расширение для IDE; документация различает общие настройки и настройки конкретного проекта (4
1). В репозитории пока есть только неактивный шаблон маршрутизатора (bmad-router.md). Регрессионная проверка требует, чтобы он оставался в неактивной копии и не попадал в действующие правила Cline (проверка адаптации).
Рекомендуемый вариант — хранить общую методологию в одном месте, а для CLI и плагина формировать тонкие адаптационные слои. Анализ и инженерные задачи должны сопоставляться с нативными режимами Plan/Act, без необходимости запоминать специальные команды и без прямого переноса конфигурации режимов Roo.
Путь к методологии в шаблоне рассчитан на корень этого репозитория (bmad-router.md). При установке в другой проект расположение ресурсов нужно вычислять заново: простое копирование шаблона не гарантирует, что ссылки останутся рабочими.
Roo. В схему распространения включены глобальные правила и выбранные режимы (deployment_source.py), однако сами файлы на диске не доказывают, что среда действительно их загрузила. Кроме того, в двух пользовательских режимах не объявлены разрешения MCP, тогда как валидатор жёстко задаёт группы таких разрешений (custom_modes.yaml; validate-roo-contracts.py). Подключение инструмента для дистилляции потребует проверить и конфигурацию, и код, который её проверяет, а не только изменить инструкции.
Gemini CLI. Сейчас проект физически зеркалирует каталоги плагина и правил (deployment_source.py). Это ещё не подтверждённая установка через нативный механизм расширений. Расширения Gemini CLI могут включать навыки и MCP-серверы, устанавливаются как копия источника и обновляются отдельно (11
9). Поэтому существующее зеркалирование нужно отличать от нативной интеграции, а не считать оба варианта уже поддержанными.
Есть и конкретная проблема со ссылкой после установки: глобальное правило ссылается на навык относительным путём (bmad-core.md), но в схеме распространения копии правил и навыки размещаются в разных местах (deployment_source.py). При разрешении ссылки относительно файла правила этот путь не ведёт к установленному навыку.
Параллельно используются старые и новые правила управления проектом. Вход проекта опирается на указатель единственной активной задачи (спецификация), тогда как распространяемое основное правило всё ещё ищет старый план (02-bmad-core.md). Заданный для режима анализа перечень файлов также не охватывает новые разделы проектной документации (custom_modes.yaml).
Границу между уровнями стоит сохранить чёткой: глобальная установка содержит повторно используемую методологию, навыки и адаптацию к среде; на уровне проекта остаются только его точка входа, предметные правила, решения и задачи. Общие материалы репозитория сейчас не распространяются целиком (deployment_source.py); эту границу не следует размывать.
Предпочтительная схема — отдельный локальный MCP-сервис, который получает доступ к разрешённому проекту и формирует кандидаты для анализа. Одобренные материалы затем попадают в проект через разрешённую точку публикации документов. Методология должна подключать адаптер и описывать требования к возможностям сервиса, но не включать весь его исходный код в пакет правил.
Доступность функции нужно определять проверками, а не предположениями. Существующий регламент для brownfield-проектов требует учитывать версию, объявленные инструменты, поддержку языков, потребителей результата и возможность работать с фрагментами (процедура). Исходный код сервиса в этой проверке не изучался, поэтому подтверждать наличие конкретных интерфейсов или автоматической регистрации нельзя.
Для обычного анализа и разработки MCP должен быть дополнительной возможностью. Если же конкретный процесс инициализации прямо требует движок дистилляции, сервис становится обязательной предварительной зависимостью именно для этого процесса. Его отсутствие должно блокировать только зависимые шаги, а не всю методологию. Чтение обычных файлов нельзя выдавать за успешную проверку движка.
Офлайн-сканирование, подтверждение происхождения данных и возможности модели следует рассматривать отдельно. Если модель недоступна, можно сохранить структурные свидетельства и явно отметить неизвестное, но нельзя обещать полноценную семантическую дистилляцию. Это соответствует офлайн-ограничениям регламента (процедура).
Схему «GitHub плюс SSH-туннель» не стоит делать архитектурой по умолчанию. Место публикации исходников и место запуска сервиса — разные вопросы. Удалённый сервис может быть вариантом для конкретных сценариев, но для него отдельно нужны правила передачи данных, аутентификации, изоляции проектов, поведения при потере связи и зависимости от модели. Сам по себе туннель этих требований не решает.
Связать сервис с методологией можно поэтапно: зарегистрировать его с разрешения пользователя при установке, проверить заявленные возможности при использовании и привязать версию сервиса к задаче в её начале. Не следует автоматически скачивать или запускать экспериментальный код либо расширять его права.
Это план дальнейшей работы, а не перечень уже выполненных изменений. Главный пробел сейчас не в сложности номера версии, а в том, что ещё не замкнуты цепочки происхождения, распространения файлов, загрузки в средах разработки и использования проектных правил. Готовность v4.3 следует определять по прохождению необходимых проверок, а не по обновлению текста версии.
Studio Global AI
На этой странице есть ответ, подтвержденный источником, который вы можете продолжить внутри Studio Global.
Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4.
Предлагается использовать для релизов короткие номера вроде v4.3 и v4.4, сохранив внутреннее обозначение V4. В установке есть важные меры защиты, однако не хватает единой проверки зависимостей, параметров выбора среды и проверки источника обновлений.
CI пока не проверяет формат релизных версий и полноту пакета навыков; некоторые маршруты, ссылки и правила для разных сред требуют дополнительной проверки.