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
| To | You need |
|---|---|
| See the change requests | change-request:view-any and change-request:view; a client guest sees their own |
| Raise one | change-request:create; a client guest raises one without the impact |
| Change one, move it along | change-request:update |
| Move one under analysis, write the impact | change-request:analyse |
| Ask Heimdall for the impact | change-request:analyse and ai:use, on a project whose assists are on |
| Submit it to the approvers | change-request:approve |
| Approve or reject it | To be named by the project's Change request policy, or to be the stakeholder who asked |
| Verify the change landed | change-request:verify |
| Delete one that was never agreed | change-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_changedgoes 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 editchange_request.updatedwith what changed, the records touched included as the keys before and after; a move by hand and the approval engine's moveschange_request.status_changed. - Heimdall's reading emits
change_request.analysedwith 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 backchange_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
Change Requests API
A project's requests, one with the records it touches, raise, change, move, verify, analyse and delete, the versions, and the submit door.
raise_change_request
An agent raises a request with the baseline and the records it touches, impact included when known.
analyse_change_impact
Heimdall's reading of a request on an agent's word, metered like the panel.
change_request.* events
Created, updated, status changed, analysed, restored and deleted.
Permissions
| Action | Permission |
|---|---|
| See the requests and open one | change-request:view-any, change-request:view; a client guest sees the ones they raised or asked for |
| Raise one | change-request:create; a client guest without the impact |
| Change one; move it along by hand | change-request:update |
| Move one under analysis; ask Heimdall | change-request:analyse; Heimdall also needs ai:use and the project's assists on |
| Convene the council | ai:use, as staff, on a project whose assists are on |
| Submit it to the approvers | change-request:approve, as staff |
| Approve or reject | Named by the policy or the stakeholder who asked; approval:decide over the API |
| Verify | change-request:verify |
| Delete one never agreed | change-request:delete |
| Read and restore the request's versions | change-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.
Related
- Baselines — what a request unlocks and how it was frozen
- Approvals — the engine, the policies and the inbox
- Impact analysis — what Heimdall reads and how it answers
- The council — the change impact moment
- Signing off the scope — the client's side of a baseline and a request
- Status reference — every reason, status and impact level
How is this guide?
Last updated on
Baselines
Compose a baseline from approved records, submit it for the project manager's approval that freezes it, have the client sign a scope baseline, read what it holds, supersede it, and understand the lock a frozen baseline puts on every record it holds.
Building
Where the team turns the planning record into working software: the sprints it plans and commits to, the board it works them on, with the time tracking, the definitions of ready and done and the Git links joining as they land.