# 2026-04-20 — Дневник

## Проект: FR24 / Noisemap — Фаза 2, Шаг 2

### БТ финализировано
- Файл: `tasks/flightradar24/docs/PHASE2_STEP2_DATA_MART.md`
- FR24 API: `Flight tracks`, 40 кредитов/рейс, только по команде, T-1, SVO/DME/VKO/ZIA
- FlightAware AeroAPI: только треки, ключ `7qMijd3b3gVudezng3eVhKtup8iKFr75` сохранён в `.env` как `FLIGHTAWARE_API_KEY`
- Витрина `fr24_mart`: приоритет RTL-SDR > FR24 > FlightAware, источник в каждой записи
- Шумовая модель: из прототипа, зоны 2/5/7/9 км (граница "Низкий" изменена 11→9 км)
- Отложено: цена FlightAware Standard, глубина исторической загрузки FR24

### FlightAware — тестирование ключа
- Ключ `7qMijd3b3gVudezng3eVhKtup8iKFr75` протестирован и работает
- Трек AFL245 (Сейшелы→Москва): 401 точка, 8+ часов, богатые метаданные
- Тариф Personal: 500 запросов/мес бесплатно = ~250 рейсов/мес (2 запроса на рейс)
- Бонус: фактические времена взлёта/посадки + задержки из `/flights/{ident}`
- Ключ сохранён в `.env` на VM как `FLIGHTAWARE_API_KEY`

### Dev-агент — реализация (7м53с, 1.7M токенов)
Создано 21 файл, изменено 2:
- `db/init/005_schema_tracks.sql` — 8 таблиц (fr24_ext + fr24_mart)
- `ingest/tracks_fr24/` — воркер FR24 треков (порт 8001), throttling 6 сек/запрос
- `ingest/tracks_fa/` — воркер FlightAware треков (порт 8002)
- `ingest/mart/` — воркер витрины + шумовая модель, noise_grid по round(lat,2)
- `frontend/static/data_sources.html` + `data_sources.js`
- `docker-compose.yml` — 3 новых сервиса
- `frontend/main.py` — `/data-sources` + 5 API эндпоинтов

### Деплой на VM (fr24, 192.168.2.67)
- DDL `005_schema_tracks.sql` применён через `docker exec fr24-postgres psql`
- Контейнеры `fr24-tracks-fr24` (8001), `fr24-tracks-fa` (8002), `fr24-mart` — собраны и запущены, все healthy
- Обнаружена ошибка в `main.py` (frontend): колонка `flight_date` vs `coverage_date` в `fr24_mart.source_coverage`
- Фикс задеплоен, api пересобран

### Открытые задачи на завтра
- Проверить `/data-sources` страницу после фикса
- Запустить backfill Яндекса (21:00 UTC rate limit сброс)
- Проверить noise_model.py — граница "Низкий" 7-9 км (изменена сегодня)
- Уточнить цену FlightAware Standard тарифа
