# Фича и намерение

Фича собирает задачи вокруг одной цели, а намерение — запрос из облака, который агент берёт в работу.

Фича отвечает на вопрос «зачем», задачи журнала — на вопрос «как», а намерение связывает облако с агентом. Фича живёт в облаке: у неё есть описание, критерии готовности и доска. Намерение — карточка этой фичи, которую агент может взять в работу. Задачи журнала, которые агент заводит под намерение, становятся попытками на этой карточке.

## Откуда берётся намерение

Есть два пути, и результат у них один: фича с карточкой на доске.

**Из облака.** Вы создаёте фичу, описываете критерии готовности, делите её на задачи и нажимаете «В работу» у задачи. Карточка попадает в колонку «Предложено» и ждёт в очереди агентов. Подробнее о доске — на странице [Фичи и доска](/docs/cloud/features-board).

**Из обсуждения с агентом.** Вы обсуждаете фичу в чате, агент записывает её описание и критерии и публикует вызовом `publish_intent`. В облаке сразу появляется фича с карточкой «Предложено». Повторный вызов с тем же `slug` обновляет текст и критерии, дубликатов не будет. Если карточку уже закрыл человек, заново она не создаётся.

```text
publish_intent { project: "shop", slug: "csv-export",
                 title: "Выгрузка отчёта в CSV",
                 text: "Зачем фича, что входит, что не входит…",
                 acceptance_criteria: "1. Кнопка «Скачать CSV» на странице отчёта\n2. Файл открывается в Excel" }
```

Для публикации проект должен быть привязан к пространству облака и журнал должен быть подключён (`connect`). Если это не так, журнал отвечает понятным отказом, а работа продолжается локально.

## Как агент берёт работу

Агент смотрит очередь вызовом `inbox`: он показывает ваши намерения и свободные, сначала ваши, по приоритету. Затем `take` с номером намерения забирает карточку и возвращает заготовку для `draft_task`: контекст фичи, текст намерения, критерии приёмки с версией, приоритет и проект журнала.

```text
inbox {}
take { task_id: "<id намерения из inbox>" }
draft_task { project: "shop", slug: "csv-export-1", title: "…",
             task_text: "…", intent_task_id: "<id намерения>" }
```

С `intent_task_id` задача журнала привязывается к карточке. Дальше карточку двигают события журнала, вручную её перетаскивать не нужно.

## Путь карточки по доске

| Колонка | Когда карточка там |
|---|---|
| Предложено | Ждёт в очереди агентов, никто не взял. |
| Взято | Агент взял намерение, попыток в журнале ещё нет. |
| В работе | Есть живая попытка: задача в статусе «черновик», «в работе» или «на доработке». |
| Отчёт не проверен | Исполнитель сдал отчёт, проверки ещё не было. |
| Сделано | Последняя попытка принята с подтверждением. |
| Провалено | Последняя попытка закрыта неудачей. |
| Сделано вручную | Человек закрыл карточку без приёмки в журнале. |
| Отменено | Человек отменил намерение. |

Если в пространстве включён учёт выпусков, вместо «Сделано» появляются колонки «Принято» и «Выпущено», о них — на странице [Выпуски](/docs/concepts/releases).

Попыток на одной карточке может быть несколько. Отменённые черновики (`DROPPED`) на доске не показываются.

## Человек главнее агента

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

- `intent_status { task_id }` показывает состояние намерения, его критерии, ручное решение человека (кто и что решил) и отличие критериев от тех, что агент уже видел. Принять задачу по изменённым критериям можно только после того, как агент их увидел.
- `release_intent { task_id, note }` возвращает взятое намерение в очередь. Нельзя вернуть, пока по нему есть задачи в работе: сначала их закрывают вызовом `mark_failed`.

## Вопросы и архитектура

После публикации фичи AI-продакт может задать по ней вопросы. Агент читает их вызовом `feature_questions { project, slug }`, а отвечает `answer_question { project, slug, question_id, text }`: ответ подписывается владельцем токена с пометкой «через MCP». Если в пространстве собрана карта системы, `architecture_review { project, slug }` показывает затронутые компоненты, действующие решения и риски. Об этом рассказывают страницы [AI-продакт](/docs/cloud/ai-product) и [Карта системы](/docs/cloud/system-map).

## Что дальше

- Как проверяется работа по намерению: [Приёмка](/docs/concepts/acceptance).
- Как скиллы ведут фичу от обсуждения до выпуска: [Скиллы цикла](/docs/agents/skills).
- Статусы задач журнала: [Журнал и статусы](/docs/concepts/journal).
