Change Requests

Raise a change request against a frozen baseline, name the records it touches, write or ask Heimdall for the impact on scope, schedule, effort, cost and risk, convene the council, submit it to the approvers whose agreement unlocks the records named, and see the change through to verified.

By the end of this page you will know how a change to an agreed record is asked for and decided: how a change request is raised and numbered, how the records it touches and the baseline it changes are named, how its impact is written by an analyst or drafted by Heimdall and weighed by the council, how its approval unlocks exactly the records it names, how the change is seen through to verified, and what a client guest raises and reads.

A change request is the project's answer to the record was agreed, and now it must change. It carries why (a new requirement, a clarification, a defect, a regulation, the client's wish, debt to repay, scope to drop), who asked, the frozen baseline it changes and the records it touches, and the impact on scope, schedule, effort, cost and risk with a level the approvers read first. Nothing frozen moves until the approvers agree; when they do, the baseline items the request names are unlocked, and only those. Each request is numbered from its own sequence (CRM-CR-2); a number is never handed out twice.

Before you begin

ToYou need
See the change requestschange-request:view-any and change-request:view; a client guest sees their own
Raise onechange-request:create; a client guest raises one without the impact
Change one, move it alongchange-request:update
Move one under analysis, write the impactchange-request:analyse
Ask Heimdall for the impactchange-request:analyse and ai:use, on a project whose assists are on
Submit it to the approverschange-request:approve
Approve or reject itTo be named by the project's Change request policy, or to be the stakeholder who asked
Verify the change landedchange-request:verify
Delete one that was never agreedchange-request:delete

A request needs no baseline: a change to a record nobody froze is still worth a reason, an impact and a verdict. A request against a frozen baseline is the one that unlocks.

Open the page

Baselines in the project's sidebar, then the Change Requests tab. The badge on the sidebar entry counts the requests still open: everything but the rejected, verified and closed ones. The list shows each request's reference, its title with the baseline it is raised against and the stakeholder who asked, its reason, its priority, its impact level (or Not yet), its status and when it last changed. Sort by number, title, reason, priority, impact, status or the last change; filter by reason or status, or search by reference or title; Clear Filters drops every filter.

Raise a request

