Готовность платформы
Зачем нужно
Документ задаёт критерии готовности платформенного слоя. Платформа считается готовой, когда любой из 7 доменов можно реализовать без изобретения собственных конвенций.
Чек-лист готовности
Стек и окружение
- стек объявлен в
tech-stack.md; - монорепо настроено: pnpm workspaces, общие пакеты;
- dev-окружение поднимается одной командой (
docker compose up); - CI проходит на пустом сервисе.
Топология
- список сервисов в
topology.mdсовпадает с реальной топологией; - публичные домены и API-префиксы зафиксированы;
- каждый сервис имеет свою БД.
API
- envelope ответа реализован в общем пакете;
- каталог ошибок поддерживается централизованно;
- пагинация поддерживает page и cursor;
- идемпотентность реализована;
- OpenAPI генерируется автоматически.
Auth
- identity authorization server отдаёт OIDC discovery и JWKS;
- backend-сервисы валидируют токены без обращения в identity на каждом запросе;
- service-to-service токены работают;
-
X-Actor-Contextобрабатывается всеми guards.
Permissions
- формат permission зафиксирован;
- каталог permissions поддерживается централизованно;
- guards работают через общий пакет;
- аудит изменения прав ведётся.
События
- шина запущена;
- клиент шины опубликован как пакет;
- outbox/inbox шаблоны реализованы;
- DLQ настроен;
- retention политики настроены.
Reference-данные
- справочники (subject, level, format, grade_range) опубликованы как пакет;
- есть API для управления;
- событие
platform.reference_data.changedдоходит до подписчиков; - доменные сервисы используют ключи, а не дублируют поля.
UI-система
- дизайн-токены опубликованы;
- базовые компоненты UI Kit готовы;
- темы (light, dark, high-contrast) работают;
- accessibility check встроен в CI.
Observability
- логи в едином формате;
- PII redaction работает;
- метрики имеют общий префикс и обязательные labels;
- трассировки сшиваются end-to-end;
- Sentry получает ошибки;
- алерты настроены.
Security
- секреты не в репозитории;
- заголовки безопасности присутствуют;
- rate limit работает;
- CSP настроен на frontend;
- webhook signatures проверяются;
- CSRF включён где нужен.
Data
- PostgreSQL conventions соблюдены;
- миграции через Prisma;
- outbox/inbox реализованы;
- audit log append-only;
- backup и restore проверены.
Frontend
- Next.js приложения используют общий API-клиент;
- silent refresh работает;
- защита маршрутов работает;
- перформанс-бюджеты соблюдены;
- WCAG 2.2 AA проверен в CI.
CI/CD
- PR checks включают lint, typecheck, tests, security audit, openapi diff;
- деплой через ArgoCD;
- rollback воспроизводим;
- dev/staging/prod окружения настроены.
Документация
- все файлы платформы заполнены и согласованы;
- нет ссылок в archive;
- development-order.md согласован с готовыми доменами;
- каждый ADR влияющий на платформу — в
decisions/.
Что значит «готова»
Платформа готова, когда новая команда может стартовать любой из 7 доменов и не задавать вопросы про API, события, RBAC, observability и стек, потому что ответы уже есть в platform/.