Skip to the content.

Task 18 — Устойчивый жизненный цикл задач

Phase: 1 Status: done Owner: — Slug: durable-task-lifecycle

Goal

Долгие задачи имеют task ID, state transitions, cancellation, retry, resumable checkpoints, idempotency key. Синхронные chat-запросы остаются простыми.

Acceptance criteria

Sub-tasks

Scope / Likely files

src/agent/Tasks/, src/agent/Storage/SqliteSessionStore.cs

Dependencies

Risks / Rollback

Сложность recovery-сценариев; обязательны chaos-тесты.

Implementation notes

2026-08-12

Добавлено:

src/agent/Tasks/ — новый namespace:

src/agent/Config/AppConfig.cs — TaskConfig:

src/agent/Storage/SqliteSessionStore.cs — расширение task_018:

src/agent/Hercules.WebApi/Controllers/TaskProgressController.cs — 7 WebAPI endpoints:

Program.cs (CLI + WebAPI) — DI регистрация TaskConfig, ITaskRepository, TaskRetryHandler, ITaskExecutionService

tests/.../Tasks/ — 29 новых unit-тестов (TaskExecutionServiceTests × 14, TaskRetryHandlerTests × 15)

Validation: