id | — | ID! | — |
taskDefinitionId | — | ID | — |
taskType | — | String! | — |
interactionMode | — | String! | — |
title | — | String! | — |
description | — | String | — |
changeLogId | — | Int | — |
changeLogIds | — | [Int!]! | — |
entityType | — | String! | — |
entityId | — | ID! | — |
contextEntityType | — | String | — |
contextEntityId | — | ID | — |
status | — | String! | — |
priority | — | TaskPriority! | — |
requiredCapability | — | String! | Matrix capability key an operator must hold to see / claim / resolve this task. Set by the change-log trigger (from task_definitions.required_capability) for change-log-driven tasks, or by the state-driven creators for the rest. Drives the queue filter and per-task authorize() from Phase 11. Resolver falls back to a task-type → capability map when the DB column is NULL, so this field is always non-null at the API boundary. |
assignedTo | — | String | — |
claimedAt | — | DateTime | — |
resolvedBy | — | String | — |
resolvedAt | — | DateTime | — |
dismissedBy | — | String | — |
dismissedAt | — | DateTime | — |
dismissalReason | — | String | — |
groupKey | — | String | — |
createdAt | — | DateTime! | — |
updatedAt | — | DateTime! | — |
version | — | Int! | — |
definition | — | TaskDefinition | — |
changeEvents | — | [ChangeEvent!]! | — |
silkReceipts | — | [SilkReceipt!]! | Silk assignment receipts derived from the task’s change_log_ids. Only populated for SILKS_REVIEW tasks — empty for all other task types. One receipt per runner, reflecting the latest silk action recorded against this task. |
silksFlaggedEntries | — | SilksFlaggedEntries! | Runners currently flagged for this task, computed against the live race state with the same predicate the ingestion trigger uses to raise the task. Empty for non-SILKS_REVIEW tasks. The SILKS_REVIEW UI uses this as the authoritative source for section membership instead of re-deriving it client-side from the runners list. |
race | — | Race | — |
meeting | — | Meeting | — |