Term
Task
A schedulable unit in a WorkSession task graph. A Task is not necessarily one-to-one with an AgentRun.
Parent: WorkSession 1 via tasks
Purpose
Describe planned or in-flight work items and their dependencies without forcing each item to be an agent assignment.
Relationships
| Name | Target | Kind | Cardinality | Inverse |
|---|---|---|---|---|
work_session | WorkSession | references | 1 | tasks 0..* |
agent_runs | AgentRun | references | 0..* | tasks 0..* |
artifacts | Artifact | publishes | 0..* | produced_by_task 0..1 |
depends_on | Task | references | 0..* | dependents 0..* |
dependents | Task | observes | 0..* | depends_on 0..* |
Lifecycle
Initial pending. Terminal: succeeded, failed, cancelled.
pendingreadyin_progressblockedsucceededfailedcancelled
pending→readyready→in_progressin_progress→blockedblocked→readyblocked→in_progressin_progress→succeededin_progress→failedpending→cancelledready→cancelledin_progress→cancelledblocked→cancelledready→failed
Invariants
- MUST
session-scoped: A Task MUST belong to exactly one WorkSession. - MUST NOT
not-1to1-run: A Task MUST NOT be assumed to map 1:1 to an AgentRun.
Aliases
work-item
Deprecated aliases
None.
Not synonyms
- AgentRun: Several runs may serve one task, or one run may serve several tasks.
- Artifact: An artifact is an output, not the schedulable unit.
- Turn: A turn is a cycle inside a run, not a graph node.
Examples
- A "draft the migration plan" node that two AgentRuns later serve.
Anti-examples
- Equating every AgentRun with exactly one Task.
Fields
The identity field is the index of the handle. fields is the exchange shape.
| Name | Kind | Type | Portable | Notes |
|---|---|---|---|---|
task_id | identity | name | True | |
work_session_id | reference | name | True | |
title | descriptive | string | True |
Native mapping hooks
| System | Native term | Fidelity | Notes |
|---|---|---|---|
project-interop | _none_ | tbd |