От обращения человека до понятного следующего действия
M01
Система знает, что можно отвечать
У системы есть проверенные факты бизнеса и понятные границы ответа
N01
СОБРАТЬ
Проверь, что уже готово
Один существующий или новый workspace найден; status/current-state.json перечисляет проверенное и недостающее без secret values; повторная проверка не создаёт второй проект.
N02
РЕШИТЬ
Утверди факты и запреты ответа
Владелец своими словами утвердил предложение, допустимые ответы, запрещённые обещания и случаи передачи человеку; config/business.yaml хранит эти решения без secrets.
M02
Диалог работает до подключения Instagram
Локальный тест показывает уместный ответ, одно полезное уточнение и безопасную передачу человеку
N03
СОБРАТЬ
Собери ответы по утверждённым фактам
Пять разных тестов проходят; известное получает ответ по фактам, неполное - одно уточнение, неизвестное и рискованное - HANDOFF; status/dialog-tests.json показывает результат без данных клиентов.
N04
РЕШИТЬ
Утверди готовую заявку для человека
Владелец утвердил поля готовой заявки и один канал передачи; config/handoff.yaml и тест показывают одинаковый формат без лишних персональных данных.
M03
Instagram готов к официальному подключению
Professional Instagram и Meta app имеют только необходимые разрешения, а credentials хранятся безопасно
N05
СОБРАТЬ
Проверь Instagram и Meta app
status/meta-readiness.json подтверждает professional account, нужный Meta app и ровно необходимые permissions либо честно показывает один следующий недостающий шаг; secrets нигде не раскрыты.
N06
СДЕЛАТЬ В РЕАЛЬНОСТИ
Подключи credentials без утечки
Приложение видит необходимые credentials, их значения не появились в logs, screenshots или Git, а status/meta-credentials.json хранит только безопасные статусы.
M04
Webhooks принимают события Meta
Публичный HTTPS endpoint проходит проверку Meta и безопасно принимает comments и messages без повторной обработки
N07
СОБРАТЬ
Собери безопасный webhook
Тесты challenge, подписи и duplicate проходят; повтор одного события не запускает работу дважды; status/webhook-tests.json и публичный HTTPS callback URL без credentials готовы.
N08
СДЕЛАТЬ В РЕАЛЬНОСТИ
Подпиши app на comments и messages
Meta приняла callback, comments и messages подписаны, официальный test event появился в безопасном log один раз, подпись проверена.
M05
Комментарий становится диалогом и заявкой
Разрешённый комментарий получает один private reply, входящий ответ продолжается по правилам бизнеса и при необходимости передаётся человеку
N09
СОБРАТЬ
Соедини комментарий, Direct и передачу человеку
Integration tests доказывают: подходящий новый comment_id получает один private reply, остальные не получают спам, входящий Direct получает ответ или HANDOFF, duplicate не обрабатывается повторно.
N10
СДЕЛАТЬ В РЕАЛЬНОСТИ
Проверь путь с другого Instagram-аккаунта
Свежий комментарий аккаунта B вызвал один private reply, ответ B продолжил Direct, а безопасный log показывает уместный ответ или готовую передачу человеку без duplicate.
M06
Система готова к повторной проверке
Новый тест можно безопасно повторить, а итог доказывает всю способность от входящего комментария до готовой заявки
N11
СОБРАТЬ
Подготовь чистый повтор теста
Одна команда или runbook готовит новый тест, dry-run показывает только demo records, credentials и реальные данные не меняются, status/demo-ready.json содержит PASS.
N12
СДЕЛАТЬ В РЕАЛЬНОСТИ
Докажи работу всей системы на новом клиенте
Три согласованных скриншота с новым marker показывают: входящий комментарий, один private reply и продолжение Direct, затем доставленную человеку готовую заявку; ни один этап не подменён старым тестом или ручной записью в backend.
ЧТО НУЖНО НА СТАРТЕ
Проверь входные условия
Можно начинать без готовой рабочей папки и настроенного проекта - первый шаг проверит существующее и подготовит только недостающее
Можно начинать без Meta app, professional Instagram, webhook, server и API credentials - маршрут поможет подготовить недостающее
Login, CAPTCHA, 2FA, принятие условий, публикацию и выдачу разрешений человек выполняет или подтверждает сам
Для финальной проверки нужен второй Instagram-аккаунт, который может принадлежать тому же человеку
ДОКАЗАТЕЛЬСТВО РЕЗУЛЬТАТА
Финал виден не по последнему экрану
Новый комментарий запускает один разрешённый private reply, ответ клиента продолжает диалог в Direct, а итоговая заявка с контекстом видна человеку