Доска задач#
Published/reference слой по истории runtime-пакетов ../ioot-pro-cabinet.
Актуальная repo-level очередь green-robot больше не ведется здесь: канонический task-entrypoint вынесен в корневой TASKS.md. Этот файл оставлен как reference history по уже закрытым runtime-phase и published sync.
0) Базовая синхронизация (выполнено/в процессе)#
[x] Зафиксированы уровни системы по модели: Field Device / Local Controller / Tenant Cloud / Master Cloud / Client Applications.
[x] Зафиксирован единый API-контракт
/api/v1/<resource>/list+/scheme.[x] Введен
docs/backend_contracts.mdкак общая договоренность по маршрутам, параметрам и envelope.[x] Сохранён backend-driven подход в UI-каркасе (
sidebar,RouteContent-модель и модульные карточки в плане разработки).[x] Подтверждено правило документационной дисциплины (обновление docs и связей при изменениях структуры).
1) Backend — контрактно-ориентированная платформа#
[x] Текущие endpoint-ы (
health,modules/list,modules/scheme,modules/database/list,modules/permissions/list,modules/commands/install,modules/commands/uninstall,status/list,status/stream,passkeys/scheme,passkeys/list,passkeys/commands/issue,passkeys/commands/revoke).[x] Реализован модульный runtime-реестр с install/uninstall, зависимостями и persistent state.
[x] Добавлено модульное управление моделью БД и правами (
modules/database/list,modules/permissions/list).[x] Реализован модуль
passkey(QR/RFID) с backend plugin и модульными тестами.[x] Реализован вход по
passkey(auth/passkey/commands/start|commands/complete|status,auth/me,auth/commands/logout) и API middlewareauth_required.[x] Реализовано редактирование role/action прав модулей (
modules/permissions/commands/update) и UI-матрица прав через шестеренку в карточках модулей.[x] Расширить API до:
[x]
GET /api/v1/modules/scheme— добавлена поддержка отраслевых метаданных.[x]
GET /api/v1/app/context.[x] Базовые CRUD-ресурсы по таблицам/формам.
[x] Ввести мета-инфраструктуру ответа (
meta.request_id,meta.timestamp).[x] Добавить OpenAPI спецификацию как source-of-truth.
[x] Реализовать
tenant-masterконтур обмена через whitelisted служебные события и статусы.
2) Frontend — shell и динамическая навигация#
[x] Разложить
App.vueна модули: layout, widgets, services, stores (вынесеныcomponents/layout/AppSidebar.vue,components/layout/AppTopbar.vue,components/widgets/AuthMethodOption.vue,services/ui-persistence,services/runtime-cache,services/ui-guards,services/module-permissionsиstores/ui-keys).[x] Реализовать
RouteContent-runtime поmodule_viewизmodules/scheme.[x] Базовый sidebar/карточный интерфейс уже присутствует в каркасе.
[x] Добавлен frontend-реестр модулей (
src/modules/<module>/manifest.js,src/modules/registry.js) и синхронизация dashboard с install state.[x] Для
poultryреализован workspace dashboard:[x]
cloud/tenant— summary/KPI dashboard с переходом в submodule details;[x]
edge-single— fullscreen cards-dashboard для 10» с теми же KPI и быстрым переходом в submodule details.
[x] Добавлена карточка
Ключи доступа(Passkey): фильтры, выпускQR/RFID, отзыв ключа, полноэкранная поддержка.[x] Режимы
table/cards/map/fullscreenсняты из scope (не требуются в новом интерфейсе).[x] Прописать role/mode-aware UI-гварды и permission-маршрутизацию.
[x] Поддержать degraded mode при частичной недоступности API.
[x] Добавлены role-gated burger-меню, быстрые topbar-кнопки закрепленных модулей и синхронный drag-and-drop порядок между sidebar и dashboard.
[x] Добавлено backend persistence для
theme,dashboard layoutиquick modulesс локальным fallback-кешем.
3) Компоненты общего/общеконтурного уровня#
[x] Модуль
alarms(общий для tenant/master).[x] Модуль
tasksс жизненным циклом.[x] Модуль
auditдля истории действий.[x] Модуль
devices/telemetryс фильтрами и KPI.
4) Tenant-профиль#
[x] Tenant-профиль (мониторинг, infobar/история, базовые операции) снят из scope для нового интерфейса.
5) Master-профиль#
[x] Подписки и SLA-профили.
[x] Политики и ограничения версий.
[x] Централизованная аналитика (агрегированные метрики).
[x] Управление синхронизацией tenant <-> master.
6) Безопасность и качество#
[x] JWT + RBAC для role-based границ master/tenant.
[x] Permission matrix для UI и API-операций.
[x] Security логирование auth/action.
[x] Добавлены module-level тесты: backend definition/plugin tests, frontend manifest tests, e2e сценарии установки/деинсталляции модулей.
[x] Добавлены backend-тесты модульной модели БД и прав (manager + modulemanager plugin).
[x] Добавлены backend-тесты auth middleware и login-flow по passkey.
[x] Contract tests (api), smoke-тесты, i18n-проверки, линт/билд (добавлены swine contract tests,
scripts/smoke-check.sh,frontend-vue/scripts/check-i18n.mjs, проверены frontend test/build).
7) Отраслевые контуры#
[x] Создан раздел
docs/industriesдля изолированных отраслевых пакетов.[x] Инициализирован первый пакет
poultryна основе источников../poultry-module.[x] D-005: определен следующий отраслевой приоритет
meliorationи инициализирован пакет.[x] Утвердить решения из
docs/industries/decisions.md.[x] Реализовать
industry dispatcherв runtime и добавить отраслевые модули через общий реестр.[x] Реализован MVP backend API для
melioration(scheme|list+ control-modeA/B/Cи деградацияC -> B/A).[x] Реализованы ingest endpoint-ы
melioration(machine/drip/soil/weather) и runtime reconciliation осадков по D-008 policy.[x] Добавлены frontend manifests и карточки
melioration-*с загрузкой отраслевых данных.[x] Добавлено frontend-представление долей источников воды для
melioration-field.[x] Реализован profile-service нормативов (D-003): YAML export/import, versioning и rollback.
[x] Реализован отраслевой
industry alarm-bus(D-004) с bridge вstatus, mapping severity иcorrelation_idтрассировкой.[x] Формализованы ключи изоляции (
tenant_id,industry_code,site_id) в отраслевых API.[x] Добавлены отраслевые границы permission-модели по
industry_codeвmodules/permissions.[x] Добавлена policy частичной активации модулей на уровне площадки (
modules/site-policy, фильтрация поsite_id).[x] Реализован
cross-industry access auditвmodules/access-audit(scheme/list) с фиксациейallow/denyрешений по отраслевым границам.[x] Зафиксирована и автоматизирована policy версионирования отраслевых модулей (
MAJOR.MINOR.PATCH, единая major-линия в отрасли).[x] Подготовлены шаблоны для запуска новой отрасли:
KPI/alarmsиadapter profile(docs/industries/_template/*).[x] Для poultry зафиксированы нормативные диапазоны/обязательные KPI и MVP API (
docs/industries/poultry/norms-kpi.md,docs/industries/poultry/mvp-api.md).[x] Подготовлен план E2E сценариев poultry-кейсов (
docs/industries/poultry/e2e-scenarios.md).[x] Определить и подготовить следующую отрасль после
melioration->swine(инициализирован пакетdocs/industries/swine).[x] Реализован swine backend MVP:
scheme|list|ingest/commands+ contractsswinecontract/swinestatuscontractи bridgeswine-biosecurity -> status.
Ближайшие 2 спринта (приоритет)#
[x] Углубить
appContextи policy-гварды (tenant/master,role,feature_flags) в UI/API.[x]
Sidebar -> Content -> Infobarruntime + каталог модулей с backend-driven обогащением.[x]
status/streamи resilient-клиенты WS/MQTT.[x] OpenAPI + contract tests.
[x] JWT + базовый RBAC и тестирование smoke-пути.
Этап — Production Delivery (закрыт)#
[x] Ввести
readiness/liveendpoints и диагностический runtime snapshot (dependencies,deployment_mode,industry,modules_state).[x] Добавить валидацию
status/list(limit,offset,sort,severity,status,source) и heartbeat/keepalive метки для операционного контура.[x] Собрать локальный CI-цикл:
lint + test + build + contract + smoke + release checklist.[x] Подготовить нагрузочные и интеграционные проверки
tenant <-> masterи описать production runbook/deployment package.[x] Усилить tenant-isolation: распространить scope-гварды на
industry/melioration/poultry/swineruntime и валидироватьtenant_id/target_tenant_idв query и JSON body.[x] Зафиксировать эксплуатационные критерии приемки и release gate.
[x] Перевести production-critical runtime state (
modules/auth/site-policy/status) на shared persistence/migration layer и убрать runtime DDL/JSON default path из production baseline.
Этап — Shell Productization (закрыт)#
[x] Перевести shell preferences и shell rights на backend-driven persistence (
auth/ui-preferences,auth/ui-access) с локальным fallback.[x] Начать сервисную декомпозицию shell и вынести из
App.vueбазовые API-клиенты (auth,runtime bootstrap,ui-preferences,permissions,modules admin).[x] Вынести feature-specific frontend API clients (
status,passkey,pult,demo, отраслевые action/list`) в отдельные services/composables.[x] Сократить orchestration-слой
App.vue: выделить composables для auth-flow, runtime bootstrap, fullscreen/route state и module actions.[x] Добавить переносимость shell-конфигурации между tenant/site: export/import профиля (
theme,dashboard layout,quick modules,ui-access) и версионность изменений.[x] Подготовить pilot shell presets для
cloud-multiиedge-single, а также acceptance smoke на shell-права, quick modules и persistence.
Этап — Pilot Rollout & Scale Readiness (закрыт)#
[x] Подготовить bootstrap-package pilot-контура:
scripts/pilot-bootstrap.py, preset-артефактыpilot-bootstrap-cloud-multi.json/pilot-bootstrap-edge-single.json, importmodules_state/site-policy/shell-profileи воспроизводимый сценарий развертывания.[x] Формализовать SLA/SLO и масштабирование
tenant/master: подготовленdocs/process/pilot_scale_profile.mdс capacity profile, hard limitsPostgres/NanoMQ-зависимостей, degraded thresholds и recovery criteria.[x] Добавить export evidence bundle для pilot handover:
scripts/pilot-evidence-bundle.pyиdocs/process/pilot_evidence_bundle.mdсобираютapp/context,ready,modules,module state,site-policy,shell-profile,security-log.[x] Автоматизировать rollback/restore drill для pilot-контуров:
scripts/pilot-rollback-drill.pyэкспортирует baseline, применяет target package, собирает evidence bundle, восстанавливает baseline и включен в release gate как обязательный sign-off.
Этап — Pilot Execution & Operational Handover (закрыт)#
[x] Выполнить реальный pilot sign-off на целевом контуре: добавлены
scripts/pilot-signoff.pyиdocs/process/pilot_signoff.md, которые собираютbootstrap apply,production smoke,evidence bundle,rollback/restore drillи архив артефактов площадки.[x] Ввести хранение и ретеншн pilot-артефактов (
bootstrap package,evidence bundle,rollback drill) вне локального рабочего каталога: добавленыscripts/pilot-artifact-retention.pyиdocs/process/pilot_artifact_retention.mdс внешнимarchive-root,index.json,record.jsonи retention prune.[x] Добавить pilot observability для SLO: реализованы
GET /api/v1/operability/pilot-summary,scripts/pilot-observability-check.pyи process-docdocs/process/pilot_observability.mdдля/ready,tenant-master-sync lag,status heartbeat, optional depsPostgres/NanoMQ.[x] Подготовить promotion-path
pilot -> production: добавленыscripts/pilot-promotion-check.pyиdocs/process/pilot_promotion_path.mdс checklist различий контура, policy по версиям артефактов и критериями допуска к production rollout.
Этап — Fleet Rollout & Operations Automation (закрыт)#
[x] Добавить автоматическое расписание observability/retention jobs: добавлены
ops/systemd/*,ops/cron/pilot-operations.example.cronиdocs/process/fleet_operations_schedule.md.[x] Ввести wave-based rollout registry по площадкам: добавлены
scripts/fleet-rollout-registry.py,docs/process/fleet_rollout_registry.mdи sample-schemadocs/process/presets/fleet-rollout-registry.sample.json.[x] Добавить operational incident handover package: добавлены
scripts/incident-handover-package.pyиdocs/process/incident_handover_package.md.[x] Зафиксировать immutability policy для production package: добавлены
scripts/package-immutability-check.py,docs/process/package_immutability_policy.mdи sample-manifestdocs/process/presets/production-package-manifest.sample.json.
Отложенные задачи по каталогу приборов IOOT PRO#
Актуальный открытый published catalog debt перенесен в корневой
TASKS.md.