Дорожная карта#

Этапная карта развития reference runtime ../ioot-pro-cabinet. Этот документ отвечает на вопрос «какие фазы уже пройдены и какой этап утвержден следующим», в отличие от Доски задач, где видны детальные задачи внутри этапов.

Этап 0 — Базовая среда исполнения (выполнено)#

  • [x] Сформирован и стабилизирован reference runtime ../ioot-pro-cabinet.

  • [x] Реализованы базовые backend-модули, модульный реестр и install/uninstall.

  • [x] Реализованы контуры status (WS), demo (MQTT generator), pult, passkey, auth.

  • [x] Введен базовый набор unit/e2e проверок.

Этап 1 — Контракты и контексты#

  • [x] Реализовать app/context (tenant/master/role/feature_flags) с policy snapshot (permissions/capabilities/guards).

  • [x] Зафиксировать OpenAPI как source-of-truth и опубликовать Swagger UI в runtime.

  • [x] Расширить contract testing для ключевых endpoint-ов.

  • [x] Согласовать и внедрить сервисные endpoint-ы готовности.

Этап 2 — Декомпозиция runtime#

  • [x] Разложить frontend на модульные слои и сервисы.

  • [x] Формализовать permission-aware/navigation-aware runtime.

  • [x] Укрепить отказоустойчивость WS/MQTT и degraded mode.

Этап 3 — Безопасность и релизная дисциплина#

  • [x] Ввести production-контур JWT + RBAC.

  • [x] Закрыть аудит и security logging.

  • [x] Установить обязательную синхронизацию документации green-robot при изменениях changelog/runtime.

Этап 4 — Готовность tenant-master к production#

  • [x] Реализовать tenant-master sync с утвержденным whitelist.

  • [x] Подготовить эксплуатационные runbook и release package.

  • [x] Формализовать release gate и quality pipeline.

  • [x] Подготовить масштабирование и SLA/SLO как следующий отдельный рабочий этап.

Этап 5 — Productization shell (закрыт)#

  • [x] Перевести shell preferences и права меню на backend-driven persistence (auth/ui-preferences, auth/ui-access).

  • [x] Начать сервисную декомпозицию frontend-shell: вынести из App.vue базовые API-клиенты (auth, runtime bootstrap, ui-preferences, permissions, modules admin).

  • [x] Вынести feature-specific API-клиенты (status, passkey, pult, demo, отраслевые action/list`) в отдельные services/composables.

  • [x] Выделить composables для auth-flow, runtime bootstrap, module actions и route/fullscreen orchestration.

  • [x] Добавить export/import shell profile, pilot presets и acceptance smoke для shell permissions/persistence.

Этап 6 — Pilot Rollout & Scale Readiness (закрыт)#

  • [x] Подготовить bootstrap-package pilot-контура для cloud-multi и edge-single (modules_state, site-policy, shell-profile, порядок применения).

  • [x] Формализовать SLA/SLO и capacity profile для tenant/master, Postgres, NanoMQ и realtime/status path.

  • [x] Добавить exportable evidence bundle для sign-off (app/context, modules/list, site-policy, shell-profile, security-log).

  • [x] Автоматизировать rollback/restore drill pilot-контура и включить его в release gate.

Этап 7 — Pilot Execution & Operational Handover (закрыт)#

  • [x] Выполнить реальный pilot sign-off на целевом контуре (bootstrap apply, production smoke, evidence bundle, rollback/restore drill, архив площадки).

  • [x] Ввести retention и место хранения pilot-артефактов вне локального рабочего каталога.

  • [x] Добавить pilot observability и alerting для /ready, tenant-master-sync lag, status heartbeat, Postgres/NanoMQ.

  • [x] Подготовить promotion-path pilot -> production с checklist допуска и policy по версиям артефактов.

Этап 8 — Fleet Rollout & Operations Automation (закрыт)#

  • [x] Добавить cron/systemd templates и расписание для observability/retention jobs.

  • [x] Ввести rollout registry по площадкам и production waves.

  • [x] Подготовить operational incident handover package.

  • [x] Зафиксировать immutability policy для production package и связанных pilot artifacts.

Следующий этап#

  • Новый этап после Fleet Rollout & Operations Automation еще не утвержден.

  • Следующий backlog должен открываться отдельным решением, а не как продолжение закрытого этапа 8.