DESTRUCTIVE

analyse_change_impact

Asks Heimdall to read one change request against its baseline and the records it names, writes the draft onto the request, fills the impact fields the analyst left empty, and answers with the request; one metered call under the team's AI budget.

Get Heimdall's reading of a change request's impact. Heimdall is given the request as raised, the impact already written, the baseline it changes with every record held, and each record the request names in full with what links to it, and answers with a summary, the scope and the risk as prose, a schedule in days, an effort in hours, a level, the records it believes the request forgot and the questions to ask before deciding. The whole reading is kept on the request as ai_impact_draft with analysed_at; the request's own fields are filled only where they were empty (the level, the schedule, the effort, the scope, the risk), and a number the analyst wrote is never replaced. A request still only submitted moves under_analysis. The call is metered like a turn in the Heimdall panel: the budget is asked for room first and the usage is filed as impact analysis, and change_request.analysed goes out. Heimdall estimates; the people decide, and nothing is submitted or unlocked by this call.

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.

Delivered to every endpoint subscribed to it once the change is made.

Annotations

Destructive

A client that honours annotations asks a person before running it.

Arguments

change_request_id*string

UUID of the change request to analyse.

What it returns

{  "data": {    "id": "c7d8e9f0-a1b2-4c3d-8e4f-5a6b7c8d9e0f",    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "number": 2,    "reference": "CRM-CR-2",    "title": "Accept vouchers on subscriptions too",    "description": "<p>The client wants the voucher applied to the first renewal as well.</p>",    "reason": "client_request",    "requested_by": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",    "requester_name": "Bea Analyst",    "stakeholder_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",    "stakeholder_name": "Gail of the Client",    "baseline_id": "6a7b8c9d-0e1f-4a2b-8c3d-4e5f6a7b8c9d",    "baseline_name": "v1.0 scope",    "affected": [      {        "artefact_type": "requirement",        "artefact_id": "a8b9c0d1-e2f3-4a4b-9c5d-6e7f8a9b0c13",        "reference": "CRM-FR-12",        "title": "Password reset by email"      }    ],    "impact_scope": "<p><strong>CRM-FR-12</strong> gains a renewal clause; the story that implements it and its tests change.</p>",    "impact_schedule_days": 3,    "impact_effort_hours": "12.50",    "impact_cost": null,    "impact_risk": "<p>The renewal job runs unattended; a wrong template confuses rather than leaks.</p>",    "impact_level": "medium",    "ai_impact_draft": "<p>A small change to the renewal flow; the story that implements the requirement changes with it.</p><h4>Scope</h4><p><strong>CRM-FR-12</strong> gains a renewal clause; the story that implements it and its tests change.</p><h4>Risk</h4><p>The renewal job runs unattended; a wrong template confuses rather than leaks.</p><h4>Records touched</h4><ul><li><strong>CRM-142</strong> Apply a voucher at checkout: implements the requirement and changes with it.</li></ul><h4>To ask before deciding</h4><ul><li>Does the renewal email carry the voucher as well?</li></ul>",    "analysed_at": "2026-10-29T10:40:00+00:00",    "priority": "high",    "status": "under_analysis",    "decision_note": null,    "verified_by": null,    "verified_at": null,    "version": 0,    "approved_at": null,    "approved_revision_id": null,    "position": 1,    "created_at": "2026-10-29T09:20:00+00:00",    "updated_at": "2026-10-29T10:40:00+00:00"  }}

How it fails

VALIDATION_FAILED

the provider did not answer; nothing was written and nothing filed.

AI_BUDGET_EXHAUSTED

the team's monthly AI budget has no room; a team admin raises it under Settings → AI.

RESOURCE_NOT_FOUND

unknown change_request_id, or a request outside the token's scope.

FORBIDDEN

the token is a client guest's, the holder's role on the project does not carry change-request:analyse or ai:use, or the project's assists are off.

TOKEN_MISSING_ABILITY

token lacks change-request:analyse.

How is this guide?

Last updated on