Skip to content

Change sets

When an agent needs to change something, it writes a change set: a YAML manifest of steps. A person with the right to approve reviews it. DELEGATE then runs exactly the approved revision.

change: 1
title: Rename the line-3 project
summary: The project name is wrong in the fleet view.
risk: low
stages:
- name: Rename
steps:
- call:
connection: logiccloud Control
operation: renameProject
input: { id: 'p-17', name: 'Line 3' }
verify:
- call:
connection: logiccloud Control
operation: getProject
input: { id: 'p-17' }
rollback:
- call:
connection: logiccloud Control
operation: renameProject
input: { id: 'p-17', name: 'Line three' }

A step is a typed call that DELEGATE makes with the credentials of the person the change set was proposed for:

  • call: { connection, operation, input } runs an imported API operation.
  • call: { mcp, tool, arguments } runs an MCP tool.

connection and mcp take the name shown in DELEGATE or the name the workspace knows it under (delegate-mcp for Delegate MCP).

A run: step is a bash command. It runs in a separate executor on a copy of the workspace’s files, never in the workspace itself. It may write only what the manifest declares under access, for example:

access:
- connection: Package registry
methods: [PUT]
path: /packages/*
- mcp: Orchestrate
tools: [restart_runtime]

Typed calls are easier to review and are recorded call by call; prefer them.

  • Each stage runs its steps, then its verify steps.
  • gate: approval (the default) pauses after the stage until a person chooses Continue; gate: auto goes on.
  • parallel runs branches one after another.
  • if branches on a call (success takes then) or asks a person (ask).
  • rollback runs when a person chooses Roll back.

The change set page draws the flow as a BPMN-style diagram, top to bottom: circles for start and end, a box for each stage, + diamonds around a parallel block and × diamonds around an if. The colour of a node shows its state; a hand marks a gate. The arm an if did not take is dashed. Select a node to see what it does: the calls of a stage with their input and latest response, what decides an if and what each answer runs, and what comes after the gate. List shows every stage with all its steps at once.

Approval is bound to the revision and its checksum: if the agent revises the manifest, the new revision needs a new approval. Nobody approves their own change set. A reviewer can request changes; the note goes back to the agent.

A change set can be saved as a template with parameters ({{ name }} stands for a whole value). Starting a template creates an ordinary change set, which still needs approval.