istok task работает с задачами текущего проекта. Что такое задачи и запуски и как они связаны, читайте в разделе Задачи и запуски.
В CLI у задач есть номера внутри проекта: #12 — это задача 12 текущего проекта.
Команды
| Команда | Назначение |
|---|---|
create |
Создать задачу в текущем проекте. |
list |
Показать активные задачи. |
show ID |
Показать задачу и её историю. |
ready |
Показать задачи, готовые к взятию в работу. |
comment ID |
Добавить комментарий к задаче. |
progress ID |
Записать значимый прогресс. |
dependency add TASK |
Добавить блокирующую зависимость. |
dependency remove TASK |
Убрать блокирующую зависимость. |
claim ID |
Взять готовую задачу в работу и начать запуск. |
done ID |
Завершить задачу. |
Все команды задач принимают --json и --database PATH.
Создать задачу
istok task create \
--title "Return 404 for missing orders" \
--description "GET /orders/{id} returns 500 when the order does not exist." \
--acceptance-criteria "Missing orders return 404 with an error body." \
--notes "Check the repository error mapping first."
| Флаг | Назначение |
|---|---|
--title |
Обязательный. Название задачи. |
--description |
Что нужно сделать. |
--acceptance-criteria |
Как понять, что задача выполнена. |
--notes |
Дополнительные сведения. |
Список задач
istok task list
# STATE TITLE BLOCKED BY
#12 READY Return 404 for missing orders —
#13 BLOCKED Add order audit log #12
#14 IN PROGRESS Paginate order history —
Колонка BLOCKED BY появляется, только если хотя бы у одной задачи в списке есть активный блокер.
- READY — задачу можно взять в работу.
- BLOCKED — активная зависимость не даёт задаче стать готовой.
- IN PROGRESS — у задачи есть активный запуск с неистёкшей арендой.
Завершённые задачи по умолчанию не показываются. Фильтруйте по статусу open, blocked или done; флаг можно повторять:
istok task list --status done
istok task list --status open --status blocked
Показать задачу
istok task show 12
Показывает название, описание, критерии приёмки, заметки, вычисленное состояние, блокеры, зависимые задачи, ревизию и историю событий. Работает и для завершённых задач и ничего не меняет.
Готовые задачи
istok task ready
Задача готова, если она открыта, у неё нет активных блокеров и ею не владеет живой активный запуск.
Комментарии и прогресс
istok task comment 12 --body "Waiting for API review."
istok task progress 12 --body "Error mapping updated; integration tests remain."
Комментарии — для наблюдений, уточнений от ревьюера и заметок на будущее. Прогресс — для существенных изменений в состоянии работы: закончен шаг, принято решение, появился новый блокер, проверка показала, что работы больше, или задача готова для другого агента.
Зависимости
Чтобы задача 13 ждала задачу 12:
istok task dependency add 13 --blocker 12
Убрать зависимость:
istok task dependency remove 13 --blocker 12
Оба номера относятся к задачам текущего проекта. Пока зависимость активна, задача 13 заблокирована.
Взять задачу в работу
istok task claim 12
Взятие задачи начинает активный запуск, сохраняет для него снимок контекста и возвращает запуск с арендой — она понадобится следующим командам run. Задачу с живым активным запуском взять нельзя. Если аренда этого запуска истекла, claim закрывает его как abandoned и начинает новую попытку.
При взятии Istok обновляет индекс кода и добавляет найденный код в контекст. Чтобы в исключительном случае пропустить поиск по коду, укажите причину:
istok task claim 12 \
--without-retrieval \
--override-reason "Repository index is being repaired"
Опции контекста
Что получает запуск при взятии задачи и какие бюджеты при этом действуют, описано в разделе Контекст и знания. Чтобы посмотреть это заранее, используйте istok context preview.
| Флаг | Назначение |
|---|---|
--context-id ID |
Включить конкретную запись контекста, например с доставкой manual. Можно повторять. |
--context-limit N |
Явно задать лимит долговременных записей (1–64). Явный лимит никогда не расширяется автоматически. |
--all-context |
Включить весь активный контекст без долговременного бюджета. Требует --context-override-reason. |
--all-context — устаревший обходной путь; его причина сохраняется вместе со снимком.
Если обязательный контекст always не помещается в бюджет, взятие завершается ошибкой без создания запуска, а в ошибке перечислены нужные записи. Чтобы найти причину, запустите istok context doctor.
Другие опции взятия
| Флаг | Назначение |
|---|---|
--base-branch, --base-commit |
Git-ветка и коммит, от которых начался запуск. Если не указаны, определяются по рабочему дереву. |
--run-id, --snapshot-id |
ID в формате UUIDv7, сгенерированные клиентом, — для интеграций. Если не указаны, Istok генерирует их сам. |
Завершить задачу
Когда работа сделана и проверена:
istok task done 12 \
--expected-revision 7 \
--run-id 019... \
--validation-id 019... \
--note "Missing orders return 404; tests pass."
| Флаг | Назначение |
|---|---|
--expected-revision |
Обязательный. Текущая ревизия задачи. |
--note |
Обязательный. Заметка о завершении. |
--run-id |
Успешный запуск, в котором сделана работа. |
--validation-id |
Пройденная проверка из этого запуска. |
--override-reason |
Завершить без доказательств, с причиной для аудита. Используйте, только если записать доказательства действительно невозможно. |
--completion-id |
ID завершения в формате UUIDv7, сгенерированный клиентом. |
Как появляются доказательства, читайте в разделе Проверки.
Ревизии
Команды, которые меняют состояние и принимают --expected-revision, завершаются ошибкой, если задача изменилась с момента, когда вы её прочитали. Снова выполните istok task show 12 и возьмите последнюю ревизию.
Вывод JSON
istok task list --json
istok task show 12 --json
В JSON есть и номер внутри проекта, и канонический UUID задачи. См. Вывод JSON.
Справка
istok task create --help
istok task claim --help
istok task done --help