Profile-driven cabinet
Новый кабинет MaxProject для работы с GitHub-репозиториями без GitHub Desktop
T040 поднимает deployable Next.js skeleton для `cabinet.maxproject.pro`: отдельный app router, общий визуальный язык с `advocate-app` и подготовленный контур для auth, project selection и profile-driven UI.
Deploy readiness
Минимальный каркас для реального запуска
- Домен
- cabinet.maxproject.pro
- Текущая цель
- T040
- Основа
- Next.js 14 App Router
- Референс UI
- apps/advocate-app
Ограничения соблюдены
`apps/advocate-app`, `specs/003` и `specs/108` не меняются. Здесь только независимый skeleton под новый домен.
Foundation layer
Что уже можно опереть на существующий слой
Server session
Основа для httpOnly-сессии и выбора активного проекта уже спроектирована в lib/session.ts.
GitHub policy layer
Правила разрешенных путей, commit-план и server-only GitHub access уже зафиксированы.
Role-aware access
user/admin разграничены в foundation-слое без изменений доменной логики workers.
Worker status adapter
Скелет синхронизации ingestion и legal-worker статусов готов для следующих задач.
Infra status
- nginx-конфиг для cabinet.maxproject.pro уже в repo
- systemd unit для cabinet-app уже в repo
- TLS-сертификат на VPS уже выпущен
- Следующий инфраструктурный шаг после T040: вернуться к T024 smoke-check
Ближайший implementation queue
- T041: auth routes и интеграция workflow
- T042: реальная server-side session
- T043: выбор проекта
- T044-T045: advanced mode и базовый рабочий экран