READ

list_quality_reviews

The quality reviews Heimdall wrote of one work item, requirement or business rule, newest first, each with the version it read, its score, band, summary and findings; free to call.

Return every quality review Heimdall wrote of one record, newest first: each with the version of the record it read, the score and its band, a summary and the findings with their codes, severities, the words concerned and the suggestions. Read the first review before you implement or test a record, and compare its version with the record's current version from list_revisions: a review of an older version may be stale, and only review_quality spends the budget to refresh it.

The record is named by artefact_type (work-item, requirement or business-rule) and artefact_id. The list is empty for a record never reviewed. A guest token is refused.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Annotations

Read-only

It reads and never changes anything.

Arguments

artefact_type*string

The record's type: a work item, a requirement or a business rule.

work-itemrequirementbusiness-rule
artefact_id*string

UUID of the record whose reviews to list.

What it returns

{  "data": [    {      "id": "b7c8d9e0-f1a2-4b3c-8d4e-5f6a7b8c9d01",      "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "artefact_type": "work-item",      "artefact_id": "0f9e8d7c-6b5a-4c3d-8e2f-1a0b9c8d7e6f",      "version": 3,      "score": 71,      "band": "needs_work",      "summary": "A clear story with a measurable goal; one criterion cannot be verified as written and one word leaves the scope open.",      "findings": [        {          "code": "testable",          "severity": "high",          "message": "The criterion \"the basket updates quickly\" cannot pass or fail: \"quickly\" has no limit.",          "suggestion": "Then the basket total updates within 1 second of the voucher being applied.",          "field": "criteria"        }      ],      "findings_count": 1,      "provider": "anthropic",      "model": "the model the quality role is configured with",      "usage_id": "c9d0e1f2-a3b4-4c5d-8e6f-7a8b9c0d1e23",      "reviewed_by": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f",      "reviewer_name": "Jane Doe",      "reviewed_at": "2026-10-28T11:00:00+00:00",      "created_at": "2026-10-28T11:00:00+00:00"    },    {      "id": "a6b7c8d9-e0f1-4a2b-8c3d-4e5f6a7b8c90",      "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",      "artefact_type": "work-item",      "artefact_id": "0f9e8d7c-6b5a-4c3d-8e2f-1a0b9c8d7e6f",      "version": 1,      "score": 40,      "band": "not_ready",      "summary": "The story has no acceptance criteria and reads as an epic.",      "findings": [        {          "code": "missing_criteria",          "severity": "high",          "message": "The story has no acceptance criteria.",          "suggestion": "Add one criterion per outcome: the voucher applied, refused when expired, refused twice.",          "field": "criteria"        },        {          "code": "small",          "severity": "high",          "message": "\"Apply vouchers, gift cards and loyalty points at checkout\" is three stories.",          "suggestion": "Split it: one story per tender kind.",          "field": "title"        },        {          "code": "ambiguous",          "severity": "medium",          "message": "\"Some vouchers\" leaves open which vouchers apply.",          "suggestion": "Name the voucher kinds.",          "field": "description"        }      ],      "findings_count": 3,      "provider": "anthropic",      "model": "the model the quality role is configured with",      "usage_id": "d0e1f2a3-b4c5-4d6e-8f7a-8b9c0d1e2f34",      "reviewed_by": "c3d4e5f6-a7b8-4c9d-8e0f-1a2b3c4d5e6f",      "reviewer_name": "Jane Doe",      "reviewed_at": "2026-10-27T15:30:00+00:00",      "created_at": "2026-10-27T15:30:00+00:00"    }  ]}

How it fails

VALIDATION_FAILED

artefact_type is not work-item, requirement or business-rule; the response lists them.

RESOURCE_NOT_FOUND

unknown artefact_id, or a record of a project outside the token's scope or the person's visibility.

FORBIDDEN

the token is a client guest's.

TOKEN_MISSING_ABILITY

token lacks activity:read.

How is this guide?

Last updated on