# Опубликовать инструмент

Магазин принимает декларативные workflow, блоки и плагины. Артефакт и исходники остаются у автора; каталог хранит описание, совместимость и ссылку на неизменяемую версию с SHA-256.

## Подготовка

1. Объявите входы, выходы и зависимости. Для Python-пакета используйте API расширений версии 1; для плагина укажите родительский блок. Прикладная оркестрация остаётся в YAML.
2. Проверьте полезный сценарий и существенные ошибки на изолированных данных. Опубликуйте конкретный результат проверки вместе с версией исходников.
3. Подготовьте JSON по [схеме заявки](/store/submission.schema.json). Идентификатор начинается с пространства автора: `author.tool`. Пакет поставляется wheel-файлом, workflow — YAML.
4. Выполните `workflow-platform catalog validate submission.json`. Проверка читает метаданные и не скачивает код.
5. Передайте manifest сопровождающему каталога. После проверки он добавляет заявку в `documentation/store/community.json`; сборка проверяет её схему и уникальность идентификатора.

## Проверка и публикация

Заявка проходит проверку авторства, лицензии, контрактов, зависимостей и назначения инструмента. Изменение каталога принимает сопровождающий проекта. Команды установки, скрипты и исполняемые вставки в manifest не принимаются.

Авторские тесты обозначаются отдельно от проверок платформы. Проверка одной версии не распространяется на следующие. Артефакт с новым содержимым получает новую версию; опубликованные контрольные суммы сохраняются. Установка стороннего пакета — явное действие владельца окружения.

Тесты стороннего кода выполняются в отдельном доверенном процессе проверки, без данных и секретов приложения. Сам сайт и MCP читают описание; они ничего не устанавливают и не запускают.
