# Каталог событий

> Все события журнала аудита по категориям: код, что записано, класс операции и важность.

Каждая запись журнала несёт код события вида `категория.действие`. Код стабилен — на него можно опираться в фильтрах вашей SIEM и в скриптах; описание рядом — то, что видит человек в интерфейсе. Категория — первая часть кода; по ней работают фильтры-кнопки в разделе.

**Операция** — класс действия (создание, изменение, удаление, доступ, аутентификация, передача, выполнение). **Важность** — инфо, заметное, предупреждение, критичное; при **отказе** важность события поднимается на ступень (отказ во входе записывается как предупреждение).

Для каждого события записываются и успех, и отказ — за исключением рутинных операций, отмеченных как «отклонено»: они попадают в журнал только при отказе.

## Сессии и вход

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `session.login` | Вход: пароль принят, отправлен код | аутентификация | инфо |
| `session.login_confirm` | Вход подтверждён кодом | аутентификация | инфо |
| `session.code_resend` | Повторная отправка кода подтверждения | аутентификация | инфо |
| `session.refresh_denied` | Обновление сессии отклонено | аутентификация | предупреждение |
| `session.logout` | Выход | аутентификация | инфо |
| `session.register_start` | Начата регистрация | создание | заметное |
| `session.register` | Регистрация завершена | создание | заметное |
| `session.password_reset_start` | Запрошен сброс пароля | аутентификация | заметное |
| `session.password_reset` | Пароль сброшен | аутентификация | заметное |
| `session.password_change_start` | Запрошена смена пароля | аутентификация | заметное |
| `session.password_change` | Пароль изменён | аутентификация | заметное |
| `session.org_connect` | Подключение к организации (адрес и браузер) | аутентификация | инфо |

## Организация

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `org.create` | Создана организация | создание | заметное |

## Участники и права

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `member.invite` | Приглашён участник | создание | заметное |
| `member.remove` | Участник удалён | удаление | заметное |
| `member.owner_set` | Изменён статус владельца | изменение | критичное |
| `member.grant_set` | Изменены права участника | изменение | заметное |

## Проекты

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `project.create` | Создан проект разработки | создание | заметное |
| `project.repo_sync` | Синхронизация репозитория | выполнение | инфо |
| `project.devprep_run` | Запуск подготовки инструментов | выполнение | инфо |
| `project.audit_run` | Запуск аудита проекта | выполнение | инфо |
| `project.tests_refresh` | Обновление списка тестов | выполнение | инфо |

## Репозитории

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `repo.import` | Добавлен репозиторий | создание | заметное |

## Задачи

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `task.create` | Создан черновик задачи | создание | инфо |
| `task.edit` | Изменён черновик задачи | изменение | инфо |
| `task.submit` | Задача отправлена в работу | выполнение | заметное |
| `task.cancel` | Черновик отменён | удаление | инфо |
| `task.stop` | Задача остановлена | выполнение | заметное |
| `task.resume` | Задача возобновлена | выполнение | заметное |
| `task.close` | Задача закрыта | изменение | заметное |
| `task.clarify_answer` | Ответ на уточнение | создание | инфо |
| `task.gate_decide` | Решение по формулировке | изменение | заметное |
| `task.tests_decide` | Решение по падающим тестам | изменение | заметное |

## Ревью

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `review.approve` | Изменения одобрены, PR/MR публикуется | передача | заметное |
| `review.rework` | Отправлено на доработку | изменение | заметное |
| `review.finding_add` | Добавлено замечание | создание | инфо |
| `review.finding_decide` | Решение по замечанию | изменение | инфо |
| `review.finding_edit` | Замечание изменено | изменение | инфо |

## Спросить

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `ask.create` | Создан диалог «Спросить» | создание | инфо |
| `ask.message` | Сообщение в диалог «Спросить» | создание | инфо |
| `ask.answer` | Ответ на вопрос модели («Спросить») | создание | инфо |
| `ask.rename` | Диалог «Спросить» переименован | изменение | инфо |
| `ask.delete` | Диалог «Спросить» удалён | удаление | заметное |

## Исследования

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `research.create` | Создано исследование | создание | инфо |
| `research.message` | Сообщение в исследование | создание | инфо |
| `research.rename` | Исследование переименовано | изменение | инфо |
| `research.delete` | Исследование удалено | удаление | заметное |

## Учётные данные

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `credentials.set` | Сохранены учётные данные репозитория | изменение | заметное |
| `credentials.delete` | Удалены учётные данные репозитория | удаление | заметное |

