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

Сетапы

Как ai_stp собирает полный сетап из точных версий компонентов.

Сетапы

Сетап — итоговая конфигурация одного харнесса. Он закрепляет точные версии компонентов и применяется только через public provider этого харнесса.

Как собирается сетап

Упрощённый путь:

кандидаты из каталога и локального реестра
→ механические фильтры
→ вопросы агента
→ подтверждение пользователя
→ setup graph
→ deterministic compiler
→ provider plan

Агент помогает выбрать состав, но не обходит проверки совместимости, доступа и безопасности.

ЭтапКто отвечаетЧто должно быть видно
Поиск кандидатовCLI и каталогисточник, версия, харнесс, trust line
Выбор составапользователь и agentпочему выбран каждый компонент
Проверка графасборщик сетапаконфликты, несовместимости, missing pieces
План примененияprovidertarget diff, backup, digest
Применениеproviderжурнал операции и status

Установка

Перед изменением target provider строит план, создаёт резервную копию и только после подтверждения применяет изменения.

Работающий агент не изменяет собственный активный target по месту. Новый сетап проверяется отдельно, а переключение выполняется после проверки.

Rollback

Если применение не удалось, восстановление идёт через provider и журнал операций. Не удаляйте резервные копии вручную до завершения восстановления.

Осознанный откат из снятой копии

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

Сначала копия:

$ ai-stp install plan --action backup --project <id> --harness <id> \
    --provider <exe> --provider-manifest <path> --protocol-version 3 \
    --target <dir> --json
$ ai-stp install approve --operation <id> --plan-digest <exact> --json
$ ai-stp install apply --operation <id> --provider <exe> --json

Позже копию не нужно помнить — её перечисляет отдельная команда:

ai-stp target backups --project <id> --harness <id> --json

Ответ содержит backup_ref, операцию, которая её сняла, и версию сетапа, установленную на тот момент. Дальше — обычные план, подтверждение и применение:

$ ai-stp install plan --action rollback --backup-ref <exact> \
    --provider <exe> --provider-manifest <path> --protocol-version 3 \
    --target <dir> --json
$ ai-stp install approve --operation <id> --plan-digest <exact> --json
$ ai-stp install apply --operation <id> --provider <exe> --json
$ ai-stp target status --project <id> --harness <id> --json

Три отличия, которые стоит держать в голове:

  • target rollback называет предыдущую подтверждённую версию и ничего не восстанавливает. Это ответ на «куда откатываться», а не «откатись»;
  • повторная установка прошлой версии через action=update — не то же самое, что восстановление: bundle не содержит файлов, которые вы не устанавливали, а копия их сохраняет;
  • восстановление возвращает цель целиком. Восстановить один компонент нельзя, и такой запрос отклоняется.

??? tip "Как думать о версии сетапа" Сетап — не папка с текущими файлами, а закреплённый состав. Если вы обновили один skill, отключили hook или поменяли setting, это уже новая версия сетапа.

ai_stp