Files
Lotty/ADR/02-context.md
T
2026-02-24 17:53:14 +03:00

27 lines
1.3 KiB
Markdown

# 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`.