Transaction Review
transaction-review · Query · Server · Transactions
Reviews the exact validated persistence set and returns the receipt required to commit it.
Availability: Published only in approval-required operational mode.
Generated from Roslyn Workbench MCP 1.1.0 (1.1.0).
Behaviour annotations
| Annotation | Value |
|---|---|
destructiveHint |
false |
idempotentHint |
true |
openWorldHint |
false |
readOnlyHint |
true |
title |
"Transaction Review" |
Request
| Property | Type | Required | Description |
|---|---|---|---|
document |
object | null |
No | Document whose detailed diff should be returned; provide it when includeDiff is true. |
includeDiff |
boolean |
No | Whether to include a detailed diff. |
contextLines |
integer |
No | Number of unchanged context lines around each diff hunk when includeDiff is true. |
expectedSnapshot |
object |
Yes | Echo the snapshot returned with the data or transaction state used to construct this request. |
workspace |
object | null |
No | Provide workspaceId, alias, path, or any combination. |
Response
Success response
| Property | Type | Required | Description |
|---|---|---|---|
ok |
boolean constant (true) |
Yes | Whether the tool invocation succeeded. |
data |
object | null |
Yes | Tool-specific result payload. |
snapshot |
object |
No | Exact immutable workspace snapshot associated with the result, when available. |
warnings |
array |
No | Non-fatal warnings the agent should consider. |
Error response
| Property | Type | Required | Description |
|---|---|---|---|
ok |
boolean constant (false) |
Yes | Whether the tool invocation succeeded. |
error |
object |
Yes | Structured error details when the invocation failed. |
continuation |
oneOf |
No | Action the agent should take before retrying or continuing. |
diagnostics |
array |
No | Diagnostics that explain the failed invocation. |
warnings |
array |
No | Non-fatal warnings the agent should consider. |
Error response
| Property | Type | Required | Description |
|---|---|---|---|
ok |
boolean constant (false) |
Yes | Whether the tool invocation succeeded. |
error |
object |
Yes | Structured error details when the invocation failed. |
diagnostics |
object |
Yes | Diagnostics that explain the failed invocation. |
reporting |
object |
No | Error-reporting workflow available for an unhandled failure. |
Continuations and required actions
A response may include a structured continuation at the following schema location. Follow its tool call or user-action instruction instead of guessing how to continue:
$/oneOf/0/properties/data/properties/continuation$/oneOf/1/properties/continuation
Examples
Create the exact-change receipt
Workflow: Review an exact change for one-use approval, step 3.
Operational modes: approval-required.
Review the validated file operations and obtain the receipt required by approval-required commit.
Expected outcome: A canonical digest, bounded review projection and short-lived receipt identifier are returned without writing files.
{
"expectedSnapshot": {
"workspaceId": "11111111-1111-1111-1111-111111111111",
"workspaceEpoch": 1,
"snapshotId": "22222222-2222-2222-2222-222222222222",
"transactionRevision": 1
},
"workspace": {
"alias": "sample"
}
}
Complete input schema
{
"type": "object",
"properties": {
"document": {
"description": "Document whose detailed diff should be returned; provide it when includeDiff is true.",
"type": [
"object",
"null"
],
"properties": {
"project": {
"description": "Disambiguates documents with matching paths or IDs.",
"type": [
"object",
"null"
],
"properties": {
"projectId": {
"type": "string"
},
"name": {
"type": "string"
},
"path": {
"description": "Workspace-relative path.",
"type": "string"
},
"targetFramework": {
"type": "string"
}
}
},
"path": {
"description": "Workspace-relative path.",
"type": "string"
},
"documentId": {
"description": "Workspace-local document ID.",
"type": "string"
}
}
},
"includeDiff": {
"description": "Whether to include a detailed diff.",
"type": "boolean"
},
"contextLines": {
"description": "Number of unchanged context lines around each diff hunk when includeDiff is true.",
"type": "integer",
"minimum": 0,
"maximum": 2147483647,
"default": 3
},
"expectedSnapshot": {
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"format": "uuid"
},
"workspaceEpoch": {
"type": "integer"
},
"snapshotId": {
"type": "string",
"format": "uuid"
},
"transactionRevision": {
"type": [
"integer",
"null"
]
}
},
"required": [
"workspaceId",
"workspaceEpoch",
"snapshotId",
"transactionRevision"
],
"description": "Echo the snapshot returned with the data or transaction state used to construct this request."
},
"workspace": {
"description": "Provide workspaceId, alias, path, or any combination.",
"type": [
"object",
"null"
],
"properties": {
"workspaceId": {
"type": "string",
"format": "uuid"
},
"alias": {
"type": "string"
},
"path": {
"description": "Absolute workspace path.",
"type": "string"
}
}
}
},
"required": [
"expectedSnapshot"
]
}
Complete output schema
{
"type": "object",
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data"
],
"properties": {
"ok": {
"const": true,
"description": "Whether the tool invocation succeeded."
},
"data": {
"type": [
"object",
"null"
],
"properties": {
"receiptId": {
"description": "Opaque identifier required by transaction-commit in approval-required mode.",
"type": "string"
},
"expiresAt": {
"description": "UTC instant after which this receipt cannot be approved.",
"type": "string",
"format": "date-time"
},
"algorithm": {
"description": "Versioned canonicalisation algorithm used for the change-set digest.",
"type": "string"
},
"changeSetDigest": {
"description": "Lowercase SHA-256 digest of the exact validated persistence set.",
"type": "string"
},
"workspaceId": {
"description": "Workspace identifier bound to this receipt.",
"type": "string",
"format": "uuid"
},
"workspaceEpoch": {
"description": "Workspace load epoch bound to this receipt.",
"type": "integer"
},
"snapshotId": {
"description": "Solution snapshot identifier bound to this receipt.",
"type": "string",
"format": "uuid"
},
"transactionRevision": {
"description": "Transaction revision bound to this receipt.",
"type": "integer"
},
"addedDocumentCount": {
"description": "Number of files created by the reviewed change.",
"type": "integer"
},
"modifiedDocumentCount": {
"description": "Number of files replaced by the reviewed change.",
"type": "integer"
},
"deletedDocumentCount": {
"description": "Number of files deleted by the reviewed change.",
"type": "integer"
},
"transaction": {
"description": "The active transaction info.",
"type": "object",
"properties": {
"revision": {
"description": "Current staged transaction revision.",
"type": "integer"
},
"revisionCount": {
"description": "Number of revisions retained in transaction history.",
"type": "integer"
},
"maxRevisions": {
"description": "Maximum number of revisions the transaction can retain.",
"type": "integer"
},
"remainingRevisions": {
"description": "Number of additional revisions that can be staged.",
"type": "integer"
},
"canMutate": {
"description": "Whether mutation tools may stage another change.",
"type": "boolean"
},
"canUndo": {
"description": "Whether transaction history can move to the preceding revision.",
"type": "boolean"
},
"canRedo": {
"description": "Whether transaction history can move to the following revision.",
"type": "boolean"
},
"canCommit": {
"description": "Whether the staged transaction can be committed to disk.",
"type": "boolean"
},
"canRollback": {
"description": "Whether the complete staged transaction can be discarded.",
"type": "boolean"
}
}
},
"documents": {
"description": "Validated file operations in canonical path order.",
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"operation": {
"type": "string",
"enum": [
"Create",
"Replace",
"Delete"
]
},
"originalExists": {
"type": "boolean"
},
"originalHash": {
"type": [
"string",
"null"
]
},
"intendedHash": {
"type": [
"string",
"null"
]
},
"intendedUnixFileMode": {
"type": [
"integer",
"null"
]
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"targetFramework": {
"type": [
"string",
"null"
]
}
},
"required": [
"path"
]
}
},
"classification": {
"type": "string"
},
"contained": {
"type": "boolean"
},
"lineSummary": {
"type": [
"object",
"null"
],
"properties": {
"addedLines": {
"description": "The number of added lines.",
"type": "integer"
},
"removedLines": {
"description": "The number of removed lines.",
"type": "integer"
},
"changedLines": {
"description": "The number of changed lines.",
"type": "integer"
}
}
}
},
"required": [
"path",
"operation",
"originalExists"
]
}
},
"provenance": {
"description": "Mutation revisions contributing to the reviewed transaction.",
"type": "array",
"items": {
"type": "object",
"properties": {
"revision": {
"description": "One-based transaction revision.",
"type": "integer"
},
"operation": {
"description": "Mutation operation recorded for the revision.",
"type": "string"
},
"summary": {
"description": "Concise mutation summary recorded for the revision.",
"type": "string"
},
"codeAction": {
"description": "Code Action attribution when this revision was produced by a Code Action.",
"type": [