# Ownership model и зоны ответственности

## Паспорт документа

- Статус документа: living standard
- Актуально на: 29 марта 2026 года
- Владелец: backend/platform-команда
- Пересмотр: при изменении структуры репозиториев, сервисов, команды или release-модели
- Область применения: распределение зон ответственности между backend/platform-командой и frontend-командой
- Связанные документы:
  - [Инженерные принципы](./engineering-principles.md)
  - [Памятка для frontend-команды](../frontend/frontend-handoff.md)
  - [Текущее состояние](../project/current-state.md)

## Цель документа

Этот документ фиксирует, кто чем владеет в Qadam. Его задача — убрать неявные ожидания и предотвратить ситуации, когда важный контур меняется без понятного владельца.

## 1. Карта владельцев

| Область | Канонический owner | Комментарий |
|--------|---------------------|-------------|
| `qadam-core` backend code | backend/platform-команда | API, auth, domain logic, migrations, OpenAPI |
| `qadam-core/docs` | backend/platform-команда | канонический source of truth проекта |
| `qadam-core/specs` | backend/platform-команда | платформенные решения и implementation status |
| `qadam-web/apps/web` | frontend-команда | product frontend, UI, client flows |
| `qadam-web/apps/roadmap` | backend/platform-команда | внутренний docs-service; UI-изменения допустимы только согласованным пакетом |
| Production server, `systemd`, `nginx`, TLS | backend/platform-команда | operational ownership |
| PostgreSQL, Redis, migrations | backend/platform-команда | data/infrastructure ownership |
| OpenAPI artifact | backend/platform-команда | frontend-consumable contract source |
| `qadam-web/openapi/openapi.json` sync | frontend-команда после handoff, backend/platform до передачи пакета | shared operational responsibility |

## 2. Кто принимает решения

### Backend/platform-команда принимает решение по

- API-контракту;
- auth-модели;
- database schema и migrations;
- production runtime;
- env/secrets;
- безопасности, rollback и infra hotfix.

### Frontend-команда принимает решение по

- UI-архитектуре внутри `qadam-web/apps/web`;
- пользовательским сценариям и presentation layer;
- frontend state/query organization;
- web release package, если он не меняет backend contract.

### Совместное решение требуется для

- breaking API changes;
- auth-flow для web;
- новых обязательных env между репозиториями;
- контрактных изменений, которые требуют coordinated rollout backend + frontend;
- изменений в `apps/roadmap`, если они затрагивают структуру канонической документации или workflow портала.

## 3. Владелец production и инцидентов

- Production runtime и доступ на сервер — backend/platform-команда.
- Инциденты уровня `SEV-1` и `SEV-2` координирует backend/platform-команда.
- Frontend-команда участвует, если инцидент вызван `qadam-web/apps/web` или требует coordinated web-fix.

## 4. Владелец документации

### Канонический слой

- `qadam-core/docs` и `qadam-core/specs` — backend/platform-команда.
- Любой новый source-of-truth документ создаётся только здесь.

### Локальный frontend слой

- `qadam-web/docs` — frontend-команда.
- Это локальный onboarding/reference слой, а не равноправный источник истины.

## 5. Владелец changelog и checkpoints

- [project/project-change-log.md](../project/project-change-log.md) — backend/platform-команда.
- [project/execution-checkpoints.md](../project/execution-checkpoints.md) — backend/platform-команда.
- [frontend/frontend-change-log.md](../frontend/frontend-change-log.md) — backend/platform-команда, совместно с frontend-командой.

## 6. Что нельзя делать без согласования

- Менять backend API, если пакет затрагивает frontend, без записи в frontend changelog.
- Менять production env, domains, TLS или `systemd` без backend/platform owner.
- Менять статус ключевого roadmap-этапа без обновления checkpoints.
- Создавать новый канонический документ в `qadam-web/docs` вместо `qadam-core/docs`.
