# План: тестовый запуск на реальных данных (AS62041) Источник: `docs/analysis-2026-09-21.md`, наблюдение 1 и риск 9 (изменения проверялись только на копиях и тестах). Цель - проверить миграцию боевых файлов и сбор по реальному внешнему источнику, ничего не меняя в исходных файлах проекта. ## Границы - **Исходные файлы не изменяются:** `config.json`, `data.json`, `fqdn_data.json` в каталоге проекта остаются как есть. Перед запуском снимается копия вне проекта и вне тома с контрольными суммами; после запуска суммы сверяются. - **Изолированный стенд:** отдельный проект Compose (`ripereal`), собственный том и порт 18000, временный `.env`; на хосте другие сервисы не затрагиваются. В том копируются **копии** файлов; конфигурация для теста - копия реальной с одним ASN (**AS62041**) и реальными FQDN. Реальные внешние запросы: один ASN в RIPEstat и DNS для трёх имён. - Стенд после проверки убирается (том, контейнеры, образ, `.env`); отчёт остаётся в `docs/`. ## Шаги 1. Копия исходных файлов и контрольные суммы; тесты в контейнере (базовая линия). 2. Перенос копий в том по описанию README, запуск `docker compose up -d`. 3. **Миграция:** база создана из `data.json` и `fqdn_data.json`, число значений по источникам совпадает с файлами, оригиналы в томе переименованы в `*.migrated-*`, схема версии 3, журнал и состояние источников пусты. 4. **До сбора:** `/health`, `/sources` (источники без попыток), `/addresses`, курсор `X-Changes-Cursor`. 5. **Сбор:** `POST /collect` (ASN и FQDN) по реальным источникам; `/sources` (успех, число адресов AS62041), `/health` `ok`, итог в логе. 6. **Diff на реальных данных:** `/addresses/diff` с курсором до сбора - что изменилось у AS62041 с момента файла `data.json`; проверка, что значения не настроенных источников остаются (стареют по TTL). 7. **Копия и восстановление:** ручной запуск задания `backup` (через расписание `POST /schedule`), затем намеренная порча базы в томе: восстановление из копии, данные на месте, `last_restore` в `/health`. 8. **Размеры и время:** размер базы и журнала, время ответов `/addresses` и `/addresses/diff?since=0`. 9. Уборка стенда, сверка сумм исходных файлов, отчёт `docs/summary-real-data-run.md`, обновление анализа. ## Критерии успеха Исходные файлы не изменены; миграция без потерь; сбор AS62041 успешен; diff и восстановление работают на реальных данных; ошибок в логах нет; стенд убран. ## Откат Стенд изолирован: достаточно `docker compose down -v` и удаления образа; исходные файлы проекта не затрагиваются.