# Frontend roadmap ## 1. Назначение документа Этот документ фиксирует оставшийся фронтенд-backlog после уже выполненных крупных cleanup и refactoring slices. Он заменяет старые review-документы и должен использоваться вместе с `TASKS.md`. ## 2. Что уже считается закрытым Выполненными считаются следующие большие треки: - базовая локализация и plural rules; - XSS hardening основных dynamic render paths; - template safety cleanup; - CSS state cleanup; - frontend build pipeline; - wizard modularization; - базовая frontend observability and testability; - websocket test-run polish; - command palette removal; - settings honesty initial pass. ## 3. Что остается актуальным ### 3.1. Product gating by edition UI должен честно отражать различия редакций: - Community не должен показывать доступные к настройке `WebSocket`, `SOAP`, `gRPC streaming`, если они не входят в открытую поставку; - `security_level = elevated` и `security_level = strict` не должны выглядеть рабочими в Community; - multi-user и enterprise controls должны скрываться или отображаться как capability-locked. Основные файлы: - `apps/ui/js/wizard.js` - `apps/ui/js/operations.js` - `apps/ui/js/agents.js` - `apps/ui/js/api-keys.js` - `apps/ui/js/settings.js` - `apps/ui/js/i18n.js` ### 3.2. Agent key UX После перехода от platform/workspace keys к agent keys UI должен быть доведен до продуктового состояния: - список ключей должен уметь показывать привязку к AI-агенту; - модалка создания ключа должна позволять выбрать режим и область применения; - copy должен объяснять, зачем нужен agent-scoped key и чем он отличается от будущих токенных режимов. Основные файлы: - `apps/ui/js/api-keys.js` - `apps/ui/js/agents.js` - `apps/ui/html/api-keys.html` - `apps/ui/html/agents.html` - `apps/ui/js/i18n.js` ### 3.3. Mobile-first restructuring for data-heavy pages На мобильных экранах нужно убрать desktop-table anti-pattern для: - `API Keys` - `Secrets` - `Usage` - частично `Agents` Целевой подход: - карточки вместо широких таблиц; - постоянная видимость primary actions; - отсутствие скрытого горизонтального скролла как обязательного пути. Основные файлы: - `apps/ui/js/api-keys.js` - `apps/ui/js/secrets.js` - `apps/ui/js/usage.js` - `apps/ui/js/agents.js` - `apps/ui/css/*` ### 3.4. Workspace and settings polish Остаются открытые UI/UX-проблемы: - глобальная терминология `workspace` против `пространство`; - структура `Account Settings`; - честное состояние раздела `Notifications`; - mobile navigation overlap / sticky bug; - выравнивание dropdown и workspace switcher behavior. Основные файлы: - `apps/ui/js/settings.js` - `apps/ui/js/workspace-setup.js` - `apps/ui/js/auth.js` - `apps/ui/index.html` - `apps/ui/css/*` ### 3.5. Agent creation and operations wizard clarity Нужно добить: - copy для причин существования отдельных agent endpoints; - empty states без багов с пустыми запросами; - пояснения вокруг `slug`; - более явное описание security level на операции; - capability-based hiding недоступных протоколов и execution modes. Основные файлы: - `apps/ui/js/agents.js` - `apps/ui/js/wizard.js` - `apps/ui/js/wizard-live.js` - `apps/ui/js/wizard-model.js` - `apps/ui/js/i18n.js` ## 4. Глобальные правила для UI - никакой developer-facing copy в пользовательском интерфейсе; - capability-locked функция либо скрыта, либо помечена честно; - мобильная версия не должна требовать обязательного горизонтального скролла для primary actions; - действия создания должны жить в одном месте и не дублироваться в пустом состоянии без причины; - все новые user-facing строки должны обновляться одновременно в `EN` и `RU`. ## 5. Правила приемки Frontend-задача считается закрытой только если: - измененный UI соответствует capability model редакции; - строка есть в `EN` и `RU`; - мобильный сценарий проверен вручную или через e2e; - не остались старые product contradictions в copy.