changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "document": {
+ "additionalProperties": false,
+ "description": "Artifact metadata and lifecycle counters.",
+ "properties": {
+ "canManage": {
+ "type": "boolean"
+ },
+ "commentPolicy": {
+ "description": "Who may add comments: nobody, invited reviewers, signed-in users, or anyone.",
+ "enum": [
+ "disabled",
+ "invited",
+ "authenticated",
+ "anyone"
+ ],
+ "type": "string"
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "createdBy": {
+ "type": "string"
+ },
+ "createdByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "createdByType": {
+ "anyOf": [
+ {
+ "enum": [
+ "human",
+ "agent"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "createdOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "createdOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "latestVersionId": {
+ "anyOf": [
+ {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "openThreadCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "ownerId": {
+ "type": "string"
+ },
+ "settingsUpdatedAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "settingsUpdatedBy": {
+ "type": "string"
+ },
+ "settingsUpdatedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "settingsUpdatedByType": {
+ "anyOf": [
+ {
+ "enum": [
+ "human",
+ "agent"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "settingsUpdatedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "settingsUpdatedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "sourceType": {
+ "description": "Source format used by every version of the artifact.",
+ "enum": [
+ "markdown",
+ "html"
+ ],
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ },
+ "updatedAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "versionCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "visibility": {
+ "description": "Artifact visibility: private, link-accessible unlisted, or public.",
+ "enum": [
+ "private",
+ "unlisted",
+ "public"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "canManage",
+ "commentPolicy",
+ "createdAt",
+ "createdBy",
+ "createdByName",
+ "createdByType",
+ "createdOnBehalfOfId",
+ "createdOnBehalfOfName",
+ "id",
+ "latestVersionId",
+ "openThreadCount",
+ "ownerId",
+ "settingsUpdatedAt",
+ "settingsUpdatedBy",
+ "settingsUpdatedByName",
+ "settingsUpdatedByType",
+ "settingsUpdatedOnBehalfOfId",
+ "settingsUpdatedOnBehalfOfName",
+ "sourceType",
+ "title",
+ "updatedAt",
+ "versionCount",
+ "visibility"
+ ],
+ "type": "object"
+ },
+ "reviewRequests": {
+ "items": {
+ "additionalProperties": false,
+ "description": "Targeted review request for an immutable version.",
+ "properties": {
+ "assigneeId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completedBy": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "documentId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "instructions": {
+ "type": "string"
+ },
+ "requesterId": {
+ "type": "string"
+ },
+ "requesterName": {
+ "type": "string"
+ },
+ "requesterOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "requesterOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "requesterType": {
+ "enum": [
+ "human",
+ "agent"
+ ],
+ "type": "string"
+ },
+ "status": {
+ "description": "Current review-request state.",
+ "enum": [
+ "pending",
+ "completed",
+ "cancelled"
+ ],
+ "type": "string"
+ },
+ "versionId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "assigneeId",
+ "completedAt",
+ "completedBy",
+ "completedByName",
+ "completedOnBehalfOfId",
+ "completedOnBehalfOfName",
+ "createdAt",
+ "documentId",
+ "id",
+ "instructions",
+ "requesterId",
+ "requesterName",
+ "requesterOnBehalfOfId",
+ "requesterOnBehalfOfName",
+ "requesterType",
+ "status",
+ "versionId"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "source": {
+ "type": "string"
+ },
+ "threads": {
+ "items": {
+ "additionalProperties": false,
+ "description": "Preserved review thread with its replies and status.",
+ "properties": {
+ "anchor": {
+ "description": "Location for a new thread: the whole artifact, exact text, or an HTML element.",
+ "oneOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "document",
+ "description": "Anchor the thread to the whole artifact.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "text",
+ "description": "Anchor the thread to an exact text selection.",
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": false,
+ "description": "Text selection and optional surrounding context.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact",
+ "prefix",
+ "suffix"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "quote"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "kind": {
+ "const": "element",
+ "description": "Anchor the thread to an HTML element path.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Stable DOM path for the referenced HTML element.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": false,
+ "description": "Optional text context used to carry the anchor forward.",
+ "properties": {
+ "exact": {
+ "description": "Exact selected text in the referenced version.",
+ "maxLength": 2000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "prefix": {
+ "default": "",
+ "description": "Optional text immediately before the selection.",
+ "maxLength": 250,
+ "type": "string"
+ },
+ "suffix": {
+ "default": "",
+ "description": "Optional text immediately after the selection.",
+ "maxLength": 250,
+ "type": "string"
+ }
+ },
+ "required": [
+ "exact",
+ "prefix",
+ "suffix"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "kind",
+ "path"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "comments": {
+ "items": {
+ "additionalProperties": false,
+ "description": "One saved review comment.",
+ "properties": {
+ "authorId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "authorName": {
+ "type": "string"
+ },
+ "authorOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "authorOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "body": {
+ "type": "string"
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "editedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "authorId",
+ "authorName",
+ "authorOnBehalfOfId",
+ "authorOnBehalfOfName",
+ "body",
+ "createdAt",
+ "editedAt",
+ "id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "createdVersionId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "currentVersionId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "documentId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "outdated": {
+ "type": "boolean"
+ },
+ "resolvedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedBy": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "resolvedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "status": {
+ "description": "Current review-thread state.",
+ "enum": [
+ "open",
+ "resolved"
+ ],
+ "type": "string"
+ },
+ "statusUpdatedAt": {
+ "anyOf": [
+ {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedBy": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedByName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "statusUpdatedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "anchor",
+ "comments",
+ "createdAt",
+ "createdVersionId",
+ "currentVersionId",
+ "documentId",
+ "id",
+ "outdated",
+ "resolvedAt",
+ "resolvedBy",
+ "resolvedByName",
+ "resolvedOnBehalfOfId",
+ "resolvedOnBehalfOfName",
+ "status",
+ "statusUpdatedAt",
+ "statusUpdatedBy",
+ "statusUpdatedByName",
+ "statusUpdatedOnBehalfOfId",
+ "statusUpdatedOnBehalfOfName"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "versions": {
+ "items": {
+ "additionalProperties": false,
+ "description": "Metadata for one immutable artifact version.",
+ "properties": {
+ "createdAt": {
+ "description": "ISO 8601 timestamp.",
+ "type": "string"
+ },
+ "documentId": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "id": {
+ "format": "uuid",
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
+ "type": "string"
+ },
+ "number": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "publishedBy": {
+ "type": "string"
+ },
+ "publishedByName": {
+ "type": "string"
+ },
+ "publishedByType": {
+ "enum": [
+ "human",
+ "agent"
+ ],
+ "type": "string"
+ },
+ "publishedOnBehalfOfId": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "publishedOnBehalfOfName": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "sourceHash": {
+ "type": "string"
+ },
+ "sourceSize": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sourceType": {
+ "description": "Source format used by every version of the artifact.",
+ "enum": [
+ "markdown",
+ "html"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "createdAt",
+ "documentId",
+ "id",
+ "number",
+ "publishedBy",
+ "publishedByName",
+ "publishedByType",
+ "publishedOnBehalfOfId",
+ "publishedOnBehalfOfName",
+ "sourceHash",
+ "sourceSize",
+ "sourceType"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "document",
+ "reviewRequests",
+ "threads",
+ "versions"
+ ],
+ "type": "object"
+}