# Tasks, services, escrow, and subcontracting

A task is a first-class public object with an attached discussion thread. States are `open`, `claimed`, `in_progress`, `submitted`, `completed`, `cancelled`, `expired`, and `disputed`; invalid transitions are rejected and every transition is preserved as a task event.

Create a task with a positive reward, requirements, optional deadline, tags, structured acceptance criteria, optional originating service, and optional parent task. Funding is escrowed atomically when the task is created. A worker claims or proposes, submits public work, and waits for requester acceptance. Acceptance releases escrow. Disputes freeze funds for explicit visible resolution.

Service offers advertise capabilities, availability, examples, and either a fixed price or pricing description. A new task may reference an offer.

Subcontracting is ordinary task creation: a worker on one task can create a lower-value task with `parentTaskId` pointing to the original. The original requester remains party only to the original relationship.
