Перейти к содержанию

Перечень известных ограничений (R-DOC-6)

Честные границы продукта на 17.09.2026. Каждая строка: ограничение → почему → подтверждение → что нужно, чтобы снять.


1. ТТХ парка и нагрузок

Ограничение Почему Подтверждение Чтобы снять
Числа бортов и камер берутся только из fleet.yaml и payloads.yaml; правка YAML без перезапуска сервиса может не подхватиться Единый машиночитаемый источник правды для planner/gateway docs/task5/10-hardware/fleet.yaml, payloads.yaml; загрузка в planner Hot-reload справочников + тест «изменение YAML меняет расчёт»
Часть параметров сенсоров оценочные (тепловизор 801, EO 801, Sony RX1RM2); Riebo без геометрии В первоисточниках нет полных матриц/фокусных 10-hardware/05-payloads.md (../10-hardware/05-payloads.md), раздел «Допущения» Данные от производителя + бейдж «оценка» в UI и строка в отчёте валидатора
LiDAR и геофизика в выданном парке отсутствуют Матрица совместимости пуста для этих типов 05-payloads.md (../10-hardware/05-payloads.md); canCarry / G5-01 Носители в каталоге + модель ширины захвата не-камерных типов

2. Воздушное пространство

Ограничение Почему Подтверждение Чтобы снять
Зоны задаются статической геометрией сценария; нет NOTAM/СППИ ТЗ даёт полигоны на вход, не интеграцию с ЕС ОрВД 30-domain/06-airspace-ru.md (../30-domain/06-airspace-ru.md); проверки G1-01…G1-04 Импорт зон из внешнего источника + дата актуальности
Порог 150 м AGL (ФП-138) учтён как предупреждение G1-05, не как автоматический отказ API GSD может требовать > 150 м (PF1B, 3 см → ~153 м) validator/checks/g1_airspace.py (check_ivp_threshold); README task5 факт №9 Явная политика: блокировать vs предупреждать; согласование с заказчиком
Буфер от НФЗ и «разрешённое ВП» — геометрия без юридической валидации Сервис не юрист и не диспетчер G1-02, G1-04 Режим «только для планирования», не для подачи в СППИ

3. Модель ветра

Ограничение Почему Подтверждение Чтобы снять
Учитываются постоянный вектор ветра, путевая скорость по треугольнику скоростей, wind_max борта Упрощение из доменной модели 30-domain/05-energy-and-wind.md; G4-01…G4-03; planner/geometry/wind.py Порывы, сдвиг ветра по высоте, турбулентность
Нет температуры, плотности воздуха, влияния на тягу В ТТХ нет полной аэродинамики 05-energy-and-wind.md Расширенная энергомодель по типу БВС
Посадка «против ветра» заложена концептуально, не как отдельный оптимизатор посадочной схемы Наследие требований Planner 05-energy-and-wind.md § посадка Явные фазы захода на посадку в плане

4. Модель энергии и вылетов

Ограничение Почему Подтверждение Чтобы снять
Запас хода — аналитическая модель (время, резерв, оборот на ВПП), не телеметрия АКБ Нет данных реальных полётов G3-01…G3-03; planner нарезка sorties Калибровка по логам полётов
Сверка energy_used_frac (G3-04) чувствительна к округлению sorties Строгая сверка долей энергии На s01 после выравнивания модели: validator check 17.09.2026 → допущен Регрессия на s07/s10 и краевые sorties
endurance в fleet.yaml в минутах, в API — согласованные секунды; путаница единиц опасна Разные слои контракта fleet.yaml; API-CONTRACT Единый слой единиц в UI

5. Оптимизация и «VRP»

Ограничение Почему Подтверждение Чтобы снять
Назначение галсов — не полноценный multi-depot VRP Упрощение волны M1 balance_assign_transects для MAKESPAN и TOTAL_FLIGHT_TIME; MIP только для прочих Criterion OR-Tools VRP как в 30-domain/04-fleet-routing.md (../30-domain/04-fleet-routing.md)
Геометрия галсов (угол, нарезка, НФЗ) — отдельный этап pipeline, не «магия VRP» Декомпозиция CPP + assignment planner/pipeline.py; 92-code/05-python-core.md (../92-code/05-python-core.md) Документировать как фактическую архитектуру (R-DOC-2)
Лимит времени решателя → solver_time_limit и неполный план time_limit_s в API UnassignedReason.SOLVER_TIME_LIMIT Увеличение лимита + индикация в UI
Фронт в dev считает другим жадным решателем (@geoscan/domain) Исторический мок до API src/frontend/README.md § «мок»; domain/src/store.ts compute() Единый backend-only расчёт через POST /api/plans

6. LiDAR, геофизика, ЛАФС

