К содержимому

Публикация на сайте

Подтвердить план публикации в браузере.

Публикация на сайте

План публикации собирается в CLI. Сайт показывает этот неизменяемый план и, когда состояние ready, даёт подтвердить точный plan_hash. Браузер не строит паспорта, не гоняет сканеры и не пакует артефакты.

URL и кто их видит

ПроекцияURLКому видно
Human/{locale}/publications/{plan_id}вошедшему владельцу
Machine/{locale}/ai/publications/{plan_id}та же сессия

Индекса публикаций нет. Сюда попадают:

  • со страницы версии Объектов — Открыть план публикации или Начать публикацию;
  • из CLI, который печатает веб-ссылку (link web или payload плана).

Нет сессии → login с returnTo на этот план. 404/403 → План публикации не найден или недоступен. без уточнения, что именно. Онбординг pending → сначала онбординг.

Зачем этот экран

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

CLI создаёт план, подписывает attestation evidence и опрашивает статус из скрипта.

Страница не:

  • правит паспорт;
  • меняет дайджест;
  • передаёт experimental consent установщикам;
  • публикует «что сейчас в рабочем дереве».

Подтверждение окончательно для этого plan_hash. Consent сам не передаётся.

Что на экране

Подзаголовок: Проверьте план публикации перед подтверждением. Браузер паспорта не собирает.

ПолеПодписьСмысл
СостояниеСостояниесостояние плана на сервере
ОбъектОбъектobject_kind / stable_id / version
Content digestContent digestпубликуемые байты
Plan hashPlan hashзначение, к которому привязывает confirm
Версия политикиВерсия политикизакрепление политики публикации
ИстекаетИстекаетexpires_at
ЭффектыЭффектызаявленные эффекты или тире

Строки evidence (если есть): check_id плюс result · source.

Когда state === "ready" и есть CSRF: Подтвердить публикацию с предупреждением выше. Пока ждёт: Подтверждение…. После успеха может появиться mutation reference; страница затем обновляется в состояние не-ready.

Иначе:

План в состоянии {state}. Подтверждение недоступно.

Human / Machine: machine publication печатает plan_id, plan_hash, policy_version, expires_at, effects, идентичность объекта. Confirm только human.

Совпадающие команды CLI

ai-stp task start --intent publish --idempotency-key publish-session-01 --json

Expert leaves, если план уже построен (status/confirm на этой странице):

ai-stp publication status --plan-id <plan_id> --json
ai-stp publication confirm --plan-id <plan_id> --plan-hash <plan_hash> --confirm --json
ai-stp attestation sign --json
ai-stp owner version show --json
ai-stp link web --json

publication plan (plan) создаёт неизменяемый серверный план для одной точной выпущенной версии компонента. publication status его читает. publication confirm (apply, explicit_flag) — близнец кнопки на этой странице. attestation sign (apply, explicit_flag) подписывает тестовые данные, зависящие от учётных данных, активным ключом устройства — в браузере этого нет.

Expert leaves публикации сетапа (просмотренный набор pin, затем сетап):

ai-stp setup publish plan --json
ai-stp setup publish confirm --json

Они подтверждают просмотренный набор: закреплённые компоненты, затем сетап. См. Команды сетапа.

Тупики

Что видноЧто это значитЧто делать
План публикации не найден или недоступен.плохой id или не вашеначните с Objects или publication status
Подтверждение недоступноstate ≠ ready или нет CSRFподождите / обновите; перелогиньтесь, если нет CSRF
Plan expiredexpires_at прошёлstart publish
Начать публикацию нет на Objectsнет устройства или не разрешенопривяжите CLI-устройство; start publish
Evidence пустойнет дополнительных строквсё равно читайте дайджест и хеш
Хотите поменять файлдля этого хеша уже поздноновая версия, новый план
Browser «build»не существуеттолько CLI

Не вставляйте plan_hash, attestation-подписи и ключи устройства в чат. Confirm привязывает хеш; утечка — не выдача, но привычка держать его как секрет всё равно верная.

Состояния, которые вы увидите

Кнопка confirm есть только у ready. Остальные состояния на сайте только для чтения:

НужноCLIСайт
Создать планpublication planНачать публикацию на странице версии
Смотретьpublication statusобновить этот URL
Подписать evidenceattestation signне предлагается
Подтвердить хешpublication confirmПодтвердить публикацию
Опубликовать набор сетапаsetup publish plan / confirmне эта форма URL

Если CLI и сайт оба подтверждают, второй вызов — no-op или отказ на уже израсходованном хеше — не кликайте дважды «на всякий случай». После одного confirm читайте publication status.

Machine-проекция — факты, которые агент должен цитировать: plan_id, plan_hash, дайджест, версия политики, срок. Confirm он нажимать не должен.

Связанные страницы

!!! note "Хеш или этого не было" Подтверждение без чтения plan_hash и content_digest — как публичная неверная версия. Кнопка — не «опубликовать latest».