Публикация
Как авторы публикуют компоненты и сетапы в ai_stp.
Публикация
Публиковать компоненты и сетапы может любой пользователь. Предварительной модерации публикаций в MVP нет, но происхождение, права и проверки остаются видимыми.
Публичная версия должна происходить из публичного GitHub-репозитория с точным
commit и подпутём. После публикации версия неизменяема. Номер версии — X.Y,
а не SemVer: поля patch нет, перезаписать 1.0 нельзя.
Автор может быть подтверждён платформой, но это подтверждает происхождение, а не безопасность содержимого. Как готовить дерево: Авторство.
Публикация — CLI-путь со входом в аккаунт. Веб может показать результат; он не привязывает байты и не подтверждает hash плана.
Повседневный путь:
ai-stp task start --intent account --idempotency-key account-session-01 --json
ai-stp task start --intent author --idempotency-key author-session-01 --json
ai-stp task start --intent publish --idempotency-key publish-session-01 --json
Leaves plan / status / confirm ниже — expert recovery, если план уже
открыт.
Предусловия
- Есть локальная идентичность устройства:
ai-stp device init --json. - Вы вошли на том же устройстве:
ai-stp auth status --json. - Объект принят, паспорт проходит validate, локально выпущен
X.Y. - Публичный источник — точный GitHub commit. Ветки и короткие SHA отклоняются.
- Секреты, приватные пути и тела
.envотсутствуют в паспорте и артефакте.
Expert recovery:
ai-stp component passport validate --id <stable_id> --json
ai-stp component version list --id <stable_id> --json
ai-stp component version release --id <stable_id> --json
--major открывает следующую мажорную линию вместо следующего минора.
Мажорная линия — отдельная граница доступа.
Подпись attestation (необязательно, точно)
Если есть тестовые доказательства, зависящие от учётных данных, подпишите их ключом активного устройства до плана публикации. Файл должен быть новым; существующий путь отклоняется.
ai-stp attestation sign \
--id <stable_id> \
--version 1.0 \
--check-id <check_id> \
--policy-version <policy> \
--tool-version <name>=<version> \
--harness-id <harness> \
--harness-version <version> \
--provider-version <version> \
--test-case-id <case> \
--result passed \
--output ./attestation.json \
--confirm \
--json
--result — passed или failed. --tool-version и --test-case-id можно
повторять. Имена инструментов, похожие на секрет, отклоняются.
Публикация выпущенного компонента
Повседневный путь:
ai-stp task start --intent publish --idempotency-key publish-session-01 --json
Expert leaves, если план уже открыт. Подтвердите точный hash, который вам показали. Если ответ confirm потерялся, это не второй confirm: сначала прочитайте status.
ai-stp publication plan \
--id <stable_id> \
--version 1.0 \
--attestation-file ./attestation.json \
--json
ai-stp publication status --plan-id <plan_id> --json
ai-stp publication confirm \
--plan-id <plan_id> \
--plan-hash <plan_hash> \
--confirm \
--json
--attestation-file повторяемый и необязательный. Создание плана само по себе
не публикует. Ошибка проверки не должна оставлять частично опубликованную
версию.
Извлечь embedded-компонент и опубликовать его
Expert recovery:
Компонент, который живёт только внутри сетапа, можно поднять в обычный план публикации:
ai-stp component publish \
--from-setup <setup_id> \
--setup-version 1.0 \
--component-id <component_id> \
--json
Команда материализует участника и создаёт обычный план публикации. Его
подтверждают через publication confirm, как выше.
Публикация сетапа и всех pin
Сетап не может стать публичным раньше своих точных pin. setup publish — это
набор: по одному плану на каждый ещё не публичный pin, затем план самого
сетапа. Уже публичные участники перечисляются и не планируются заново.
ai-stp setup publish plan --id <setup_id> --version 1.0 --json
ai-stp setup publish confirm --set-digest <set_digest> --confirm --json
Confirm идёт по участникам в порядке набора: сначала компоненты, затем сетап.
Отказ останавливает подтверждение и переводит набор в partial.
Опубликованные участники остаются опубликованными; повторный
setup publish plan помечает их как already published.
Если ответ confirm потерялся:
ai-stp publication status --plan-id <plan_id> --json
Не выдумывайте второй confirm, чтобы узнать исход.
Проверки
Публикация проходит проверку паспорта, формата, совместимости и доступности source. Обязательные safety-сканы, которые провалились или не запустились, блокируют публикацию. Что означает процент карточки: Проверки безопасности.
Жалобы
Проблемный объект можно пожаловаться из веба или CLI. Жалоба создаёт закрытый случай модерации, а не публичное обсуждение.
ai-stp report preview --kind component --id <id> --version 1.0 --content-digest sha256:... --json
ai-stp report confirm --plan-id <id> --plan-digest <digest> --confirm --json
ai-stp report list --json
Подробности: Жалобы.
Связанные страницы
- Авторство — как подготовить дерево.
- Публикация компонента — adopt, release, plan.
- Publication — attest, plan, confirm.
- Веб-публикация — подтвердить план, собранный CLI.
- Проверки безопасности — обязательные сканы, которые блокируют.
- Доверие и безопасность — происхождение — не безопасность.