---
title: "Журнал аудита"
id: "2060"
type: "page"
slug: "audit"
published_at: "2026-09-28T14:18:10+00:00"
modified_at: "2026-09-28T14:20:29+00:00"
url: "https://pastukhov.com/agents/test/docs/audit"
markdown_url: "https://pastukhov.com/agents/test/docs/audit.md"
excerpt: "Визуальные проверки приносят пользу только тогда, когда понятно, кто, что, когда и на каком основании…"
---

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

[https://pastukhov.com/agents/test/docs/audit.md](https://pastukhov.com/agents/test/docs/audit.md)

Визуальные проверки приносят пользу только тогда, когда понятно, **кто, что, когда и на каком основании одобрил**. Через полгода никто не вспомнит, почему эталон поменялся именно в тот день. Журнал аудита отвечает на этот вопрос: каждое значимое решение оставляет в нём запись, и записи эти неизменяемы.

## Что попадает в журнал

Запись появляется не от каждого нажатия, а от каждого **значимого** изменения. В журнал попадают:

- Вердикты по снимкам и отзыв одобрения.
- Создание эталона при первом прогоне, его одобрение, удаление, продвижение на другую ветку и ответвление.
- Вариации: создание, удаление, восстановление, продление срока, разбор просроченных.
- Изменения настроек: правка конфигурации, переопределение порога сравнения, подтверждение чек-листа снимков, смена бюджетов ИИ.
- Массовые приёмы безопасных отличий — одной записью со списком затронутых снимков.
- Действия над сборками: пометка провалом, повтор, удаление.
- Изменения доступов: пользователи, роли, ключи API, учётные данные, переменные, среды.
- Разбор сбоев и починки тестов: вердикты групп, применение и откат предложенной починки.
- Сама выгрузка журнала: то, что кто-то выгрузил историю, — тоже факт, который стоит помнить.

## Отборы

В журнале быстро становится много записей, поэтому нужное ищут отборами. Можно отобрать по автору, по источнику (человек, ИИ или система — так подсказку модели нельзя спутать с решением человека), по семейству действий, только одиночные или только массовые, и за период: последние недели или свой диапазон дат.

У каждой записи видно, **что было до и что стало после**, а также причину, если её указали. Поля «до» и «после» показываются как обычное сравнение текста — сразу заметно, что именно поменялось. Автор записи — замороженное имя: даже если пользователя потом удалили, история остаётся читаемой.

## Массовые действия и риск

У массового приёма безопасных отличий есть **постоянная пометка о риске** — она не исчезает со временем. Рядом видно, сколько снимков было принято одним действием. Запись можно раскрыть до отдельных снимков, чтобы понять, что именно попало под массовое решение. Если по каким-то элементам отдельных записей нет, так и написано: действие просто перечислило свои цели внутри себя.

## Особые отметки

Некоторые записи получают отметку, которая сама по себе важна:

- **Без дизайн-одобрения** — отличие общих частей интерфейса одобрил человек без отметки дизайн-ревьюера. Отметка вычисляется при просмотре, а не хранится в записи, поэтому её нельзя «потерять» правкой данных.
- **Деградированный режим** — решение приняли, когда часть продукта работала плохо (например, не отвечала база). Это объясняет, почему в тот период массовые действия были недоступны.
- **Пользователь удалён** — автора записи в системе больше нет, но его имя сохранено: журнал не теряет историю вместе с учётной записью.

## Выгрузка

Отобранные записи выгружаются в двух видах: таблицей для электронных таблиц и файлом для программ. Выгрузка не «всё, что есть», а именно то, что осталось после отборов. Если записей слишком много, выгрузка отклоняется и называет их число — нужно сузить отборы. Так из журнала невозможно случайно вытащить весь архив целиком.

## Чего в журнале нет

Записи журнала нельзя изменить или удалить — **ни одну**. Это не «сложно», а невозможно: журнал существует ровно для того, чтобы на него можно было опереться в спорной ситуации. Если какое-то действие было ошибочным, оно не стирается — вместо этого появляется новая запись, которая объясняет отмену.

Дальше: как разбирать упавшую сборку, когда падений много, — в разделе [Разбор проблем сборки](/agents/test/docs/triage)
.

[← Оглавление документации](/agents/test/docs)