## Тариф и модели

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `billing.tariff_set` | Сменён тариф | изменение | заметное |
| `billing.model_choose` | Выбрана модель | изменение | заметное |
| `billing.request` | Оставлена заявка | создание | инфо |

## Арендуемые мощности

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `rental.tier_set` | Выбран класс арендуемой ВМ | изменение | заметное |
| `rental.start` | Запрошен запуск арендуемой ВМ | выполнение | заметное |
| `rental.stop` | Арендуемая ВМ остановлена | выполнение | заметное |

## Коннекторы

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `connector.pair_code` | Выпущен код привязки коннектора | создание | заметное |
| `connector.enrol` | Коннектор привязан | создание | заметное |
| `connector.refresh_denied` | Обновление сессии коннектора отклонено | аутентификация | предупреждение |
| `connector.report_failed` | Отчёт коннектора отклонён | изменение | предупреждение |
| `connector.event_failed` | Событие трекера от коннектора отклонено | создание | предупреждение |
| `connector.repo_import` | Импорт репозитория через коннектор | создание | заметное |
| `connector.publish` | Публикация PR/MR через коннектор | передача | заметное |
| `connector.revoke` | Коннектор отозван | удаление | критичное |
| `connector.connect` | Коннектор подключился | аутентификация | инфо |

## База знаний

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `knowledge.create` | Создано знание | создание | инфо |
| `knowledge.edit` | Изменено знание | изменение | инфо |
| `knowledge.flag_set` | Изменены признаки знания («показывать модели сразу» / «перманентная») | изменение | заметное |
| `knowledge.archive` | Знание отправлено в архив | удаление | заметное |
| `knowledge.restore` | Знание восстановлено из архива | создание | заметное |
| `knowledge.refresh` | Запущен проход по базе знаний | выполнение | инфо |

Записывается **имя записи, её область и тип**, а также какие поля менялись; **тело записи в журнал не попадает** — журнал не хранилище текстов. Записи, сделанные проходами ИИ, приходят как действия пайплайна (исполнитель — «система»). Просмотр раздела не журналируется, как и любое чтение. См. [База знаний](/docs/knowledge).

## Журнал аудита

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `auditlog.export` | Выгружен журнал аудита | доступ | заметное |
| `auditlog.verify` | Проверена целостность журнала | доступ | инфо |

## Пайплайн (система)

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `pipeline.*` | Действия пайплайна (задача закрыта, конфликт слияния, ревью, ВМ…) | выполнение | инфо |

## Оператор платформы

| Код события | Что записано | Операция | Важность |
| --- | --- | --- | --- |
| `operator.*` | Действия оператора платформы над организацией | изменение | заметное |

## Особенности отдельных событий

- **`session.login`** — принят пароль и отправлен код подтверждения; сам вход завершается событием `session.login_confirm`. Отказ в `session.login` — неверный пароль или логин; отказ в `session.login_confirm` — неверный код. Оба записываются во **все** организации, в которых состоит человек: владелец каждой видит попытки входа своего участника.
- **`session.org_connect`** — подключение к пространству организации; именно здесь фиксируются адрес и браузер для последующих действий в этой сессии. Записывается при каждом открытии приложения.
- **`session.refresh_denied`** — продление сессии отклонено: токен отозван (выход, смена пароля) либо повторно использован — второе стоит проверить.
- **`session.register_start` / `session.register`** — записываются в журнал новой организации: он начинается с её регистрации.
- **`member.owner_set`** — назначение или снятие владельца; критичное событие.
- **`credentials.set` / `credentials.delete`** — токен репозитория сохранён или удалён; значение токена в журнале отсутствует.
- **`connector.enrol`** — агент привязан кодом; исполнитель — сам коннектор (его идентификатор), адрес — откуда он подключился. **`connector.revoke`** — критичное.
- **`auditlog.export`** — выгрузка журнала: кем, в каком формате, с какими фильтрами и сколько строк. Попытка выгрузки без права записывается как отказ.
- **`pipeline.*`** — действия пайплайна; вместо `*` — тип события ленты уведомлений: `task_closed`, `merge_conflict`, `review_needed`, `vm_ready`, `flow_failed` и другие. Исполнитель — «система».
- **`operator.*`** — действия сотрудника платформы над вашей организацией: `operator.billing.balance.topup`, `operator.billing.balance.adjust`, `operator.connector.disable`. Исполнитель — «оператор» с его учётной записью.
