Игорь смержил в main скрипты BurrBuild, залил SSH_PASSWORD в .env «чтобы Cloud видел», поставил cron на EXCALIBUR без ветки main и сразу включил BURRBUILD_BLOG_ALLOW_PUBLISH=yes. Первый run написал статью одним агентом без Mentor, на второй день снова взял B04 — research_start не зарезервировал тему. Ниже — как разделить рецепт в GitHub и ключи в Dashboard, прогнать preflight, собрать Automation с dry-run и только потом включить боевой publish на neuroalex.site.
TL;DR / Быстрый инсайт: Cloud Agent — удалённый ИИ на Ubuntu VM Cursor: клонирует git, ставит зависимости по .cursor/environment.json, секреты — только из Dashboard. Для cron Automations repo и ветку main указывают явно, иначе EXCALIBUR не подтянется. SSH и publish flag не коммитьте: dry-run с BURRBUILD_BLOG_ALLOW_PUBLISH=no, полный пайплайн — Директор + Task subagents + Mentor после каждого шага.
Владелец блога путает три слоя: что в GitHub, что в Secrets, почему один чат в Cloud снова публикует мусор или дубль темы. Проблема не в «слабом ИИ», а в конфиге: без ветки main и research_start пайплайн ломает ledger. MCP локально — в гайде B04; здесь — автопубликация в облаке. Неожиданный факт из Automations docs: для cron Cursor по умолчанию не подключает репозиторий — без EXCALIBUR + main агент не клонирует конфиг BurrBuild. Team follow-ups в settings позволяют коллеге через follow-up вывести чужие Secrets в лог — automation держите Private.
Разделите GitHub и Secrets: рецепт в git, ключи в Dashboard

GitHub — общая кухонная книга. Cursor Secrets — сейф с паролями. Cloud Agent клонирует repo и подставляет Secrets как env — как ${env:TOKEN} в mcp.json, только источник cursor.com/dashboard.
| Что | GitHub (main) | Только Secrets |
|---|---|---|
| Контент | memory/brief/, memory/topics/ | — |
| Пайплайн | scripts/burrbuild_*, AGENTS.md, .cursor/agents/, environment.json | — |
| SSH и WP | .env.example без значений | SSH_*, SSH_ROOT, PUBLIC_SITE_URL |
| Publish | site.env.local.example | BURRBUILD_BLOG_ALLOW_PUBLISH, WP_DEFAULT_CATEGORY_ID=3 |
| Обложки | shared/mcp-nano-banana-image-contract.md | VERTEX_AI_CREDENTIALS_JSON по runbook |
Типичная ошибка: SSH в .env с коммитом или скрин mcp.json с токеном в чат. В реальном проекте mattermost кладёт environment.json в git, пароли — в dashboard; repo-level config побеждает personal snapshot. Не коммитьте memory/site.env.local и handoff-файлы .cursor/burrbuild-blog-handoff.md — это рабочая склейка subagents в рантайме Cloud, не публичная история.
Для dry-run достаточно PUBLIC_SITE_URL и BURRBUILD_BLOG_ALLOW_PUBLISH=no. Боевой набор — SSH_HOST, SSH_PORT, SSH_USER, SSH_PASSWORD, SSH_ROOT (каталог с wp-load.php на Beget или аналоге), WP_DEFAULT_CATEGORY_ID=3 для категории «Чиним бардак!» на neuroalex.site. Vertex и MCP для обложек — по CURSOR-CLOUD-RUNBOOK, иначе cover-шаг вернёт blocker, а не placeholder-картинку.
Прогоните preflight: doctor, today и research_start

Три скрипта — дымовая сигнализация до cron. Без research_start today.py снова предложит вчерашнюю тему.
Схема preflight:
doctor (errors=0) → today (свободный Bxx) → research_start (ledger in_progress) → Директор + Task subagents
- doctor: python3 scripts/burrbuild_blog_doctor.py — errors=0; падает на битом VERTEX JSON.
- today: python3 scripts/burrbuild_blog_today.py — свободный P0, синхронизация ledger.
- research_start: python3 scripts/burrbuild_blog_research_start.py —topic-id Bxx — in_progress в shared/published-articles.md.
- ledger: занятая тема не в BURRBUILD_SUGGESTED_TOPIC_ID.
- brief: memory/brief/site-brief.md в main — тон и wp_category_id.
На практике пропуск research_start дороже часа дебага Automations: дубль B04 на сайте — не баг Cursor, а пустой ledger. Локально или в тестовом Cloud run прогоните тройку до errors=0 и ledger_reserved=true — только потом создавайте Automation на cursor.com/automations. Важно: убедитесь, что .cursor/environment.json в EXCALIBUR ставит pip install requirements.txt; doctor намеренно вне install — это preflight, не часть snapshot. Рекомендуем не делайте cron, пока today.py не показал свободный topic_id.
Подключите GitHub и Secrets под dry-run

