# Dev-agent handoff: FR24 / noisemap RTL-SDR ingest ## 1. Контекст Проект переходит от FR24-only прототипа к локальному ADS-B ingest-контуру на RTL-SDR. Нужно построить внутри одной VM: - Docker Compose стек - PostgreSQL + PostGIS - capture - preprocess - API / viewer - мониторинг по необходимости ## 2. Что должно быть сделано ### Основной объём работ - описать и реализовать Docker Compose стек - подготовить контейнер PostgreSQL/PostGIS - реализовать capture-контур приёма ADS-B - реализовать preprocess-контур нормализации и recovery - реализовать API для карты / noisemap - подготовить healthchecks - подготовить backup/restore процедуру - зафиксировать схему БД и индексы ### Что важно не забыть - raw retention = 3 дня - live + recovery + overlap - одна VM - один PostgreSQL - сырьё и core-данные разделены логически - код и схема БД должны быть компактными, без лишних слоёв ## 3. Ограничения ### Железо - CPU: до 6 vCPU - RAM: 10–12 GB - SSD: 80–100 GB ### Архитектурные ограничения - без лишних VM - без брокера очередей, если он не нужен по факту - без тяжёлой нормализации - без хранения сырья дольше согласованного retention без причины ### Что не трогать без отдельного решения - PVE-хост - текущий FR24/noisemap прототип как работающий артефакт - секреты и ключи ## 4. Источники правды Dev-агент должен читать: - `tasks/flightradar24/PROJECT.md` - `tasks/flightradar24/docs/ARCHITECTURE.md` - `tasks/flightradar24/docs/RTL-SDR_TZ.md` - `tasks/flightradar24/docs/VM_SETUP.md` - `tasks/flightradar24/prototype/docs/ARCHITECTURE.md` - `tasks/flightradar24/prototype/docs/NOISE_MODEL.md` ## 5. Нужный результат от Dev-агента ### Deliverables - `docker-compose.yml` - Dockerfile / образа для сервисов - SQL schema / migrations - capture service - preprocess service - API service - healthcheck endpoints - backup/restore notes - runtime README - test report with commands and outputs ### Acceptance criteria - VM + compose stack стартуют без ручной магии - RTL-SDR доступен контейнеру capture - raw-данные попадают в PostgreSQL - preprocess умеет добирать пропуски после сбоя - tracks / flights / points доступны для карты - PostGIS используется для геоданных - compose можно перезапустить без потери консистентности - smoke / integration / recovery tests documented and passed - all blockers for final hardware verification explicitly listed ## 6. Предпочтительный порядок реализации 1. Схема БД 2. Compose scaffold 3. PostgreSQL/PostGIS 4. capture 5. preprocess 6. API 7. recovery / overlap 8. backup / monitoring 9. документация ## 7. Рекомендуемый формат задания Dev-агенту Использовать один запуск с явным scope. ```text Прочитай: - tasks/flightradar24/PROJECT.md - tasks/flightradar24/docs/ARCHITECTURE.md - tasks/flightradar24/docs/RTL-SDR_TZ.md - tasks/flightradar24/docs/VM_SETUP.md Сделай: 1) Docker Compose стек для RTL-SDR ingest-контура 2) PostgreSQL + PostGIS 3) capture/preprocess/API сервисы 4) healthchecks 5) backup/restore notes 6) краткий отчёт по рискам и что ещё нужно от Славы Ограничения: - одна VM - raw retention 3 дня - live + recovery + overlap - компактная схема, без лишней сложности Верни: - список созданных файлов - список ключевых решений - список открытых вопросов ``` ## 8. Что считать успехом Dev-агент успешно передал работу, если после его первого прохода: - понятно, какие сервисы и как поднимаются - понятно, где жить данным - понятно, как восстанавливать отставание - понятно, что осталось уточнить перед запуском в прод