Criterion
One line of a work item's Definition of Done: a statement, optionally bound to evidence the platform checks, with its current verdict and the evidence behind it. It moves with its work item.
Shape
- created_atstring
- criterion_idCriterionId (string · uuid)The criterion's identifier. It never changes, so rewording or re-binding a criterion keeps its identity and its evidence.
- issue_uidIssueUid (string · uuid)
- stateCriterionStateunverifiedpassingfailingstalemanualA criterion's verdict.
- textstringThe human statement — the criterion's title. The label, not the identity.
- updated_atstring
- binding_exprstring or nulloptionalThe binding's
@-expression, as written. Absent for a manual criterion. - binding_keystring or nulloptionalThe normalised form of
binding_expr, which two equivalent spellings share. Absent for a manual criterion. - checkedbooleanoptionalWhether the box is ticked. Meaningful only for a manual criterion — a bound one is ticked by its
state, and ticking it by hand is refused with a409. - descriptionstring or nulloptionalAn optional longer description (markdown) — the per-criterion detail a flat checkbox could never hold.
- facet_categoryFacetCategory (string) or nulloptional
- facet_keyFacetKey (string) or nulloptionalThe blueprint facet this criterion belongs to, when a blueprint added it. Absent for a criterion written directly. A facet's state is rolled up from the criteria carrying its key.
- last_evidence_atstring or nulloptional
- last_evidence_commit_shaCommitHash (string) or nulloptional
- last_evidence_node_run_idNodeRunId (string · uuid) or nulloptional
- last_evidence_pipeline_idPipelineId (string · uuid) or nulloptionalThe pipeline whose run last provided evidence for this criterion. Only a later run of the same pipeline can make the criterion
stale. - last_evidence_run_idPipelineRunId (string · uuid) or nulloptional
- last_evidence_valuenumber · double or nulloptionalThe observed value, for a
MetricorCoveragebinding. - ordinalinteger · int32optional0–∞Position in the description, so the list round-trips in authoring order.
- required_for_closebooleanoptional
@optionalopts out. Everything else in a Definition of Done is required by definition.
Example
Synthesized example{
"created_at": "2026-10-10T06:03:36Z",
"criterion_id": "06c29c92-7eb3-46cb-a556-d1cd979f325b",
"issue_uid": "ceac92a5-5514-4717-ade2-6409f5ddbedb",
"state": "unverified",
"text": "text-eaa6",
"updated_at": "2026-10-16T16:24:57Z",
"binding_expr": "binding-expr-852d",
"binding_key": "binding-key-8266",
"checked": false,
"description": "Renders each region as density contours of its operations.",
"facet_category": "facet-category-22b6",
"facet_key": "facet-key-93a6",
"last_evidence_at": "2026-10-16T17:09:10Z",
"last_evidence_commit_sha": "76d59f0a34fa66cea800afc837592c0c9ee0c350",
"last_evidence_node_run_id": "fcc4ec67-0f08-41a3-8e77-f03bd7c5c11d",
"last_evidence_pipeline_id": "96460df4-d9f0-451b-ba1a-bb019b5f6327",
"last_evidence_run_id": "9e2b7c41-3d5a-4f8e-b1c2-7a6d5e4f3c2b",
"last_evidence_value": 67,
"ordinal": 69,
"required_for_close": false
}
Graph
Used inside
No schema contains this one.
Contains
No named schema inside.
Used by
Sent by 0 operations
No operation takes it as a request body.
Returned by 0 operations
No operation returns it directly.