Press New Change Request. The editor is in three parts:

  • The Change: a Title, the Reason it is raised for, its Priority, the Baseline it is raised against (the frozen baselines of the project; leave it empty when none applies), the stakeholder who asked under Asked by (the client's people from stakeholders; that seat co-signs the impact once an account is linked to it), and a Description of what is asked for and why, in the words of the person who asked.
  • Records Touched: the epics, stories, requirements, rules and use cases the change reaches. With a baseline named, its records are offered; without one, every approved record of the project is. Each pick becomes a link from the request; an approved request unlocks the ones its baseline holds.
  • Impact: the Impact level, the Schedule impact in days, the Effort in hours, the Cost, and the prose on Impact on scope and Impact on risk. Leave what you do not know; the analyst fills it later, or Heimdall does.

Raise Change Request writes it as Submitted, numbered from the project's change requests sequence, with you as the person who raised it, and the people watching the project hear change_request.created.

A title and a reason are enough. The impact can wait for the analyst; the records can be named later, as long as they are named before the approvers decide, since the approval unlocks what is named at that moment.

Analyse the impact

Open the request's flyout. Move to → Under analysis says the analyst has it. Then either write the impact in the editor (Edit), or press Analyse with Heimdall: Heimdall reads the request, the impact you already wrote, the baseline and every record it names with what links to each, 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 put to the client before deciding. The draft lands under Heimdall's reading in the flyout; the numbers and the prose fill only the fields you left empty, and never replace a number you wrote. Ask again after you edit and Heimdall weighs what you wrote against its own reading. A request still only Submitted moves to Under analysis when Heimdall reads it, because it has now been analysed. How the reading is made, what it costs and where it stops is on impact analysis.

For a change that deserves more than one lens, press Convene the Council: the council sits on its Change impact moment with Odin, Loki, Týr and Frigg by default, each reading the same brief through their own lens, and Heimdall's verdict ranks what they found. The sitting appears under The Council in the flyout as the voices speak; the button returns when the sitting is done.

The effort and the cost stay on the team's side

A client guest reads the request's level, its schedule impact, its scope and its risk, never the hours, the cost or Heimdall's draft. Those are the team's working numbers until the approvers decide; the application's services keep them back, not just the screen.

Submit it to the approvers

With the impact written, the Approval bar offers Submit for review to anyone with change-request:approve. The request moves to Awaiting approval; the approvers are the people the project's Change request policy names (the project manager role by default, under the Every approver rule) and, when a stakeholder asked for the change, that stakeholder through the guest account linked to their seat. Each is told, each decides once, and the request waits.

What the approval does when it carries:

  • The request becomes Approved at version 1, stamped with the time.
  • Every baseline item the request names is unlocked, with the request recorded as the reason; the rest of the baseline stays frozen.
  • A requirement or a rule among them that no other frozen baseline holds moves from Baselined back to Approved, so its editor opens again; the next edit marks it changed since its approval and the approval bar asks for a new submission. An epic, a story or a use case is simply free.
  • change_request.status_changed goes out beside the approval's events.

A rejection settles the request as Rejected with the approver's words under Why it was refused; the baseline stands as it was. A rejected request goes back Under analysis by hand when the team wants another round, and is submitted again as a new request. A request for changes holds it until it is edited and resubmitted.

See the change through

An approved request moves by hand along the rest of its lifecycle from the row menu or the flyout: Implementing while the team makes the change, Implemented when it is made, Verified when someone with change-request:verify confirms it landed as asked (the flyout names who and when), and Closed at the end. A request can also be closed from Submitted or Under analysis when it is withdrawn before anyone decides it. The moves into and out of the gate (Awaiting approval, Approved, Rejected) are the approval engine's and the menu does not offer them; while a request is under review, the menu is closed until it is withdrawn.

Edit and delete

A request is edited until the approvers decide it: Edit reopens the editor for the words, the records touched and the impact while it is submitted, under analysis or awaiting approval; every save is a version. An approved or rejected request no longer changes.

Delete Change Request removes a request that was never agreed, with its links and its versions; its number is never handed out again. A request past its gate is closed rather than deleted.

All the fields

What happens next

  • Raising emits change_request.created; every edit change_request.updated with what changed, the records touched included as the keys before and after; a move by hand and the approval engine's moves change_request.status_changed.
  • Heimdall's reading emits change_request.analysed with the level and how many records it named, and files its cost on the team's AI ledger under impact analysis.
  • The approval emits approval.requested, the verdicts and the outcome; the unlock shows on the baseline's records as Unlocked with the request's reference.
  • Deleting emits change_request.deleted; putting an earlier version back change_request.restored.
  • A request raised by a client guest, or asked through their seat, appears in their list and their notifications; the rest of the project's requests do not.

Heimdall on this page

Heimdall raises, reads and analyses change requests in conversation: "The client wants vouchers on renewals too; raise a change request against the signed scope touching CRM-FR-12 and work out the impact" raises it, names the record and reads the impact in one go; "Which change requests are waiting on Pat?" reads the inbox. Heimdall never submits a request to the approvers on its own and never decides one. The impact analysis page explains what the reading is given and where it stops, and the council's change impact moment is the reading to ask for before a high-impact request goes to the client.

From the API and MCP

Permissions

ActionPermission
See the requests and open onechange-request:view-any, change-request:view; a client guest sees the ones they raised or asked for
Raise onechange-request:create; a client guest without the impact
Change one; move it along by handchange-request:update
Move one under analysis; ask Heimdallchange-request:analyse; Heimdall also needs ai:use and the project's assists on
Convene the councilai:use, as staff, on a project whose assists are on
Submit it to the approverschange-request:approve, as staff
Approve or rejectNamed by the policy or the stakeholder who asked; approval:decide over the API
Verifychange-request:verify
Delete one never agreedchange-request:delete
Read and restore the request's versionschange-request:view, change-request:update; staff only

Frequently asked

Does approving a request change the records for me? No. It unlocks them. The requirement, the story or the rule reads as before; you make the change in its own editor, which opens again, and submit the record for its own approval when the change is written. The request moves to implementing, implemented and verified as that work happens.

The approved request named three records but only two were unlocked. The third was not held by the baseline the request names: a record held by another frozen baseline, or by none, is not the request's to unlock. Name the right baseline, or raise a second request against the other one.

Why does the stakeholder who asked also have to approve? Because the request speaks for them. Their seat is added to the approvers beside the policy's people, so the client co-signs the impact of what they asked for. A seat with no linked account cannot decide; invite the person first, or leave the seat off the request.

Can a client guest raise a change request? Yes, with a title, a reason, the baseline and the records; the impact fields are not theirs. The request appears in their list with its level and schedule once the team wrote them, and they hear about the verdict.

How is this guide?

Last updated on

On this page

What changed recentlyEvery release of Zuse Bifrost, with the pages it touched.

For AI agents: llms.txt · llms-full.txt