removedInput schema / properties / after / anyOf
Removed value: -[
- {
- "additionalProperties": false,
- "description": "Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "boundary": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "charged": {
- "type": "boolean"
- },
- "costInputs": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "error": {
- "type": "string"
- },
- "jobId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "jobStatus": {
- "enum": [
- "running",
- "completed",
- "completed_with_unknown",
- "stopped",
- "interrupted"
- ],
- "type": "string"
- },
- "ok": {
- "type": "boolean"
- },
- "partial": {
- "type": "boolean"
- },
- "product": {
- "const": "samedaydesk-extract-batch",
- "type": "string"
- },
- "quote": {
- "additionalProperties": true,
- "properties": {
- "amountAtomic": {
- "const": "10000",
- "type": "string"
- },
- "displayUsdc": {
- "const": "0.01",
- "type": "string"
- },
- "meaning": {
- "type": "string"
- }
- },
- "required": [
- "amountAtomic",
- "displayUsdc",
- "meaning"
- ],
- "type": "object"
- },
- "schemaVersion": {
- "const": "samedaydesk.extract-batch.v0",
- "type": "string"
- },
- "sources": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "stopReason": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "ok",
- "product",
- "schemaVersion",
- "quote",
- "jobId",
- "jobStatus",
- "stopReason",
- "partial",
- "sources",
- "accounting",
- "costInputs",
- "charged",
- "boundary"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "costParameters": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "items": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "jobId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "jobId",
- "status",
- "costParameters",
- "accounting",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "body": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "boundary": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "charged": {
- "type": "boolean"
- },
- "costInputs": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "error": {
- "type": "string"
- },
- "jobId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "jobStatus": {
- "enum": [
- "running",
- "completed",
- "completed_with_unknown",
- "stopped",
- "interrupted"
- ],
- "type": "string"
- },
- "ok": {
- "type": "boolean"
- },
- "partial": {
- "type": "boolean"
- },
- "product": {
- "const": "samedaydesk-extract-batch",
- "type": "string"
- },
- "quote": {
- "additionalProperties": true,
- "properties": {
- "amountAtomic": {
- "const": "10000",
- "type": "string"
- },
- "displayUsdc": {
- "const": "0.01",
- "type": "string"
- },
- "meaning": {
- "type": "string"
- }
- },
- "required": [
- "amountAtomic",
- "displayUsdc",
- "meaning"
- ],
- "type": "object"
- },
- "schemaVersion": {
- "const": "samedaydesk.extract-batch.v0",
- "type": "string"
- },
- "sources": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "stopReason": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "ok",
- "product",
- "schemaVersion",
- "quote",
- "jobId",
- "jobStatus",
- "stopReason",
- "partial",
- "sources",
- "accounting",
- "costInputs",
- "charged",
- "boundary"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "costParameters": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "items": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "jobId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "jobId",
- "status",
- "costParameters",
- "accounting",
- "items"
- ],
- "type": "object"
- }
- ]
- },
- "mediaType": {
- "const": "application/json",
- "type": "string"
- },
- "observedAt": {
- "description": "Caller observation metadata only; does not attest freshness.",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "body"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Intentionally permissive diagnostic alternative, not a template for a useful comparison. Missing/wrong schemas, keys, source identities or fields do not become valid comparison evidence. A missing snapshot can be supplied as {missing:true}. Safety admission still rejects paths, URL dereference, limit raises and invalid envelopes.",
- "properties": {},
- "type": "object"
- }
-]
changedInput schema / properties / before / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "boundary": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "charged": {
- "type": "boolean"
- },
- "costInputs": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "error": {
- "type": "string"
- },
- "jobId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "jobStatus": {
- "enum": [
- "running",
- "completed",
- "completed_with_unknown",
- "stopped",
- "interrupted"
- ],
- "type": "string"
- },
- "ok": {
- "type": "boolean"
- },
- "partial": {
- "type": "boolean"
- },
- "product": {
- "const": "samedaydesk-extract-batch",
- "type": "string"
- },
- "quote": {
- "additionalProperties": true,
- "properties": {
- "amountAtomic": {
- "const": "10000",
- "type": "string"
- },
- "displayUsdc": {
- "const": "0.01",
- "type": "string"
- },
- "meaning": {
- "type": "string"
- }
- },
- "required": [
- "amountAtomic",
- "displayUsdc",
- "meaning"
- ],
- "type": "object"
- },
- "schemaVersion": {
- "const": "samedaydesk.extract-batch.v0",
- "type": "string"
- },
- "sources": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "stopReason": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "ok",
- "product",
- "schemaVersion",
- "quote",
- "jobId",
- "jobStatus",
- "stopReason",
- "partial",
- "sources",
- "accounting",
- "costInputs",
- "charged",
- "boundary"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "costParameters": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "items": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "jobId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "jobId",
- "status",
- "costParameters",
- "accounting",
- "items"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "body": {
- "anyOf": [
- {
- "additionalProperties": false,
- "description": "Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "boundary": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "charged": {
- "type": "boolean"
- },
- "costInputs": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "error": {
- "type": "string"
- },
- "jobId": {
- "pattern": "^[a-f0-9]{64}$",
- "type": "string"
- },
- "jobStatus": {
- "enum": [
- "running",
- "completed",
- "completed_with_unknown",
- "stopped",
- "interrupted"
- ],
- "type": "string"
- },
- "ok": {
- "type": "boolean"
- },
- "partial": {
- "type": "boolean"
- },
- "product": {
- "const": "samedaydesk-extract-batch",
- "type": "string"
- },
- "quote": {
- "additionalProperties": true,
- "properties": {
- "amountAtomic": {
- "const": "10000",
- "type": "string"
- },
- "displayUsdc": {
- "const": "0.01",
- "type": "string"
- },
- "meaning": {
- "type": "string"
- }
- },
- "required": [
- "amountAtomic",
- "displayUsdc",
- "meaning"
- ],
- "type": "object"
- },
- "schemaVersion": {
- "const": "samedaydesk.extract-batch.v0",
- "type": "string"
- },
- "sources": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 5,
- "minItems": 1,
- "type": "array"
- },
- "stopReason": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "ok",
- "product",
- "schemaVersion",
- "quote",
- "jobId",
- "jobStatus",
- "stopReason",
- "partial",
- "sources",
- "accounting",
- "costInputs",
- "charged",
- "boundary"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "accounting": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "costParameters": {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- "items": {
- "items": {
- "additionalProperties": true,
- "properties": {
- "data": {
- "anyOf": [
- {
- "additionalProperties": true,
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "properties": {
- "aiReadiness": {
- "description": "Selected extraction value: aiReadiness."
- },
- "canonical": {
- "description": "Selected extraction value: canonical."
- },
- "description": {
- "description": "Selected extraction value: description."
- },
- "headings": {
- "description": "Selected extraction value: headings."
- },
- "jsonLd": {
- "description": "Selected extraction value: jsonLd."
- },
- "lang": {
- "description": "Selected extraction value: lang."
- },
- "links": {
- "description": "Selected extraction value: links."
- },
- "openGraph": {
- "description": "Selected extraction value: openGraph."
- },
- "text": {
- "description": "Selected extraction value: text."
- },
- "title": {
- "description": "Selected extraction value: title."
- },
- "twitter": {
- "description": "Selected extraction value: twitter."
- }
- },
- "type": "object"
- },
- {
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
- "type": "null"
- }
- ],
- "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "finalUrl": {
- "type": [
- "string",
- "null"
- ]
- },
- "httpStatus": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "id": {
- "description": "Row identifier; does not replace source identity.",
- "type": "string"
- },
- "notes": {
- "type": "array"
- },
- "provenance": {
- "anyOf": [
- {
- "additionalProperties": true,
- "properties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "source": {
- "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "status": {
- "enum": [
- "pending",
- "success",
- "partial",
- "failure",
- "unknown",
- "skipped_duplicate"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "source",
- "status",
- "data",
- "notes",
- "error",
- "provenance"
- ],
- "type": "object"
- },
- "maxItems": 32,
- "minItems": 1,
- "type": "array"
- },
- "jobId": {
- "type": "string"
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "jobId",
- "status",
- "costParameters",
- "accounting",
- "items"
- ],
- "type": "object"
- }
- ]
- },
- "mediaType": {
- "const": "application/json",
- "type": "string"
- },
- "observedAt": {
- "description": "Caller observation metadata only; does not attest freshness.",
- "type": [
- "string",
- "null"
- ]
- },
- "status": {
- "type": "string"
- }
- },
- "required": [
- "body"
- ],
- "type": "object"
- },
- {
- "additionalProperties": true,
- "description": "Intentionally permissive diagnostic alternative, not a template for a useful comparison. Missing/wrong schemas, keys, source identities or fields do not become valid comparison evidence. A missing snapshot can be supplied as {missing:true}. Safety admission still rejects paths, URL dereference, limit raises and invalid envelopes.",
- "properties": {},
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Representative merchant structure for useful comparisons; not a new paid request or proof of payment. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
+ "properties": {
+ "accounting": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"
+ },
+ "boundary": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"
+ },
+ "charged": {
+ "$ref": "#/properties/before/anyOf/0/properties/ok"
+ },
+ "costInputs": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"
+ },
+ "error": {
+ "$ref": "#/properties/before/anyOf/0/properties/quote/properties/meaning"
+ },
+ "jobId": {
+ "pattern": "^[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "jobStatus": {
+ "enum": [
+ "running",
+ "completed",
+ "completed_with_unknown",
+ "stopped",
+ "interrupted"
+ ],
+ "type": "string"
+ },
+ "ok": {
+ "type": "boolean"
+ },
+ "partial": {
+ "$ref": "#/properties/before/anyOf/0/properties/ok"
+ },
+ "product": {
+ "const": "samedaydesk-extract-batch",
+ "type": "string"
+ },
+ "quote": {
+ "additionalProperties": true,
+ "properties": {
+ "amountAtomic": {
+ "const": "10000",
+ "type": "string"
+ },
+ "displayUsdc": {
+ "const": "0.01",
+ "type": "string"
+ },
+ "meaning": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amountAtomic",
+ "displayUsdc",
+ "meaning"
+ ],
+ "type": "object"
+ },
+ "schemaVersion": {
+ "const": "samedaydesk.extract-batch.v0",
+ "type": "string"
+ },
+ "sources": {
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "data": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
+ "properties": {
+ "aiReadiness": {
+ "description": "Selected extraction value: aiReadiness."
+ },
+ "canonical": {
+ "description": "Selected extraction value: canonical."
+ },
+ "description": {
+ "description": "Selected extraction value: description."
+ },
+ "headings": {
+ "description": "Selected extraction value: headings."
+ },
+ "jsonLd": {
+ "description": "Selected extraction value: jsonLd."
+ },
+ "lang": {
+ "description": "Selected extraction value: lang."
+ },
+ "links": {
+ "description": "Selected extraction value: links."
+ },
+ "openGraph": {
+ "description": "Selected extraction value: openGraph."
+ },
+ "text": {
+ "description": "Selected extraction value: text."
+ },
+ "title": {
+ "description": "Selected extraction value: title."
+ },
+ "twitter": {
+ "description": "Selected extraction value: twitter."
+ }
+ },
+ "type": "object"
+ },
+ {
+ "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
+ "type": "null"
+ }
+ ],
+ "description": "Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta."
+ },
+ "error": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "properties": {},
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "finalUrl": {
+ "$ref": "#/properties/before/anyOf/0/properties/stopReason"
+ },
+ "httpStatus": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/1"
+ }
+ ]
+ },
+ "id": {
+ "description": "Row identifier; does not replace source identity.",
+ "type": "string"
+ },
+ "notes": {
+ "type": "array"
+ },
+ "provenance": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error"
+ },
+ "source": {
+ "description": "Stable source identity, separate from row id and observation time. Matching normalizes source strings (URL fragments removed). Use the same non-empty identity on both sides; duplicate active identities are ambiguous. Synthetic URL STRINGS are inert and are never fetched by this transform.",
+ "minLength": 1,
+ "pattern": "\\S",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "pending",
+ "success",
+ "partial",
+ "failure",
+ "unknown",
+ "skipped_duplicate"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "source",
+ "status",
+ "data",
+ "notes",
+ "error",
+ "provenance"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "minItems": 1,
+ "type": "array"
+ },
+ "stopReason": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "ok",
+ "product",
+ "schemaVersion",
+ "quote",
+ "jobId",
+ "jobStatus",
+ "stopReason",
+ "partial",
+ "sources",
+ "accounting",
+ "costInputs",
+ "charged",
+ "boundary"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": true,
+ "description": "Existing C1 result compatibility. No merchant product/schemaVersion is required. Compare only the explicitly selected data keys present on both matched rows. Missing keys are coverage unknown, not deletions; explicit null is a present value. Unselected metadata is not a content delta.",
+ "properties": {
+ "accounting": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"
+ },
+ "costParameters": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items/properties/error/anyOf/0"
+ },
+ "items": {
+ "items": {
+ "$ref": "#/properties/before/anyOf/0/properties/sources/items"
+ },
+ "maxItems": 32,
+ "minItems": 1,
+ "type": "array"
+ },
+ "jobId": {
+ "$ref": "#/properties/before/anyOf/0/properties/quote/properties/meaning"
+ },
+ "status": {
+ "$ref": "#/properties/before/anyOf/0/properties/quote/properties/meaning"
+ }
+ },
+ "required": [
+ "jobId",
+ "status",
+ "costParameters",
+ "accounting",
+ "items"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "body": {
+ "anyOf": [
+ {
+ "$ref": "#/properties/before/anyOf/0"
+ },
+ {
+ "$ref": "#/properties/before/anyOf/1"
+ }
+ ]
+ },
+ "mediaType": {
+ "const": "application/json",
+ "type": "string"
+ },
+ "observedAt": {
+ "description": "Caller observation metadata only; does not attest freshness.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "$ref": "#/properties/before/anyOf/0/properties/quote/properties/meaning"
+ }
+ },
+ "required": [
+ "body"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": true,
+ "description": "Intentionally permissive diagnostic alternative, not a template for a useful comparison. Missing/wrong schemas, keys, source identities or fields do not become valid comparison evidence. A missing snapshot can be supplied as {missing:true}. Safety admission still rejects paths, URL dereference, limit raises and invalid envelopes.",
+ "properties": {},
+ "type": "object"
+ }
+]