Change Requests
The skills and permissions given to agents affect the company's risk. That is why an agent's configuration, skill or policy changes through two-stage approval. At the end of approval the change is applied and, if wished, written to Git.
Where: Changes (Department head and above).
What is it used for?
| Type | What changes |
|---|---|
Agent configuration (agent_config) | Name, title, department, model, status, owner, agent-specific skills |
Skill (skill) | The content or setting of a company skill |
Policy (policy) | The text of a policy |
Learned guidance (harness) | Approved guidance text used in an agent's prompt (prompt text, a note to remember, tool guidance, skill instructions). Policies, permissions, code and access rules cannot be changed with this type; it is versioned, reversible, and a chat finishes on the version it started with |
A request is opened in these ways: the Change Request button on the Agents page (title, type and proposed values are entered); editing a record on the Skills and Policies pages and pressing Submit for Approval.
Approval flow
submitted ──► dept_head_approved ──► committed
│ │
└──────► rejected ◄┘
| Stage | Who | What they do |
|---|---|---|
| 1. Department approval | Department head or above | Dept Approve or Reject (optional note) |
| 2. Final approval | Executive or founder | Admin Approve & Commit or Reject |
The page has status filters: All, Pending, Dept Approved, Committed, Rejected. When you open a request you see the approval history, notes and the proposed change.
Who may approve what?
- First approval: founder, executive or department head. A department head approves only targets in their own department.
- Final approval: only a company-wide executive or founder. The person who opened the request and the person who gave the first approval cannot give the final one; the requester cannot give the first approval of their own request either.
- The target (agent, skill, policy) must exist in the request's company; the proposed department and responsible person must belong to the same company.
- If two people approve at the same moment only one wins; the other gets
409. - A request is visible to its author, the approvers in scope (company-wide founder/executive/department head, or the head of the agent's department) and the agent's owner.
What happens at final approval?
-
If a Git connection is defined for the company, the change is committed to the relevant file:
- Agent configuration →
agents/<slug>/agent.yaml - Skills →
agents/<slug>/skills.yaml - Policy →
agents/<slug>/policy.yaml
The commit message carries the request title, type and request id; the commit link is written to the request.
- Agent configuration →
-
If the commit succeeds, the change is applied to the database and the request becomes committed.
-
If there is no Git connection, the change is applied directly and the request still becomes committed.
-
If the commit fails, the approval is saved but the change is not applied; the error is written to the request's note. You need to fix the problem and try again (see Settings → Git).
Change-request commits currently work only for GitHub. Managing company policies like a code repository with a local git system is planned work and does not exist yet; see Developer Notes.
Agent settings (model, status, owner, skills, policy links) can be written directly through the API only by a company-wide founder or executive; a department head may only set up an agent that is still draft. For a live agent everyone opens a change request.