Subtask structure, from the live Task primitive
A structural lens over subagenttasks.com —
the family's durable Task primitive, generalized from the real TaskCreate/TaskUpdate/TaskList
tool schema that powers Cowork sessions' own Progress panel. This site holds no state of its own.
Scope note — why there are no trees on a site about subtask structure:
subagenttasks.com's schema really does have a
task_dependencies table (its migrations/0001_init.sql, generalized from the real
TaskCreate tool's addBlocks/addBlockedBy params), and its own HTML task-detail
pages join it server-side for blocks/blocked-by lists. But the public JSON API this site reads —
GET /api/tasks and GET /api/tasks/:id — does not expose any dependency edges: no
row in the live response carries a dependency field, and the upstream's own
llms.txt lists no dependencies endpoint
(verified by fetching both, 2026-07-09). Rather than invent edges, this page groups the real rows by
session_id — the one grouping structure the API actually exposes — and links each task and session
back to the upstream, where the dependency joins live.
Rendered live from https://subagenttasks.com/api/tasks at request time
(server-side fetch, edge-cached 300 s): 216 task rows across
11 sessions. Status enum is the upstream's own four-value set
(pending | in_progress | completed | deleted, unmodified from the real tool schema);
enum values not shown below have no rows in the current response.
Tasks by session (11)
Sessions ordered newest-first by their latest task's created_at; tasks within a
session in creation order. Each task links to its upstream detail page, where real blocks/blocked-by
joins are rendered from task_dependencies.