changedOutput schema / oneOf
Previous value: -[
- {
- "additionalProperties": false,
- "properties": {
- "comparisons": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "document_identity_comparable": {
- "type": "boolean"
- },
- "pair": {
- "enum": [
- "receipt_to_invoice",
- "invoice_to_purchase_order"
- ]
- },
- "rows": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "amount_difference": {
- "maxLength": 50,
- "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?(?![\\s\\S])",
- "type": [
- "string",
- "null"
- ]
- },
- "candidate_targets": {
- "items": {
- "maxLength": 100,
- "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*(?![\\s\\S])",
- "type": "string"
- },
- "maxItems": 100,
- "type": "array"
- },
- "comparison_performed": {
- "type": "boolean"
- },
- "match_method": {
- "enum": [
- "unmatched",
- "explicit_line_reference",
- "exact_product_code",
- "normalized_description"
- ]
- },
- "quantity_difference": {
- "maxLength": 50,
- "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?(?![\\s\\S])",
- "type": [
- "string",
- "null"
- ]
- },
- "source": {
- "maxLength": 100,
- "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*(?![\\s\\S])",
- "type": "string"
- },
- "status": {
- "enum": [
- "no_discrepancies",
- "needs_review"
- ]
- },
- "target": {
- "anyOf": [
- {
- "maxLength": 100,
- "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*(?![\\s\\S])",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "unit_price_difference": {
- "maxLength": 50,
- "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?(?![\\s\\S])",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "source",
- "target",
- "candidate_targets",
- "match_method",
- "comparison_performed",
- "status",
- "quantity_difference",
- "unit_price_difference",
- "amount_difference"
- ],
- "type": "object"
- },
- "maxItems": 100,
- "type": "array"
- },
- "status": {
- "enum": [
- "no_discrepancies",
- "needs_review"
- ]
- }
- },
- "required": [
- "pair",
- "status",
- "document_identity_comparable",
- "rows"
- ],
- "type": "object"
- },
- "maxItems": 2,
- "minItems": 2,
- "type": "array"
- },
- "contract_version": {
- "const": "ardaro.purchase-document-reconciliation.response.v1"
- },
- "delivery_verified": {
- "const": false
- },
- "discrepancies": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "maxLength": 80,
- "pattern": "^[a-z_]+(?![\\s\\S])",
- "type": "string"
- },
- "scope": {
- "enum": [
- "receipt",
- "invoice",
- "purchase_order",
- "receipt_to_invoice",
- "invoice_to_purchase_order"
- ]
- },
- "severity": {
- "enum": [
- "unknown",
- "discrepancy"
- ]
- },
- "sources": {
- "items": {
- "maxLength": 100,
- "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*(?![\\s\\S])",
- "type": "string"
- },
- "maxItems": 101,
- "type": "array"
- }
- },
- "required": [
- "code",
- "scope",
- "severity",
- "sources"
- ],
- "type": "object"
- },
- "maxItems": 6000,
- "type": "array"
- },
- "document_summary": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "currency_minor_units": {
- "enum": [
- 0,
- 2,
- null
- ]
- },
- "currency_supported": {
- "type": "boolean"
- },
- "document": {
- "enum": [
- "receipt",
- "invoice",
- "purchase_order"
- ]
- },
- "line_count": {
- "maximum": 100,
- "minimum": 0,
- "type": "integer"
- },
- "present": {
- "type": "boolean"
- }
- },
- "required": [
- "document",
- "present",
- "line_count",
- "currency_supported",
- "currency_minor_units"
- ],
- "type": "object"
- },
- "maxItems": 3,
- "minItems": 3,
- "type": "array"
- },
- "financial_posting_performed": {
- "const": false
- },
- "human_review_required": {
- "const": true
- },
- "payment_approved": {
- "const": false
- },
- "policy": {
- "const": {
- "arithmetic_scope": "Exact decimal comparisons with per-line ROUND_HALF_UP at supported currency precision. No tax applicability, discounts, freight or currency conversion is inferred.",
- "decision_scope": "No discrepancies means the supported checks found none in supplied data. It is not payment authorization, accounting approval or supplier verification.",
- "document_storage_performed": false,
- "matching_rule": "explicit line reference, else unique exact case-sensitive product code, else unique NFKC/casefold/whitespace-normalized description when both product codes are absent; never fuzzy or semantic",
- "model_calls": 0,
- "paid_tool_calls": 0,
- "payment_required": false,
- "quantity_scope": "Differences concern only these three supplied documents. Partial receipts, partial invoicing, prior invoices, returns and delivery events are not inferred.",
- "receipt_scope": "An expense receipt is not evidence of delivery. A delivery_receipt label is caller-supplied and does not authenticate delivery.",
- "retention_scope": "This function retains no documents or results; caller and transport retention are outside this function's guarantees."
- }
- },
- "provenance": {
- "const": {
- "document_authenticity_verified": false,
- "external_data_fetched": false,
- "source": "caller_supplied_documents_only",
- "source_pointer_root": "original_arguments"
- }
- },
- "result_identity": {
- "pattern": "^res_[0-9a-f]{64}(?![\\s\\S])",
- "type": "string"
- },
- "status": {
- "enum": [
- "no_discrepancies",
- "needs_review"
- ]
- }
- },
- "required": [
- "contract_version",
- "human_review_required",
- "payment_approved",
- "delivery_verified",
- "financial_posting_performed",
- "provenance",
- "policy",
- "status",
- "result_identity",
- "document_summary",
- "comparisons",
- "discrepancies"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "contract_version": {
- "const": "ardaro.purchase-document-reconciliation.response.v1"
- },
- "error": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "maxLength": 80,
- "type": "string"
- },
- "message": {
- "maxLength": 300,
- "type": "string"
- }
- },
- "required": [
- "code",
- "message"
- ],
- "type": "object"
- },
- "status": {
- "const": "error"
- }
- },
- "required": [
- "contract_version",
- "status",
- "error"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "comparisons": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "document_identity_comparable": {
+ "type": "boolean"
+ },
+ "pair": {
+ "enum": [
+ "receipt_to_invoice",
+ "invoice_to_purchase_order"
+ ]
+ },
+ "rows": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "amount_difference": {
+ "maxLength": 50,
+ "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "candidate_targets": {
+ "items": {
+ "maxLength": 100,
+ "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*$",
+ "type": "string"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "comparison_performed": {
+ "type": "boolean"
+ },
+ "match_method": {
+ "enum": [
+ "unmatched",
+ "explicit_line_reference",
+ "exact_product_code",
+ "normalized_description"
+ ]
+ },
+ "quantity_difference": {
+ "maxLength": 50,
+ "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "source": {
+ "maxLength": 100,
+ "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*$",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "no_discrepancies",
+ "needs_review"
+ ]
+ },
+ "target": {
+ "anyOf": [
+ {
+ "maxLength": 100,
+ "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "unit_price_difference": {
+ "maxLength": 50,
+ "pattern": "^-?(?:0|[1-9][0-9]{0,27})(?:\\.[0-9]{1,12})?$",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "source",
+ "target",
+ "candidate_targets",
+ "match_method",
+ "comparison_performed",
+ "status",
+ "quantity_difference",
+ "unit_price_difference",
+ "amount_difference"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+ },
+ "status": {
+ "enum": [
+ "no_discrepancies",
+ "needs_review"
+ ]
+ }
+ },
+ "required": [
+ "pair",
+ "status",
+ "document_identity_comparable",
+ "rows"
+ ],
+ "type": "object"
+ },
+ "maxItems": 2,
+ "minItems": 2,
+ "type": "array"
+ },
+ "contract_version": {
+ "const": "ardaro.purchase-document-reconciliation.response.v1"
+ },
+ "delivery_verified": {
+ "const": false
+ },
+ "discrepancies": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "maxLength": 80,
+ "pattern": "^[a-z_]+$",
+ "type": "string"
+ },
+ "scope": {
+ "enum": [
+ "receipt",
+ "invoice",
+ "purchase_order",
+ "receipt_to_invoice",
+ "invoice_to_purchase_order"
+ ]
+ },
+ "severity": {
+ "enum": [
+ "unknown",
+ "discrepancy"
+ ]
+ },
+ "sources": {
+ "items": {
+ "maxLength": 100,
+ "pattern": "^/(?:receipt|invoice|purchase_order)(?:/[A-Za-z0-9_]+)*$",
+ "type": "string"
+ },
+ "maxItems": 101,
+ "type": "array"
+ }
+ },
+ "required": [
+ "code",
+ "scope",
+ "severity",
+ "sources"
+ ],
+ "type": "object"
+ },
+ "maxItems": 6000,
+ "type": "array"
+ },
+ "document_summary": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "currency_minor_units": {
+ "enum": [
+ 0,
+ 2,
+ null
+ ]
+ },
+ "currency_supported": {
+ "type": "boolean"
+ },
+ "document": {
+ "enum": [
+ "receipt",
+ "invoice",
+ "purchase_order"
+ ]
+ },
+ "line_count": {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "present": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "document",
+ "present",
+ "line_count",
+ "currency_supported",
+ "currency_minor_units"
+ ],
+ "type": "object"
+ },
+ "maxItems": 3,
+ "minItems": 3,
+ "type": "array"
+ },
+ "financial_posting_performed": {
+ "const": false
+ },
+ "human_review_required": {
+ "const": true
+ },
+ "payment_approved": {
+ "const": false
+ },
+ "policy": {
+ "const": {
+ "arithmetic_scope": "Exact decimal comparisons with per-line ROUND_HALF_UP at supported currency precision. No tax applicability, discounts, freight or currency conversion is inferred.",
+ "decision_scope": "No discrepancies means the supported checks found none in supplied data. It is not payment authorization, accounting approval or supplier verification.",
+ "document_storage_performed": false,
+ "matching_rule": "explicit line reference, else unique exact case-sensitive product code, else unique NFKC/casefold/whitespace-normalized description when both product codes are absent; never fuzzy or semantic",
+ "model_calls": 0,
+ "paid_tool_calls": 0,
+ "payment_required": false,
+ "quantity_scope": "Differences concern only these three supplied documents. Partial receipts, partial invoicing, prior invoices, returns and delivery events are not inferred.",
+ "receipt_scope": "An expense receipt is not evidence of delivery. A delivery_receipt label is caller-supplied and does not authenticate delivery.",
+ "retention_scope": "This function retains no documents or results; caller and transport retention are outside this function's guarantees."
+ }
+ },
+ "provenance": {
+ "const": {
+ "document_authenticity_verified": false,
+ "external_data_fetched": false,
+ "source": "caller_supplied_documents_only",
+ "source_pointer_root": "original_arguments"
+ }
+ },
+ "result_identity": {
+ "pattern": "^res_[0-9a-f]{64}$",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "no_discrepancies",
+ "needs_review"
+ ]
+ }
+ },
+ "required": [
+ "contract_version",
+ "human_review_required",
+ "payment_approved",
+ "delivery_verified",
+ "financial_posting_performed",
+ "provenance",
+ "policy",
+ "status",
+ "result_identity",
+ "document_summary",
+ "comparisons",
+ "discrepancies"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "contract_version": {
+ "const": "ardaro.purchase-document-reconciliation.response.v1"
+ },
+ "error": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "maxLength": 80,
+ "type": "string"
+ },
+ "message": {
+ "maxLength": 300,
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "status": {
+ "const": "error"
+ }
+ },
+ "required": [
+ "contract_version",
+ "status",
+ "error"
+ ],
+ "type": "object"
+ }
+]