# Журнал и статусы

Как журнал хранит задачи агентов и что значат статусы от черновика до принятой задачи.

Журнал Actari записывает каждую задачу агента событиями, и по этим событиям видно, на каком этапе работа. Он живёт на вашей машине, в MCP-сервере `actari-mcp`, и по мере работы отправляется в облако. Главная мысль журнала одна: «исполнитель считает, что готово» и «проверено и принято» — разные факты, и журнал никогда не выдаёт первое за второе.

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

- **Проекты.** Задачи и артефакты принимаются только для зарегистрированного проекта: имя проекта становится частью номера каждой задачи, а путь привязывает его к папке репозитория. Пока проект не зарегистрирован, журнал отказывает на любой запрос.
- **Задачи.** У задачи есть задание для исполнителя, отчёт, статус и история событий. Номер имеет вид `проект/дата-slug`, например `shop/2026-11-03-csv-export`.
- **Артефакты.** Спецификации, планы, ADR, решения и заметки. Запись с тем же названием создаёт новую версию, старая остаётся в истории.
- **Инциденты.** Грабли и уроки: что случилось и как обойти в следующий раз.
- **Выпуски.** Что уехало на прод. Они не привязаны к одной задаче, подробности — на странице [Выпуски](/docs/concepts/releases).

Все записи только добавляются: журнал ничего не переписывает, а облако получает копию и не меняет журнал на вашей машине. Данные лежат в `~/.actari/journal.db`, путь можно заменить переменной `ACTARI_DB`.

## Статусы

В коде и в инструментах статусы названы по-английски, в облаке у них русские подписи.

| Статус | Подпись в облаке | Что это значит |
|---|---|---|
| `DRAFT` | черновик задания | Задание записано, исполнитель ещё не назначен. |
| `DELEGATED` | в работе у исполнителя | Работа передана исполнителю: субагенту, внешней программе или самому агенту. |
| `REPORTED` | отчёт сдан — не проверено | Исполнитель считает, что готово. Это заявка, а не факт. |
| `ACCEPTED` | проверено и принято | Кто-то другой проверил и подтвердил. |
| `REWORK` | возвращена на доработку | Проверка нашла проблему, задача вернулась исполнителю. |
| `FAILED` | закрыта неудачей | Задачу не удалось выполнить в таком виде. |
| `DROPPED` | отменена | Черновик, от которого отказались, с указанной причиной. |

Переходы между статусами проверяет сервер, поэтому нельзя принять задачу, у которой нет отчёта, и нельзя сдать отчёт по черновику:

```text
DRAFT → DELEGATED → REPORTED → ACCEPTED
                 ↘            ↘ REWORK → DELEGATED …
                  FAILED       FAILED
DRAFT → DROPPED
```

Статус меняется только вызовами инструментов, напрямую его не поправить. Закрытая задача не открывается заново: продолжение пишется как новая задача, связанная с прежней вызовом `link_tasks` с видом связи `continues`. Работа, найденная по дороге, тоже становится новой задачей со связью `discovered_from`.

## Пример жизни задачи

Агент ставит задачу, передаёт её исполнителю и сдаёт отчёт:

```text
draft_task { project: "shop", slug: "csv-export", title: "Выгрузка отчёта в CSV",
             task_text: "Что должно стать правдой и чем это доказывается…" }
delegate { task_id: "shop/2026-11-03-csv-export", executor: "subagent" }
submit_report { task_id: "shop/2026-11-03-csv-export",
                report: "Команды, их вывод, список изменённых файлов" }
```

Теперь задача в статусе `REPORTED`. Чтобы она стала принятой, нужна проверка, и её описывает страница [Приёмка](/docs/concepts/acceptance).

Чтобы посмотреть состояние, агент вызывает `list_tasks` с фильтром по статусу или проекту, а `get_task` показывает одну задачу с хронологией событий. Полный текст задания и отчёта отдаётся с параметром `full: true`.

## Поиск по истории

Перед новой задачей агент ищет похожие: `search_precedents { query: "выгрузка отчёта", project: "shop" }` находит задачи, артефакты и инциденты по всем проектам журнала. Слова сравниваются по основам, на русском и английском, поэтому «расписание» найдёт и «расписании». Проект текущей папки в выдаче выше остальных. В облаке тот же смысл имеет [поиск по базе знаний](/docs/cloud/knowledge-search).

## Правила задаёт политика

Журнал сам ничего не оценивает: что должно быть в задании, что считать отчётом и когда можно принять, определяет [политика проекта](/docs/agents/policy). Без политики журнал только записывает.

## Что дальше

- Как задачи связаны с фичами облака: [Фича и намерение](/docs/concepts/feature-and-intent).
- Как проверяется заявленное: [Приёмка](/docs/concepts/acceptance).
- Список всех инструментов с параметрами: [Справочник MCP](/docs/reference/mcp-tools).
