> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sia.vision/llms.txt
> Use this file to discover all available pages before exploring further.

# Record an inspection, draft selection or cut finding

> production_review_save: permissions and generated input/output contracts.

`production_review_save` · Gateway release **0.8.3**

Record agent observations of the exact frame/take/output; distinguish inspected video, stills and heard sound. choose\_draft\_frame requires the exact current previewFingerprint and inspected stills, and selects a working frame for continuity/Video while creator review stays unchanged. choose\_draft\_take chooses retained completed footage for a working cut. Evidence never becomes verified human approval. Cut notes/checks and finding resolution are distinct; replacement does not resolve a finding. Final approval stays a Studio decision.

Required scopes: `account:read`, `production:write`. Changes saved state or requests work; review the operation’s effects.

Availability depends on runtime configuration and the permissions granted to this connection. Use live MCP discovery as the authority.

## Input

```json theme={null}
{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "productionId": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{24}$",
      "description": "ID of the saved Production whose asset context must remain pinned."
    },
    "operationId": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9-]{16,64}$",
      "description": "Persist a client-generated UUID before this mutation. Repeat identical inputs and this same ID after interruption; a new ID is a new request."
    },
    "expectedVersion": {
      "type": "integer",
      "minimum": 1,
      "description": "Copy the current version from the latest workflow read. Refresh after a conflict; never increment or guess it."
    },
    "target": {
      "type": "string",
      "enum": [
        "frame",
        "take",
        "cut"
      ]
    },
    "action": {
      "type": "string",
      "enum": [
        "observe",
        "choose_draft_frame",
        "choose_draft_take",
        "cut_action"
      ]
    },
    "evidence": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "picture": {
          "type": "string",
          "enum": [
            "video_inspected",
            "stills_only",
            "not_inspected"
          ]
        },
        "sound": {
          "type": "string",
          "enum": [
            "heard",
            "not_inspected"
          ]
        },
        "observations": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "atSeconds": {
          "type": "number",
          "minimum": 0,
          "maximum": 3600
        },
        "reportedUserInstruction": {
          "type": "string",
          "maxLength": 2000
        }
      },
      "required": [
        "picture",
        "sound",
        "observations"
      ]
    },
    "previewFingerprint": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "Copy the exact receipt returned by previewing this image for the current brief. Do not fabricate it or reuse a stale preview."
    },
    "shotNodeId": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{24}$"
    },
    "sheetId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "renderId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "assetId": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{24}$",
      "description": "ID of an already saved and linked Media record returned by this workflow."
    },
    "jobId": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{24}$",
      "description": "Opaque original job ID returned by generation/admission. Poll or recover it instead of starting another job."
    },
    "expectedReviewRevision": {
      "type": "integer",
      "minimum": 0
    },
    "outputSha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "cutAction": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "const": "cut-check",
              "type": "string"
            },
            "index": {
              "type": "integer",
              "minimum": 0,
              "maximum": 99
            },
            "status": {
              "type": "string",
              "enum": [
                "pass",
                "needs_work",
                "not_checked"
              ]
            },
            "dimensions": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "pose": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                },
                "layout": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                },
                "camera": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                },
                "identity": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                },
                "exposure": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                },
                "sound": {
                  "type": "string",
                  "enum": [
                    "pass",
                    "needs_work",
                    "not_checked"
                  ]
                }
              },
              "required": []
            },
            "note": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "required": [
            "type",
            "index",
            "status",
            "dimensions",
            "note"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "const": "add-finding",
              "type": "string"
            },
            "category": {
              "type": "string",
              "enum": [
                "continuity",
                "picture",
                "sound",
                "timing",
                "script"
              ]
            },
            "shotNodeId": {
              "type": "string",
              "pattern": "^[a-fA-F0-9]{24}$"
            },
            "frame": {
              "type": "integer",
              "minimum": 0
            },
            "expected": {
              "type": "string",
              "maxLength": 2000
            },
            "observed": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            },
            "blocking": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "category",
            "expected",
            "observed",
            "blocking"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "const": "resolve-finding",
              "type": "string"
            },
            "findingId": {
              "type": "string",
              "pattern": "^[a-fA-F0-9]{24}$"
            },
            "resolution": {
              "type": "string",
              "minLength": 1,
              "maxLength": 2000
            }
          },
          "required": [
            "type",
            "findingId",
            "resolution"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "const": "upsert-cue",
              "type": "string"
            },
            "cue": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string",
                  "pattern": "^[a-fA-F0-9]{24}$"
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "dialogue",
                    "sound",
                    "action",
                    "camera"
                  ]
                },
                "startFrame": {
                  "type": "integer",
                  "minimum": 0
                },
                "frameCount": {
                  "type": "integer",
                  "minimum": 1
                },
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "proposed",
                    "confirmed"
                  ]
                }
              },
              "required": [
                "category",
                "startFrame",
                "frameCount",
                "text",
                "status"
              ]
            }
          },
          "required": [
            "type",
            "cue"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "type": {
              "const": "delete-cue",
              "type": "string"
            },
            "cueId": {
              "type": "string",
              "pattern": "^[a-fA-F0-9]{24}$"
            }
          },
          "required": [
            "type",
            "cueId"
          ]
        }
      ]
    }
  },
  "required": [
    "productionId",
    "operationId",
    "expectedVersion",
    "target",
    "action",
    "evidence"
  ]
}
```

## Declared output — partial envelope

This is a partial versioned envelope, not the complete Production receipt. Read the operation’s returned progress and retained result; queued work is not completed media.

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schemaVersion": {
      "type": "string",
      "const": "1"
    }
  },
  "required": [
    "schemaVersion"
  ],
  "additionalProperties": {}
}
```

[All tools](https://docs.sia.vision/mcp-reference.md) · [Permissions](https://docs.sia.vision/authentication.md) · [Media and recovery](https://docs.sia.vision/media-and-recovery.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.