740fd2d7bd
repository map zavoz
1.3 KiB
1.3 KiB
2. Контекст и границы
Внутри системы
- Один backend-контейнер (Django + Django Ninja API).
- Доменные модули в
apps/*, HTTP-слой вapi/v1/*. - Хранение: реляционная БД (PostgreSQL в целевом окружении, SQLite по умолчанию локально).
- Кэш/брокер: Redis/Valkey в целевом окружении, LocMem cache локально/в тестах.
- Фоновые задачи: Celery worker/beat (guardrails, notifications, cleanup pending).
Внешние акторы
- Product client: вызывает
POST /api/v1/decide, отправляетPOST /api/v1/events. - Experimenter/Approver/Admin/Viewer: управляют экспериментами и смотрят результаты через API.
- Каналы уведомлений: Telegram API и SMTP.
- Система наблюдаемости: скрейпинг
/metrics, чтение структурированных логов.
Служебные контракты
GET /health: liveness.GET /ready: readiness (cache, db, storage, celery ping).GET /metrics: prometheus endpoint.
Явная граница фактов
Документация привязана к текущей реализации в src/backend.