Ограничение Почему Подтверждение Чтобы снять
Типы съёмки LiDAR/геофизика принимаются в схеме, борт не подбирается Нет носителя в парке R-IN-4 / R-X-4 в чеклисте; матрица в 05-payloads Носитель + формулы swath для не-камер
ЛАФС (линейная съёмка) в UI/ядре ориентированы на ПАФС-полигоны Приоритет хакатона — площадная съёмка 02-survey-types.md (../30-domain/02-survey-types.md) Полноценный corridor planner

7. Отказ борта и replan

Ограничение Почему Подтверждение Чтобы снять
В UI: локальный replan (replanWithout) — исключение борта из набора и пересчёт в браузере Мок до POST /api/plans/{id}/replan PlanScreen.tsx; store.ts replanWithout Реализация replan в gateway + planner
Нет учёта частично выполненных галсов с борта в полёте Нет телеметрии API-CONTRACT keep_completed? — контракт есть Состояние миссии с борта
Сценарии s09/s10 в таблице — ветки «отказ» для тестов, не продакшен-SLA Тестовый набор 70-plan/02-test-scenarios.md (../70-plan/02-test-scenarios.md) E2E replan на стенде

8. Масштабируемость и сценарии

Ограничение Почему Подтверждение Чтобы снять
Регрессия завязана на s01–s10 в src/backend/scenarios/ Validator-first метод uv run pytest -q --ignore=tests/integration (~196 тестов ядра); CLI s01 Нагрузочные тесты: N бортов, M км², время и память
s04-mixed-fleet: покрытие ~34 %, план формально допускается G6-01 — предупреждение, не блокер; много unassigned по endurance uv run python -m validator run --plans /tmp/plan-s04.json --scenario scenarios/s04-mixed-fleet.json → cover 0.340 Политика вердикта: fail при недоборе; доработка назначения смешанного парка
Время расчёта больших полигонов не гарантировано OR-Tools и нарезка зависят от числа галсов Нет SLA в коде Бенчмарки + time_limit_s в UI
Параллельные расчёты нескольких планов — ограничены очередью gateway QUEUE_FULL shared/src/errors/codes.ts Масштабирование planner, персистентная очередь

9. Рельеф, карта и офлайн

Ограничение Почему Подтверждение Чтобы снять
В UI dev рельеф — аналитическая функция terrain.ts, не DEM Нет PMTiles в контуре src/frontend/README.md Офлайн DEM (см. docs/task5/TODO.md, MAP-08)
Подложка карты в dev — упрощённая; без интернета демо карты ограничено Закрытый контур хакатона 92-code/03-map-and-3d.md (../92-code/03-map-and-3d.md) Вендорённые PMTiles в compose-образе
G2-04 (запас над рельефом) на бэкенде зависит от модели высот в сценарии Нет глобального DEM в ядре validator/checks/g2_altitude.py Единый DEM pipeline с фронтом

10. Хранение, API и безопасность

Ограничение Почему Подтверждение Чтобы снять
Планы в gateway могут храниться в памяти при наличии SQL-миграций Незавершённый пакет persistence 93-review/00-checklist.md Postgres repository + тесты
Идемпотентность Idempotency-Key — в схеме/SQL, не в коде plans Волна M1 93-review Реализация в gateway-data
Нет аутентификации; любой в tailnet/локально может считать планы Демо-контур Нет login в App.tsx; NFR-25 Auth + NetworkPolicy (см. 92-code/09-security.md)
Часть маршрутов API из контракта ещё не в gateway (/api/scenarios, SSE, export, replan) Состояние 16.09 93-review R-DOC-4; API-CONTRACT Пакеты gateway-api, frontend-api
docker compose up end-to-end не гарантирован с первого раза Зависимость от готовности Postgres, пути каталогов в образе 02-quickstart.md § Docker; приёмка 96-acceptance/ Стабильный smoke + health gating

11. Сверка с реальным полётом

Ограничение Почему Подтверждение Чтобы снять
План не сравнивался с фактическими траекториями БВС Геоскан Нет лётных данных в репозитории Метод validator-first: геометрия + контрольные числа s01–s10 Пилотные полёты, PPK-треки
Экспорт KML/GeoJSON не проходил полный цикл загрузки в Planner на всех сценариях Ручная приёмка не завершена 40-formats/01-kml-geojson.md (../40-formats/01-kml-geojson.md) приёмочный тест Чеклист импорта на стенде заказчика

12. Документация и UI-валидатор

Ограничение Почему Подтверждение Чтобы снять
Отчёт на /validator в браузере — 24 проверки в другой группировке, не клон G1–G6 Два независимых счётчика (мок vs Python) domain/validation.ts vs validator/checks/g*.py Один источник: POST /api/validate
npm run verify на фронте может расходиться с контрольным By @ GSD 3 см Регресс формулы в tools Вывод 16.09.2026 в quickstart Починить tools/verify или обновить эталон

Документ дополняется по мере закрытия пунктов волны M1; не дублирует зафиксированные аудиты в docs/task5/93-review/.