Read-write GitHub App на EXCALIBUR. Минимум Secrets для dry-run: PUBLIC_SITE_URL и BURRBUILD_BLOG_ALLOW_PUBLISH=no. Боевой publish добавляет SSH_* , SSH_ROOT, WP_DEFAULT_CATEGORY_ID=3, Vertex по CURSOR-CLOUD-RUNBOOK. burrbuild_blog_wp_publish.py публикует только при yes.
«Failed to load environments» — сначала права GitHub App и merge main с AGENTS.md, потом эскалация в support (forum Cursor, июнь 2026). Отличайте баг dashboard от неправильной ветки. Если список repos обрезан — перелогиньтесь в cursor.com и проверьте, что EXCALIBUR не только read, а read-write для push артефактов после run.
Соберите Automation: EXCALIBUR, main, cron UTC
Scheduled trigger с Repository EXCALIBUR и Branch main. Cron в UTC; для Москвы — CRON_TZ=Europe/Moscow или сдвиг часов. Пример: 0 7,12 * * *. Automations всегда Max Mode — биллинг как cloud agent.
Промпт — Директор из AGENTS.md, не «напиши SEO-статью»:
Цепочка:
doctor + today + research_start → Mentor → Task research → writer → geo_qa → cover || schema → indexer → publish → Mentor summary. Single-agent запрещён.
Без Task subagents пропадут human-voice gate и mentor-run-summary.md. Parent не должен сам писать article.html или cover — это работа burrbuild-blog-writer и параллельных cover/schema Task. Mentor после каждого воркера — не опция: пропуск = блокер в CLOUD-AUTOMATION.md.
Changelog 3.7 (17 июня 2026): cloud setup меньше 10 минут, snapshot, handoff local/cloud через /in-cloud. Snapshot ускоряет pip, но не подменяет merge актуального main с blog-topics.md и scripts. RU-обзоры вроде shtruzel.ru рассказывают про Agent mode без WP publish, ledger и dry-run — наш utility-чеклист как раз закрывает этот gap.
Сначала dry-run, потом BURRBUILD_BLOG_ALLOW_PUBLISH=yes
Dry-run: publish=no. Ожидаем article.html, mentor-reports/, blocker или skip в wp-publish — без pass на live. Чек-лист: mentor-run-summary без пропусков, research-notes-gate и human-voice PASS, один in_progress на topic_id. Итог dry-run: вы получите артефакты статьи и сможете проверить gates до продакшена; лучше не стоит включать yes, пока итог не зелёный.
Боевой: yes в Secrets, повтор Automation на main. Проверьте wp-publish-result pass, shared/published-articles.md updated, live URL 200. Типичная ошибка — включить yes до проверки mentor-reports на dry-run: пост уходит на сайт с пропущенным geo_qa или без cover registry.
Rollback: снять пост в WP, вернуть ledger (не оставлять published на битой topic_id), разобрать mentor-reports — не «перезапустить cron». После инцидента снова publish=no до зелёного dry-run.
Как понять, что автопубликация работает
Критерии до FAQ — проверяемые артефакты, не «вроде ок». Сверьте каждый пункт вручную после первого боевого run — cron не прощает зелёного ощущения без wp-publish-result и строки в ledger. Запустите боевой cron только когда dry-run готов: результат — рабочая автопубликация на neuroalex.site.
- burrbuild_blog_doctor.py → errors=0
- dry-run до article.html без wp-publish pass
- Secrets: SSH + PUBLIC_SITE_URL; первый прогон publish=no
- боевой run: ledger, пост на сайте, mentor-run-summary.md в article_dir
Игорь после переноса секретов и dry-run закрыл B05 без дубля B04. Wordstat июнь 2026: cursor agent ~771/мес, cursor automations ~29/мес в РФ.
Automations под ваш процесс — neuroalex.site. Канон: CURSOR-CLOUD-RUNBOOK в репозитории EXCALIBUR, Cloud Agent setup, Automations docs.
Проверено автором: Алексей Доронин, эксперт по автоматизации бизнеса и ИИ (neuroalex.site).
Источники и дата: Cursor Cloud Agent, Automations, EXCALIBUR scripts на 2026-06-26; Вордстат — cursor agent 771, cursor automations 29, cursor cloud agents 21 показ/мес, РФ.
Частые вопросы
Чем Secrets отличаются от .env локально?
.env на Mac — для IDE, не коммитить. Cloud не видит .env, пока значения не в Dashboard. Automations берут SSH и publish flag только из Secrets; в git — .env.example с именами без значений.
Как не опубликовать одну тему дважды?
research_start до writer: in_progress в shared/published-articles.md. today.py не предложит занятую тему. Без шага cron снова возьмёт B04. Дедуп: published, in_progress и pass в wp-publish блокируют повтор.
Нужен ли self-hosted worker для Vertex cover?
Для BurrBuild — MCP nano-banana с Vertex в Secrets, не отдельный VPS. Self-hosted — если корпоративный запрет на облачный Vertex. Без MCP cover-агент вернёт IMAGE MCP BLOCKER.
Почему Automation запустилась, но статьи нет?
Чаще cron без Repository и Branch main — EXCALIBUR не клонирован. Реже — права GitHub App или старый main без AGENTS.md. Сверьте commit в логе run с локальным git pull.
Можно ли один Cloud Agent без subagents?
Один чат быстрее, качество — нет. AGENTS.md запрещает single-agent: без writer/geo_qa/cover и Mentor — сырой article.html и риск мусора на проде.
Как перевести cron на московское время?
Cron в UTC. CRON_TZ=Europe/Moscow в выражении или сдвиг часов. После смены — ручной test run и сверка timestamp в логе.
Что если первый боевой пост битый?
Rollback поста в WP, правка ledger, разбор mentor-reports. Верните publish=no, исправьте промпт, dry-run снова. Не включайте yes на cron без PASS gates.
