Skip to content

Task

A Task represents a concrete work item in a Scope's backlog — the implementation counterpart to UserStory requirements.

Tasks are classified by kind and priority, and track their progress through lifecycle_status. The on_hold flag marks a task as temporarily blocked without altering its lifecycle state. The related_acs field holds string references to the acceptance criteria the task addresses (e.g. "AC1.2"); these merge as a union across the scope hierarchy, following the same semantics as UserStory.tags.

Five kinds require an estimated_duration at instantiation time: enhancement, bug, documentation, release, and deployment. Omitting it for these kinds raises a validation error.

TaskPriority

TaskPriority

Bases: str, Enum

Priority level of a Task.

TaskKind

TaskKind

Bases: str, Enum

Classifies the nature of a Task.

TaskLifecycleStatus

TaskLifecycleStatus

Bases: str, Enum

Lifecycle state of a Task.

Task

Task

Bases: MergeableModel

A work item belonging to a Scope's backlog.

Attributes:

Name Type Description
id int

Integer identifier, unique within the enclosing Scope's backlog.

title str

Short free-text title summarising the work.

description str

Full description containing all information needed to complete the task unambiguously.

priority TaskPriority

Urgency level of the task.

kind TaskKind

Nature of the work to be done.

lifecycle_status TaskLifecycleStatus

Current position in the task lifecycle.

on_hold bool

Whether the task is temporarily blocked from progressing. Defaults to False.

estimated_duration timedelta | None

Expected time to complete the task. Mandatory for kinds that require planning: enhancement, bug, documentation, release, and deployment. Defaults to None.

actual_duration timedelta | None

Time it actually took to complete the task. Defaults to None.

related_acs frozenset[str]

Set of acceptance criterion reference strings (e.g. "AC1.2") that this task addresses. Defaults to an empty set.