# Карта репозитория ## 1. Точки входа - Backend root: [src/backend](./src/backend) - Django settings: [src/backend/config/settings](./src/backend/config/settings) - URL root: [src/backend/config/urls.py](./src/backend/config/urls.py) - API wiring: [src/backend/api/urls.py](./src/backend/api/urls.py) - API v1 роутер: [src/backend/api/v1/router.py](./src/backend/api/v1/router.py) - Команды и проверки: [src/backend/justfile](./src/backend/justfile) - Файлы конфигурации деплоя: [deploy](./deploy) - Файлы конфигурации для сервисов: [infrastructure/configs](./infrastructure/configs) ## 2. Основные доменные модули ([src/backend/apps](./src/backend/apps)) - [flags](./src/backend/apps/flags) - feature flags и типизация значений. - [experiments](./src/backend/apps/experiments) - жизненный цикл эксперимента, варианты. - [reviews](./src/backend/apps/reviews) - группы аппруверов, дефолтная политика апрува. - [decision](./src/backend/apps/decision) - логика выбора варианта для флага (детерминизм, таргетинг, лимиты участия). - [events](./src/backend/apps/events) - обработка эвентов: валидация, дедуп, атрибуция, pending events. - [metrics](./src/backend/apps/metrics) - каталог и правила вычисления метрик. - [reports](./src/backend/apps/reports) - отчёты по экспериментам в разрезе вариантов/периода. - [guardrails](./src/backend/apps/guardrails) - safety правила, триггеры, авто пауза/ролбек. - [conflicts](./src/backend/apps/conflicts) - домены конфликтов между экспериментами. - [notifications](./src/backend/apps/notifications) - enqueue/flush уведомлений по системным событиям. - [learnings](./src/backend/apps/learnings) - библиотека выводов/знаний по экспериментам. - [users](./src/backend/apps/users) - роли, auth, RBAC. - [core](./src/backend/apps/core) - базовые модели/общие вспомогательные элементы. ## 3. API слой ([src/backend/api/v1](./src/backend/api/v1)) - [src/backend/api/v1/decision/endpoints.py](./src/backend/api/v1/decision/endpoints.py) - `POST /api/v1/decide` - [src/backend/api/v1/events/endpoints.py](./src/backend/api/v1/events/endpoints.py) - `POST /api/v1/events`, CRUD event types - [src/backend/api/v1/reports/endpoints.py](./src/backend/api/v1/reports/endpoints.py) - `GET /api/v1/reports/{experiment_id}` - [src/backend/api/v1/guardrails/endpoints.py](./src/backend/api/v1/guardrails/endpoints.py) - check/list/create/update/delete guardrails - [src/backend/api/v1/experiments/endpoints.py](./src/backend/api/v1/experiments/endpoints.py) - lifecycle и CRUD экспериментов/вариантов - [src/backend/api/v1/reviews/endpoints.py](./src/backend/api/v1/reviews/endpoints.py) - review settings и approver groups - `flags`, `users`, `metrics`, `conflicts`, `notifications`, `learnings` - соответствующие доменные API ## 4. Критичный поток 1. Decide - [src/backend/api/v1/decision/endpoints.py](./src/backend/api/v1/decision/endpoints.py) - [src/backend/apps/decision/services.py](./src/backend/apps/decision/services.py) 2. Events/Attribution - [src/backend/api/v1/events/endpoints.py](./src/backend/api/v1/events/endpoints.py) - [src/backend/apps/events/services.py](./src/backend/apps/events/services.py) - [src/backend/apps/events/models.py](./src/backend/apps/events/models.py) 3. Reports/Guardrails - [src/backend/api/v1/reports/endpoints.py](./src/backend/api/v1/reports/endpoints.py) - [src/backend/apps/reports/services.py](./src/backend/apps/reports/services.py) - [src/backend/api/v1/guardrails/endpoints.py](./src/backend/api/v1/guardrails/endpoints.py) - [src/backend/apps/guardrails/services.py](./src/backend/apps/guardrails/services.py) ## 5. Интеграционные тесты - Happy path: [src/backend/tests/integration/test_happy_path.py](./src/backend/tests/integration/test_happy_path.py) - API contract flow: [src/backend/tests/integration/test_api_contract.py](./src/backend/tests/integration/test_api_contract.py) - Events edge-cases: [src/backend/tests/integration/test_events.py](./src/backend/tests/integration/test_events.py) - Guardrails e2e: [src/backend/tests/integration/test_guardrails.py](./src/backend/tests/integration/test_guardrails.py) - Негативные сценарии: [src/backend/tests/integration/test_negative.py](./src/backend/tests/integration/test_negative.py) ## 6. Наблюдаемость и эксплуатация - Health/readiness endpoints: [src/backend/api/urls.py](./src/backend/api/urls.py) - Prometheus middleware/logging config: [src/backend/config/settings.py](./src/backend/config/settings.py) - Structured logs: [src/backend/config/settings.py](./src/backend/config/settings.py) - CI/CD config: [.gitlab-ci.yml](./.gitlab-ci.yml)