Skip to content
MCPProductBuild and shipChange

Change programs: merge, revert, review

The Change Verbs merge, revert, review as MCP do programs, with inputs, result, refusals and an example.

Reference for Change, one group of Change programs.

Change.merge

Merge applies a Change to live data with a three-way, field-level merge against its base Version. Verb page.

Text
do: return await $.Change.merge(input)

Emits Change.merged.

Inputs

InputTypeRequiredDescription
changeChangerequiredThe reviewed Change.

Returns

OutputTypeRequiredDescription
versionVersionrequiredThe new Version.
changeChangerequiredThe Change, now merged into live data.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record changed since it was read, so the write would overwrite a newer version.conflictRead the record again, then retry the write against its current state.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Change.merge({ change: 'change_3Ex8uVSOyQ' })"
  }
}

Change.revert

Revert undoes a merged Change with a new Change and a superseding Decision, deleting nothing. Verb page.

Text
do: return await $.Change.revert(input)

Emits Change.reverted.

Inputs

InputTypeRequiredDescription
changeChangerequiredThe merged Change to undo.
reasontextrequiredWhy it is undone.

Returns

OutputTypeRequiredDescription
revertChangerequiredThe Change that undoes it.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Change.revert({ change: 'change_3Ex8uVSOyQ', reason: 'Example reason' })"
  }
}

Change.review

Review runs every Evaluator on a Change’s preview and records each verdict on the Change. Verb page.

Text
do: return await $.Change.review(input)

Emits Change.reviewed.

Inputs

InputTypeRequiredDescription
changeChangerequiredThe open Change.

Returns

OutputTypeRequiredDescription
changeChangerequiredThe Change with its verdicts.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Change.review({ change: 'change_3Ex8uVSOyQ' })"
  }
}