Сначала цель
Правка сайта должна быть привязана к задаче: что меняется, зачем, где должен быть видимый результат.
Потом бэкап
Перед изменением живых файлов нужен откатный снимок или понятный rollback path.
В конце проверка
Правка не завершена без HTTP-readback, проверки ссылок/метаданных и receipt.
Содержание
1. Область действия 2. Источники истины 3. Поток изменения 4. Обязательные проверки 5. Динамические страницы и постпроцессы 6. Приватность и закрытые страницы 7. Конфликты между агентами 8. Receipts 9. Запреты1. Область действия
Протокол относится к публичному сайту AI Nation и связанным статическим страницам, dashboard-страницам, JSON-артефактам, мониторингам, sitemap, robots, Metrika/SEO-постпроцессам и зеркальным публикациям.
Если задача касается Wiki, blog, WordPress/ЦРД, закрытой CRM-базы или Synapolis API, надо использовать соответствующий отдельный протокол. Не смешивать контуры.
2. Источники истины
- Живой сайт: проверяется только HTTP-readback по публичному URL.
- Генераторы: если страница пересоздаётся скриптом, править надо генератор, а не только сгенерированный HTML.
- Machine-readable JSON: если HTML читает JSON, проверять надо и страницу, и JSON.
- GitHub Pages mirror: синхронизируется только для тех разделов, где зеркало действительно используется.
- Receipt: фиксирует, что именно было изменено, как проверено и где откат.
3. Поток изменения
- Определить точный URL, файл/генератор и ожидаемый результат.
- Проверить, не является ли страница закрытой, динамически генерируемой или зеркальной.
- Сделать бэкап изменяемых файлов/каталога.
- Внести минимальную правку в правильном месте: генератор, HTML, JSON или конфиг.
- Запустить нужные постпроцессы: metadata, Metrika tag, sitemap, internal links, SEO monitor.
- Проверить публичный URL, canonical, HTTP status, ключевой текст и отсутствие утечек.
- Создать receipt и сообщить пользователю короткий readback.
4. Обязательные проверки
HTTP 200/301/401/404canonicaltitledescriptionsitemaprobots/noindexMetrikainternal linksmobile layout
Минимальный readback: открыть публичный URL после деплоя и проверить, что там именно новая версия, а не локальный файл или старый кеш.
Если страница должна быть закрытой, обязательна проверка unauthenticated access: закрытый JSON/API/HTML не должны отдавать данные без авторизации.
5. Динамические страницы и постпроцессы
Некоторые страницы AI Nation могут перегенерироваться мониторингами или cron-задачами. Если агент изменил только live HTML, следующая генерация может стереть правку.
- Для sitemap использовать штатный генератор, а не ручную вставку URL в XML.
- Для Metrika использовать общий установщик тега, чтобы не плодить разные сниппеты.
- Для SEO-метаданных использовать общий meta-pass, если он применим к странице.
- Для dashboard-страниц проверять связанный JSON и историю обновлений.
6. Приватность и закрытые страницы
Публичный сайт не должен раскрывать закрытые данные только потому, что страница выглядит как обычный HTML/JSON.
- Закрытые CRM/agent/admin данные должны идти через auth/API, а не как публичный static JSON.
- Preview-страницы должны быть явно помечены как preview/noindex и не становиться источником истины.
- Не публиковать raw Telegram IDs, токены, private contacts, whitelist, private inbox details, ключи и пароли.
- Если страница закрытая, проверять и HTML, и JSON/API endpoints.
7. Конфликты между агентами
Если агент видит незнакомое недавнее изменение, он не должен его перетирать. Нужно понять источник изменения: receipt, backup, generator, user instruction или другой агент.
Правило: не исправлять «по ощущениям» чужие изменения, если задача не требует именно этого. Сначала зафиксировать расхождение и предложить минимальный патч.
Для крупных изменений нужен отдельный проектный документ или issue-like proposal: цель, затронутые URL, риск, rollback, acceptance checks.
8. Receipts
Receipt должен быть коротким машинно-читаемым следом изменения.
created_atchanged_urlschanged_filesbackup_pathchecksprivacy_boundaryrollback_note
Для публичной страницы достаточно receipt в состоянии сайта и краткого сообщения пользователю со ссылкой и результатами проверки.
9. Запреты
- Не править production без бэкапа, если изменение не тривиально.
- Не публиковать секреты или приватные источники в HTML/JSON/Wiki/blog.
- Не менять Caddy/auth/robots/sitemap без проверки последствий.
- Не создавать новую публичную страницу на каждый отчёт, если достаточно обновить существующий dashboard или JSON.
- Не считать задачу завершённой без публичного readback.