[Начало](/ru/docs)[Установка](/ru/docs/installation)[Архитектура](/ru/docs/architecture)[Подключения](/ru/docs/integrations)[Первое ревью](/ru/docs/review)[Эксплуатация](/ru/docs/operations)[Приемка](/ru/docs/acceptance)

# Что работает внутри.

Один процесс ревью, явные границы ответственности.

## Схема служб

### Размещение и границы доверия

Логические роли, не принятая сетевая конфигурация. Публикуются только защищенные точки входа. У баз служб и ContextForge отдельные владельцы.Маршруты и исходник Mermaid
- Команда → Кабинет: HTTPS.

- Кабинет → Identity: Авторизация.

- Identity → OIDC / Keycloak: OIDC.

- MCP-клиенты → ContextForge: MCP.

- ContextForge → Получатель read: Разрешенный read.

- Получатель read → Identity: Актуальные права.

- Identity → Приватные службы: Область организации.

- ContextForge → PostgreSQL ContextForge: Своя база.

- Приватные службы → PostgreSQL служб: Свои базы.

```mermaid
flowchart LR
  team["Команда / Браузер"]
  bff["Кабинет / Защищенный вход"]
  identity["Identity / Организация и роли"]
  oidc["OIDC / Keycloak / Корпоративный вход"]
  agents["MCP-клиенты / Разрешенные инструменты"]
  cf["ContextForge / Шлюз и согласие"]
  receiver["Получатель read / Проверка доступа"]
  roles["Приватные службы / Control / Worker / Context"]
  cfpg["PostgreSQL ContextForge / Отдельный владелец"]
  pg["PostgreSQL служб / Отдельные БД и роли"]
  team -->|HTTPS| bff
  bff -->|Авторизация| identity
  identity -->|OIDC| oidc
  agents -->|MCP| cf
  cf -->|Разрешенный read| receiver
  receiver -->|Актуальные права| identity
  identity -->|Область организации| roles
  cf -->|Своя база| cfpg
  roles -->|Свои базы| pg
```

### Куда идет выбранный контекст

Выбранный diff и разрешенный контекст задачи поступают выбранной модели. Внешний API или CLI остается внешним получателем. Credentials хранятся у своей службы.Маршруты и исходник Mermaid
- Ваш GitLab → Connector: Разрешенное чтение.

- Connector → Context: Точная версия.

- Context → Worker / PR-Agent: Выбранный контекст.

- Worker / PR-Agent → Согласованная модель: Согласованные данные.

- Worker / PR-Agent → Control: Черновик замечаний.

- Control → Connector: Действия по политике.

- Control → PostgreSQL служб: Сохраненная история.

```mermaid
flowchart LR
  gitlab["Ваш GitLab / MR / исходники / CI"]
  connector["Connector / Credentials GitLab"]
  context["Context / Выбранные исходники"]
  worker["Worker / PR-Agent / Контекст ревью"]
  model["Согласованная модель / API или официальный CLI"]
  control["Control / Очередь и отчеты"]
  pg["PostgreSQL служб / История и владельцы"]
  gitlab -->|Разрешенное чтение| connector
  connector -->|Точная версия| context
  context -->|Выбранный контекст| worker
  worker -->|Согласованные данные| model
  worker -->|Черновик замечаний| control
  control -->|Действия по политике| connector
  control -->|Сохраненная история| pg
```

### От изменения к решению команды

Новый SHA получает отдельное ревью. Замечания, CI и критерии задачи рассматриваются отдельно. Ответ модели не означает публикацию, approve или merge.Маршруты и исходник Mermaid
- Измененный MR → Подготовка контекста: Выбрать.

- Подготовка контекста → Черновик замечаний: Ревью.

- Черновик замечаний → Команда правит код: Рассмотреть.

- Команда правит код → Повторное ревью: Проверить заново.

- Повторное ревью → CI и критерии: Сверить доказательства.

- CI и критерии → Решение команды: Принять решение.

```mermaid
flowchart LR
  change["Измененный MR / Актуальный SHA"]
  prepare["Подготовка контекста / Diff / задача / правила"]
  draft["Черновик замечаний / Основание и исправление"]
  fix["Команда правит код / Новый SHA"]
  recheck["Повторное ревью / Актуальные исходники"]
  ci["CI и критерии / Отдельные доказательства"]
  decision["Решение команды / Политика и права"]
  change -->|Выбрать| prepare
  prepare -->|Ревью| draft
  draft -->|Рассмотреть| fix
  fix -->|Проверить заново| recheck
  recheck -->|Сверить доказательства| ci
  ci -->|Принять решение| decision
```

## Кто за что отвечает

| Служба | Ответственность  |
| --- | --- |

| Identity | Пользователи, tenant, роли, OIDC и авторизация.  |

| Control | Очередь, актуальный SHA, правила, журнал решений и публикация по политике.  |

| Connector | Единственный путь чтения и записи GitLab, включая CI.  |

| Worker / PR-Agent | Вызов выбранной модели и черновик findings. Нет самостоятельного publisher.  |

| Context | Выбранные исходники и контекст задачи в разрешенной области.  |

| ContextForge | Общий MCP gateway. Собственная авторизация и отдельный отзыв доступа.  |

## Данные не смешиваются в общей таблице

PostgreSQL обязателен. У служб свои базы, учетные записи и версии миграций; у ContextForge отдельный обычный владелец. Tenant определяется доверенной авторизацией, а не полем из запроса. Модельные credentials принадлежат конкретной организации и профилю. Общий MCP gateway не дает агенту глобальные права.

## Что открыть в сети

Опубликуйте только защищенный ingress кабинета и согласованные MCP endpoints. API служб остаются приватными. Разрешите исходящие соединения к утвержденным GitLab, OIDC и модели. Docker bridge дает связность, но не фильтрует все исходящие запросы. Firewall, корпоративная CA и проверка имен серверов входят в план внедрения.
