diff --git a/MEMORY.md b/MEMORY.md index 870aaaf..c1f03b5 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -241,6 +241,7 @@ sessions_spawn( ## Интеграции - **Flightradar24 API** — тариф Explorer, 60K кредитов/мес (до 31.05.2026 промо 120K) + - FR24 API key (обновлён 24.04.2026): `019dbf18-3575-71d0-84eb-eb44606fbb63|QU3h8jqLPFyuo9qbQbPu9uoXVK42bTeclMuyRJ5Qb86ba0ea` - **GigaChat API** — через gpt2giga прокси - gpt2giga: `185.130.212.192:8443` (baseUrl в openclaw.json) - Xray VLESS outbound: `43.245.226.231:15281` (Франкфурт), UUID b8d92081-..., Reality+chrome, SNI google.com diff --git a/memory/2026-04-24.md b/memory/2026-04-24.md new file mode 100644 index 0000000..d945533 --- /dev/null +++ b/memory/2026-04-24.md @@ -0,0 +1,57 @@ +# 2026-04-24 — Memory Flush (pre-compaction) + +## FR24 Noisemap Project — состояние на 2026-04-21 + +### Что сделано +- DDL: `origin_icao`/`destination_icao` VARCHAR(5)→VARCHAR(20) в `flight_tracks_fa` +- `fa_worker.py`: `_icao_or_none()` фильтрует координаты +- `build_mart.py`: словарь `AIRLINE_IATA_TO_ICAO`, конвертация callsign, числовой матч по `ident_iata` +- Фикс `decimal.Decimal / float` → `float(alt_m)` в шумовой модели +- Витрина 19.04: 99 рейсов с треком (rtlsdr=92, fa=3, fr24=2) +- Создана таблица `fr24_ext.flight_actual` (DDL-миграция на VM) +- `FR24_API_KEY=MVM0hi4S7RRh7Dm4EOl1ShpDPc8CrmITXT2LY5y4dd84a62a` добавлен в `.env` на VM +- Пагинация flight-summary/full: цикл offset += 20 +- UI enrichment: `schedule.html` (13 колонок), `schedule.js`, `main.py` (LEFT JOIN на flight_actual) +- DDL-миграция schedule: `fr24_id`, `actual_takeoff`, `actual_landed`, `delay_*`, `flight_category`, `registration` +- Задеплоено через `docker cp` → fr24-api, fr24-tracks-fr24, fr24-mart + +### In Progress / Pending +- Загрузка FR24 flight-summary/full за 2026-04-20 (pid=1222822) — статус не подтверждён +- Яндекс backfill 06-19.04 — rate limit 429, статус сброса неизвестен + +### Open TODOs (на момент compaction) +1. DDL: добавить `orig_iata VARCHAR(5)` и `dest_iata VARCHAR(5)` в `fr24_ext.flight_actual` — ждёт окончания fr24_run3 +2. Задеплоить обновлённый `fr24_worker.py` в fr24-tracks-fr24 (с сохранением orig_iata/dest_iata) +3. Задеплоить обновлённый `main.py` в fr24-api (с fallback маршрута из FA IATA-кодов) +4. Обновить `routeStr()` в `schedule.js`: fallback на `fa_orig_iata`/`fa_dest_iata` (IATA → city lookup) +5. Добавить `conn.rollback()` в error handler `main.py` fr24-api (aborted transaction bug) +6. Проверить маппинг полей: FR24 API → `orig_icao` (не `origin_icao`), `reg` (не `registration`) +7. Яндекс backfill 06-19.04 (429 rate limit, ждёт сброса ~01:00 UTC) +8. Пересборка Docker образов (docker compose build) для устойчивого деплоя + +### Key Decisions +- **Приоритет маршрута в UI**: 1й — `thread_title` Яндекса, 2й — IATA-коды FR24 (`orig_iata`/`dest_iata`) через IATA_CITY +- **FR24 API поля**: `operating_as` (не `operated_as`), `orig_icao`, `orig_iata`, `dest_icao`, `dest_iata`, `reg` (не `registration`) +- **supplement_schedule()**: INSERT рейсов из flight_actual которых нет в Яндекс-расписании, source='fr24' +- **Деплой**: docker cp → docker restart (или compose up -d для пересборки из файлов на хосте) +- **Explorer лимит**: 20 записей/запрос, offset-пагинация работает; ~4500 кредитов/день за все рейсы + +### Инфраструктура +- VM: `fr24@192.168.2.67:22` via ProxyCommand `vpn-srv` → `185.130.212.192:3322` +- SSH key: `/home/node/.openclaw/ha_ssh_key` +- Postgres: host=`postgres`(172.18.0.2), dbname=`fr24`, user=`fr24`, password=`change-me` +- Compose: `/home/fr24/projects/fr24/compose/docker-compose.yml` +- Исходники на VM: `/home/fr24/projects/fr24/` +- Workspace: `/home/node/.openclaw/workspace/tasks/flightradar24/` +- Reports: `/home/node/.openclaw/workspace/tasks/flightradar24/reports/` +- FR24 credits: ~44 811 (промо до 31.05.2026) +- **FR24 API key (новый, 24.04.2026):** `019dbf18-3575-71d0-84eb-eb44606fbb63|QU3h8jqLPFyuo9qbQbPu9uoXVK42bTeclMuyRJ5Qb86ba0ea` +- Старый ключ: `MVM0hi4S7RRh7Dm4EOl1ShpDPc8CrmITXT2LY5y4dd84a62a` (деактивирован) +- Контейнеры: fr24-postgres, fr24-api(:8080), fr24-mart, fr24-tracks-fr24(:8001), fr24-tracks-fa, fr24-schedule, fr24-preprocess, fr24-capture, fr24-monitoring, fr24-backup + +### Файлы +- `fr24_worker.py`: `/home/node/.openclaw/workspace/tasks/flightradar24/ingest/tracks_fr24/fr24_worker.py` +- `main.py` (API): `/home/node/.openclaw/workspace/tasks/flightradar24/frontend/main.py` +- `schedule.js`: `/home/node/.openclaw/workspace/tasks/flightradar24/frontend/static/schedule.js` +- `schedule.html`: `/home/node/.openclaw/workspace/tasks/flightradar24/frontend/static/schedule.html` +- `build_mart.py`: `/home/node/.openclaw/workspace/tasks/flightradar24/ingest/mart/build_mart.py`