Skip to main content
Glama

Rafid Intelligence Network

document_facts_extract

Read-onlyIdempotent

Extract structured, evidence-backed facts, entities, dates, amounts, obligations, deadlines and risk indicators from business documents (contracts, invoices, purchase orders, quotations, tenders/RFPs, leases, policies, financial reports, legal documents, CVs, company profiles) from any country. Every fact carries a 0–1 extraction confidence and source evidence (verbatim excerpt, character offsets, section, and the page when the document has real pages); dates, amounts, currencies, percentages and durations are normalized only when unambiguous. Accepts an https documentUrl (PDF with a text layer, DOCX, HTML, text) or extracted text, up to 25 pages. When: Use when an agent needs reliable machine-readable facts from a contract, invoice, tender, lease, purchase order, policy, financial report or other business document instead of a general summary. Selection: primary; prefer for evidence-backed extraction from a supplied document or contract, invoice or tender fact capture. Do not use for general company due diligence without a document or legal advice. Input is a strict JSON object; see the schema. Price: $0.25 USD per call. A free preview is available through preview_capability before payment. Full execution is paid per call via x402; an unpaid MCP call returns payment instructions.

Input Schema

NameRequiredDescriptionDefault
modeNo"auto" (default): full extraction plus any requestedFacts. "requested_only": return only the requested facts (requires requestedFacts).
textNoThe document's already-extracted text (max 200,000 characters; longer text is rejected with DOCUMENT_TOO_LARGE, never truncated). Separate pages with form-feed characters (\f) to get page-level evidence; without them evidence carries sections, not page numbers. Supply this OR documentUrl.
languageNoDocument language (ISO 639-1, e.g. en, ar, fr). Detected automatically when omitted.
documentUrlNohttps URL of the document (PDF with a text layer, DOCX, HTML, plain text, Markdown or CSV; max 25 pages / 15 MB). Fetched once, server-side, with SSRF protection; private/internal addresses are rejected. Supply this OR text.
documentTypeNoDocument type, or "auto" (default) to classify automatically. Selects which facts are prioritized.
requestedFactsNoSpecific facts to establish, in plain language (max 20), e.g. ["contract expiry date", "termination notice period", "annual contract value"]. Each is answered in requestedFacts with status found / not_found — never fabricated.
includeSourceEvidenceNoDefault true. false omits sourceEvidence objects to reduce response size (facts remain the same).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amounts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "amount": {
      -              "type": "number"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "currency": {
      -              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      -              "type": "string"
      -            },
      -            "currencySymbol": {
      -              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      -              "type": "string"
      -            },
      -            "frequency": {
      -              "enum": [
      -                "one_time",
      -                "daily",
      -                "weekly",
      -                "monthly",
      -                "quarterly",
      -                "annual"
      -              ],
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "amount",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "dates": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "normalizedDate": {
      -              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "precision": {
      -              "enum": [
      -                "day",
      -                "month"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "originalValue",
      -            "precision",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "deadlines": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "date": {
      -              "description": "ISO date when the deadline is a calendar date.",
      -              "type": "string"
      -            },
      -            "description": {
      -              "type": "string"
      -            },
      -            "relative": {
      -              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "description",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "documentSubtype": {
      -        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "documentType": {
      -        "enum": [
      -          "contract",
      -          "invoice",
      -          "purchase_order",
      -          "quotation",
      -          "tender",
      -          "policy",
      -          "financial_report",
      -          "legal_document",
      -          "lease",
      -          "resume",
      -          "company_profile",
      -          "other"
      -        ],
      -        "type": "string"
      -      },
      -      "documentTypeConfidence": {
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "documentTypeSource": {
      -        "enum": [
      -          "detected",
      -          "caller"
      -        ],
      -        "type": "string"
      -      },
      -      "entities": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "role": {
      -              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "enum": [
      -                "person",
      -                "company",
      -                "organization",
      -                "government",
      -                "location",
      -                "other"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "name",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "facts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "key": {
      -              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable label.",
      -              "type": "string"
      -            },
      -            "method": {
      -              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      -              "enum": [
      -                "labeled_field",
      -                "pattern",
      -                "clause",
      -                "table",
      -                "definition",
      -                "llm_verified"
      -              ],
      -              "type": "string"
      -            },
      -            "normalizedValue": {
      -              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "value": {
      -              "description": "The value as stated (string, number, boolean, list or object)."
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "label",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "language": {
      -        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      -        "type": "string"
      -      },
      -      "limitations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "metadata": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "characterCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          "extractionMethod": {
      -            "enum": [
      -              "deterministic",
      -              "deterministic+llm_verified"
      -            ],
      -            "type": "string"
      -          },
      -          "extractionMode": {
      -            "enum": [
      -              "auto",
      -              "requested_only"
      -            ],
      -            "type": "string"
      -          },
      -          "extractorVersion": {
      -            "type": "string"
      -          },
      -          "format": {
      -            "enum": [
      -              "pdf",
      -              "docx",
      -              "html",
      -              "text",
      -              "markdown",
      -              "csv"
      -            ],
      -            "type": "string"
      -          },
      -          "llmAssist": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "rejectedFacts": {
      -                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              "status": {
      -                "enum": [
      -                  "not_configured",
      -                  "disabled",
      -                  "not_needed",
      -                  "used",
      -                  "failed"
      -                ],
      -                "type": "string"
      -              },
      -              "verifiedFacts": {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "verifiedFacts",
      -              "rejectedFacts"
      -            ],
      -            "type": "object"
      -          },
      -          "pageCount": {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "pageProvenance": {
      -            "description": "true when evidence page numbers come from real page boundaries.",
      -            "type": "boolean"
      -          },
      -          "source": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "byteLength": {
      -                "anyOf": [
      -                  {
      -                    "maximum": 9007199254740991,
      -                    "minimum": -9007199254740991,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "contentType": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "kind": {
      -                "enum": [
      -                  "url",
      -                  "text"
      -                ],
      -                "type": "string"
      -              },
      -              "url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "url",
      -              "contentType",
      -              "byteLength"
      -            ],
      -            "type": "object"
      -          },
      -          "wordCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "pageCount",
      -          "characterCount",
      -          "wordCount",
      -          "format",
      -          "source",
      -          "pageProvenance",
      -          "extractionMode",
      -          "extractionMethod",
      -          "llmAssist",
      -          "extractorVersion"
      -        ],
      -        "type": "object"
      -      },
      -      "obligations": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "condition": {
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "modality": {
      -              "description": "must_not = a prohibition (\"shall not\").",
      -              "enum": [
      -                "must",
      -                "must_not"
      -              ],
      -              "type": "string"
      -            },
      -            "obligation": {
      -              "type": "string"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "obligation",
      -            "modality",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "overallConfidence": {
      -        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "percentages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "ratio": {
      -              "description": "Normalized ratio, e.g. 0.05.",
      -              "type": "number"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "As written, e.g. 5 for 5%.",
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "value",
      -            "ratio",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requestedFacts": {
      -        "description": "One entry per requested fact, in request order (empty when none were requested).",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "anyOf": [
      -                {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Null when not found — absence is reported, never guessed."
      -            },
      -            "key": {
      -              "description": "The fact key that answers it, when found.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "method": {
      -              "anyOf": [
      -                {
      -                  "enum": [
      -                    "labeled_field",
      -                    "pattern",
      -                    "clause",
      -                    "table",
      -                    "definition",
      -                    "llm_verified"
      -                  ],
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "normalizedValue": {},
      -            "note": {
      -              "description": "Why it was not found, or a caveat about the match.",
      -              "type": "string"
      -            },
      -            "request": {
      -              "description": "The requested fact, as asked.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "status": {
      -              "enum": [
      -                "found",
      -                "not_found"
      -              ],
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "The value when found; null when not found."
      -            }
      -          },
      -          "required": [
      -            "request",
      -            "status",
      -            "key",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requirements": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "category": {
      -              "enum": [
      -                "eligibility",
      -                "technical",
      -                "financial",
      -                "documentation",
      -                "compliance",
      -                "general"
      -              ],
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "mandatory": {
      -              "type": "boolean"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "requirement": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "requirement",
      -            "category",
      -            "mandatory",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "riskFlags": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "reason": {
      -              "description": "The observable condition in the document — never a legal conclusion.",
      -              "type": "string"
      -            },
      -            "severity": {
      -              "enum": [
      -                "low",
      -                "medium",
      -                "high"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "severity",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "title": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "documentType",
      -      "documentSubtype",
      -      "documentTypeConfidence",
      -      "documentTypeSource",
      -      "language",
      -      "title",
      -      "facts",
      -      "requestedFacts",
      -      "entities",
      -      "dates",
      -      "amounts",
      -      "percentages",
      -      "obligations",
      -      "requirements",
      -      "deadlines",
      -      "riskFlags",
      -      "metadata",
      -      "warnings",
      -      "overallConfidence",
      -      "limitations"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "nextAction": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "instruction": {
      -            "type": "string"
      -          },
      -          "target": {
      -            "const": "x402_endpoint",
      -            "type": "string"
      -          },
      -          "type": {
      -            "const": "pay_and_retry",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "target",
      -          "instruction"
      -        ],
      -        "type": "object"
      -      },
      -      "payment": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "endpoint": {
      -            "type": "string"
      -          },
      -          "method": {
      -            "const": "POST",
      -            "type": "string"
      -          },
      -          "retrySameBody": {
      -            "const": true,
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "endpoint",
      -          "method",
      -          "retrySameBody"
      -        ],
      -        "type": "object"
      -      },
      -      "preview": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fullResultAvailable": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "inputAccepted": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "summary": {
      -            "type": "string"
      -          },
      -          "useCases": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "inputAccepted",
      -          "fullResultAvailable",
      -          "summary",
      -          "useCases"
      -        ],
      -        "type": "object"
      -      },
      -      "price": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "amount": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "currency": {
      -            "type": "string"
      -          },
      -          "protocol": {
      -            "const": "x402",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "amount",
      -          "currency",
      -          "protocol"
      -        ],
      -        "type": "object"
      -      },
      -      "requestId": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "const": "payment_required",
      -        "type": "string"
      -      },
      -      "tool": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "tool",
      -      "requestId",
      -      "price",
      -      "preview",
      -      "payment",
      -      "nextAction"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amounts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount": {
      +              "type": "number"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      +              "type": "string"
      +            },
      +            "currencySymbol": {
      +              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      +              "type": "string"
      +            },
      +            "frequency": {
      +              "enum": [
      +                "one_time",
      +                "daily",
      +                "weekly",
      +                "monthly",
      +                "quarterly",
      +                "annual"
      +              ],
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "amount",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "normalizedDate": {
      +              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "precision": {
      +              "enum": [
      +                "day",
      +                "month"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "originalValue",
      +            "precision",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "date": {
      +              "description": "ISO date when the deadline is a calendar date.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "type": "string"
      +            },
      +            "relative": {
      +              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "description",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "documentSubtype": {
      +        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "documentType": {
      +        "enum": [
      +          "contract",
      +          "invoice",
      +          "purchase_order",
      +          "quotation",
      +          "tender",
      +          "policy",
      +          "financial_report",
      +          "legal_document",
      +          "lease",
      +          "resume",
      +          "company_profile",
      +          "other"
      +        ],
      +        "type": "string"
      +      },
      +      "documentTypeConfidence": {
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "documentTypeSource": {
      +        "enum": [
      +          "detected",
      +          "caller"
      +        ],
      +        "type": "string"
      +      },
      +      "entities": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "role": {
      +              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "enum": [
      +                "person",
      +                "company",
      +                "organization",
      +                "government",
      +                "location",
      +                "other"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "name",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "facts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "key": {
      +              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable label.",
      +              "type": "string"
      +            },
      +            "method": {
      +              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      +              "enum": [
      +                "labeled_field",
      +                "pattern",
      +                "clause",
      +                "table",
      +                "definition",
      +                "llm_verified"
      +              ],
      +              "type": "string"
      +            },
      +            "normalizedValue": {
      +              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "description": "The value as stated (string, number, boolean, list or object)."
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "label",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "language": {
      +        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "metadata": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "characterCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "extractionMethod": {
      +            "enum": [
      +              "deterministic",
      +              "deterministic+llm_verified"
      +            ],
      +            "type": "string"
      +          },
      +          "extractionMode": {
      +            "enum": [
      +              "auto",
      +              "requested_only"
      +            ],
      +            "type": "string"
      +          },
      +          "extractorVersion": {
      +            "type": "string"
      +          },
      +          "format": {
      +            "enum": [
      +              "pdf",
      +              "docx",
      +              "html",
      +              "text",
      +              "markdown",
      +              "csv"
      +            ],
      +            "type": "string"
      +          },
      +          "llmAssist": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "rejectedFacts": {
      +                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "status": {
      +                "enum": [
      +                  "not_configured",
      +                  "disabled",
      +                  "not_needed",
      +                  "used",
      +                  "failed"
      +                ],
      +                "type": "string"
      +              },
      +              "verifiedFacts": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "verifiedFacts",
      +              "rejectedFacts"
      +            ],
      +            "type": "object"
      +          },
      +          "pageCount": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "pageProvenance": {
      +            "description": "true when evidence page numbers come from real page boundaries.",
      +            "type": "boolean"
      +          },
      +          "source": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "byteLength": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "contentType": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "url",
      +                  "text"
      +                ],
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "url",
      +              "contentType",
      +              "byteLength"
      +            ],
      +            "type": "object"
      +          },
      +          "wordCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "pageCount",
      +          "characterCount",
      +          "wordCount",
      +          "format",
      +          "source",
      +          "pageProvenance",
      +          "extractionMode",
      +          "extractionMethod",
      +          "llmAssist",
      +          "extractorVersion"
      +        ],
      +        "type": "object"
      +      },
      +      "obligations": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "condition": {
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "modality": {
      +              "description": "must_not = a prohibition (\"shall not\").",
      +              "enum": [
      +                "must",
      +                "must_not"
      +              ],
      +              "type": "string"
      +            },
      +            "obligation": {
      +              "type": "string"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "obligation",
      +            "modality",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "overallConfidence": {
      +        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "percentages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "ratio": {
      +              "description": "Normalized ratio, e.g. 0.05.",
      +              "type": "number"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "As written, e.g. 5 for 5%.",
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "value",
      +            "ratio",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requestedFacts": {
      +        "description": "One entry per requested fact, in request order (empty when none were requested).",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when not found — absence is reported, never guessed."
      +            },
      +            "key": {
      +              "description": "The fact key that answers it, when found.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "method": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "labeled_field",
      +                    "pattern",
      +                    "clause",
      +                    "table",
      +                    "definition",
      +                    "llm_verified"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "normalizedValue": {},
      +            "note": {
      +              "description": "Why it was not found, or a caveat about the match.",
      +              "type": "string"
      +            },
      +            "request": {
      +              "description": "The requested fact, as asked.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "status": {
      +              "enum": [
      +                "found",
      +                "not_found"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "The value when found; null when not found."
      +            }
      +          },
      +          "required": [
      +            "request",
      +            "status",
      +            "key",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requirements": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "enum": [
      +                "eligibility",
      +                "technical",
      +                "financial",
      +                "documentation",
      +                "compliance",
      +                "general"
      +              ],
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "mandatory": {
      +              "type": "boolean"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "requirement": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "requirement",
      +            "category",
      +            "mandatory",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "riskFlags": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "reason": {
      +              "description": "The observable condition in the document — never a legal conclusion.",
      +              "type": "string"
      +            },
      +            "severity": {
      +              "enum": [
      +                "low",
      +                "medium",
      +                "high"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "severity",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "documentType",
      +      "documentSubtype",
      +      "documentTypeConfidence",
      +      "documentTypeSource",
      +      "language",
      +      "title",
      +      "facts",
      +      "requestedFacts",
      +      "entities",
      +      "dates",
      +      "amounts",
      +      "percentages",
      +      "obligations",
      +      "requirements",
      +      "deadlines",
      +      "riskFlags",
      +      "metadata",
      +      "warnings",
      +      "overallConfidence",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "nextAction": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "instruction": {
      +            "type": "string"
      +          },
      +          "target": {
      +            "enum": [
      +              "x402_endpoint",
      +              "mcp_credits_endpoint",
      +              "payment_endpoint",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          },
      +          "type": {
      +            "enum": [
      +              "pay_and_retry",
      +              "authorize_and_use_mcp_credits",
      +              "payment_unavailable"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "target",
      +          "instruction"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "endpoint": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "method": {
      +            "const": "POST",
      +            "type": "string"
      +          },
      +          "retrySameBody": {
      +            "const": true,
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "endpoint",
      +          "method",
      +          "retrySameBody"
      +        ],
      +        "type": "object"
      +      },
      +      "paymentGuidance": {},
      +      "preview": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fullResultAvailable": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "inputAccepted": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "summary": {
      +            "type": "string"
      +          },
      +          "useCases": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "inputAccepted",
      +          "fullResultAvailable",
      +          "summary",
      +          "useCases"
      +        ],
      +        "type": "object"
      +      },
      +      "price": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "amount": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "currency": {
      +            "type": "string"
      +          },
      +          "protocol": {
      +            "enum": [
      +              "x402",
      +              "api_credits",
      +              "subscription",
      +              "l402",
      +              "mpp",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "amount",
      +          "currency",
      +          "protocol"
      +        ],
      +        "type": "object"
      +      },
      +      "requestId": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "payment_required",
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "tool",
      +      "requestId",
      +      "price",
      +      "preview",
      +      "payment",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amounts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "amount": {
      -              "type": "number"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "currency": {
      -              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      -              "type": "string"
      -            },
      -            "currencySymbol": {
      -              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      -              "type": "string"
      -            },
      -            "frequency": {
      -              "enum": [
      -                "one_time",
      -                "daily",
      -                "weekly",
      -                "monthly",
      -                "quarterly",
      -                "annual"
      -              ],
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "amount",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "dates": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "normalizedDate": {
      -              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "precision": {
      -              "enum": [
      -                "day",
      -                "month"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "originalValue",
      -            "precision",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "deadlines": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "date": {
      -              "description": "ISO date when the deadline is a calendar date.",
      -              "type": "string"
      -            },
      -            "description": {
      -              "type": "string"
      -            },
      -            "relative": {
      -              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "description",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "documentSubtype": {
      -        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "documentType": {
      -        "enum": [
      -          "contract",
      -          "invoice",
      -          "purchase_order",
      -          "quotation",
      -          "tender",
      -          "policy",
      -          "financial_report",
      -          "legal_document",
      -          "lease",
      -          "resume",
      -          "company_profile",
      -          "other"
      -        ],
      -        "type": "string"
      -      },
      -      "documentTypeConfidence": {
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "documentTypeSource": {
      -        "enum": [
      -          "detected",
      -          "caller"
      -        ],
      -        "type": "string"
      -      },
      -      "entities": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "role": {
      -              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "enum": [
      -                "person",
      -                "company",
      -                "organization",
      -                "government",
      -                "location",
      -                "other"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "name",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "facts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "key": {
      -              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable label.",
      -              "type": "string"
      -            },
      -            "method": {
      -              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      -              "enum": [
      -                "labeled_field",
      -                "pattern",
      -                "clause",
      -                "table",
      -                "definition",
      -                "llm_verified"
      -              ],
      -              "type": "string"
      -            },
      -            "normalizedValue": {
      -              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "value": {
      -              "description": "The value as stated (string, number, boolean, list or object)."
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "label",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "language": {
      -        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      -        "type": "string"
      -      },
      -      "limitations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "metadata": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "characterCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          "extractionMethod": {
      -            "enum": [
      -              "deterministic",
      -              "deterministic+llm_verified"
      -            ],
      -            "type": "string"
      -          },
      -          "extractionMode": {
      -            "enum": [
      -              "auto",
      -              "requested_only"
      -            ],
      -            "type": "string"
      -          },
      -          "extractorVersion": {
      -            "type": "string"
      -          },
      -          "format": {
      -            "enum": [
      -              "pdf",
      -              "docx",
      -              "html",
      -              "text",
      -              "markdown",
      -              "csv"
      -            ],
      -            "type": "string"
      -          },
      -          "llmAssist": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "rejectedFacts": {
      -                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              "status": {
      -                "enum": [
      -                  "not_configured",
      -                  "disabled",
      -                  "not_needed",
      -                  "used",
      -                  "failed"
      -                ],
      -                "type": "string"
      -              },
      -              "verifiedFacts": {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "verifiedFacts",
      -              "rejectedFacts"
      -            ],
      -            "type": "object"
      -          },
      -          "pageCount": {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "pageProvenance": {
      -            "description": "true when evidence page numbers come from real page boundaries.",
      -            "type": "boolean"
      -          },
      -          "source": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "byteLength": {
      -                "anyOf": [
      -                  {
      -                    "maximum": 9007199254740991,
      -                    "minimum": -9007199254740991,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "contentType": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "kind": {
      -                "enum": [
      -                  "url",
      -                  "text"
      -                ],
      -                "type": "string"
      -              },
      -              "url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "url",
      -              "contentType",
      -              "byteLength"
      -            ],
      -            "type": "object"
      -          },
      -          "wordCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "pageCount",
      -          "characterCount",
      -          "wordCount",
      -          "format",
      -          "source",
      -          "pageProvenance",
      -          "extractionMode",
      -          "extractionMethod",
      -          "llmAssist",
      -          "extractorVersion"
      -        ],
      -        "type": "object"
      -      },
      -      "obligations": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "condition": {
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "modality": {
      -              "description": "must_not = a prohibition (\"shall not\").",
      -              "enum": [
      -                "must",
      -                "must_not"
      -              ],
      -              "type": "string"
      -            },
      -            "obligation": {
      -              "type": "string"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "obligation",
      -            "modality",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "overallConfidence": {
      -        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "percentages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "ratio": {
      -              "description": "Normalized ratio, e.g. 0.05.",
      -              "type": "number"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "As written, e.g. 5 for 5%.",
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "value",
      -            "ratio",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requestedFacts": {
      -        "description": "One entry per requested fact, in request order (empty when none were requested).",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "anyOf": [
      -                {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Null when not found — absence is reported, never guessed."
      -            },
      -            "key": {
      -              "description": "The fact key that answers it, when found.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "method": {
      -              "anyOf": [
      -                {
      -                  "enum": [
      -                    "labeled_field",
      -                    "pattern",
      -                    "clause",
      -                    "table",
      -                    "definition",
      -                    "llm_verified"
      -                  ],
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "normalizedValue": {},
      -            "note": {
      -              "description": "Why it was not found, or a caveat about the match.",
      -              "type": "string"
      -            },
      -            "request": {
      -              "description": "The requested fact, as asked.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "status": {
      -              "enum": [
      -                "found",
      -                "not_found"
      -              ],
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "The value when found; null when not found."
      -            }
      -          },
      -          "required": [
      -            "request",
      -            "status",
      -            "key",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requirements": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "category": {
      -              "enum": [
      -                "eligibility",
      -                "technical",
      -                "financial",
      -                "documentation",
      -                "compliance",
      -                "general"
      -              ],
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "mandatory": {
      -              "type": "boolean"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "requirement": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "requirement",
      -            "category",
      -            "mandatory",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "riskFlags": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "reason": {
      -              "description": "The observable condition in the document — never a legal conclusion.",
      -              "type": "string"
      -            },
      -            "severity": {
      -              "enum": [
      -                "low",
      -                "medium",
      -                "high"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "severity",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "title": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "documentType",
      -      "documentSubtype",
      -      "documentTypeConfidence",
      -      "documentTypeSource",
      -      "language",
      -      "title",
      -      "facts",
      -      "requestedFacts",
      -      "entities",
      -      "dates",
      -      "amounts",
      -      "percentages",
      -      "obligations",
      -      "requirements",
      -      "deadlines",
      -      "riskFlags",
      -      "metadata",
      -      "warnings",
      -      "overallConfidence",
      -      "limitations"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "nextAction": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "instruction": {
      -            "type": "string"
      -          },
      -          "target": {
      -            "enum": [
      -              "x402_endpoint",
      -              "mcp_credits_endpoint",
      -              "payment_endpoint",
      -              "unavailable"
      -            ],
      -            "type": "string"
      -          },
      -          "type": {
      -            "enum": [
      -              "pay_and_retry",
      -              "authorize_and_use_mcp_credits",
      -              "payment_unavailable"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "target",
      -          "instruction"
      -        ],
      -        "type": "object"
      -      },
      -      "payment": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "endpoint": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "method": {
      -            "const": "POST",
      -            "type": "string"
      -          },
      -          "retrySameBody": {
      -            "const": true,
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "endpoint",
      -          "method",
      -          "retrySameBody"
      -        ],
      -        "type": "object"
      -      },
      -      "paymentGuidance": {},
      -      "preview": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fullResultAvailable": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "inputAccepted": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "summary": {
      -            "type": "string"
      -          },
      -          "useCases": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "inputAccepted",
      -          "fullResultAvailable",
      -          "summary",
      -          "useCases"
      -        ],
      -        "type": "object"
      -      },
      -      "price": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "amount": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "currency": {
      -            "type": "string"
      -          },
      -          "protocol": {
      -            "enum": [
      -              "x402",
      -              "api_credits",
      -              "subscription",
      -              "l402",
      -              "mpp",
      -              "unavailable"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "amount",
      -          "currency",
      -          "protocol"
      -        ],
      -        "type": "object"
      -      },
      -      "requestId": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "const": "payment_required",
      -        "type": "string"
      -      },
      -      "tool": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "tool",
      -      "requestId",
      -      "price",
      -      "preview",
      -      "payment",
      -      "nextAction"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amounts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount": {
      +              "type": "number"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      +              "type": "string"
      +            },
      +            "currencySymbol": {
      +              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      +              "type": "string"
      +            },
      +            "frequency": {
      +              "enum": [
      +                "one_time",
      +                "daily",
      +                "weekly",
      +                "monthly",
      +                "quarterly",
      +                "annual"
      +              ],
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "amount",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "normalizedDate": {
      +              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "precision": {
      +              "enum": [
      +                "day",
      +                "month"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "originalValue",
      +            "precision",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "date": {
      +              "description": "ISO date when the deadline is a calendar date.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "type": "string"
      +            },
      +            "relative": {
      +              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "description",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "documentSubtype": {
      +        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "documentType": {
      +        "enum": [
      +          "contract",
      +          "invoice",
      +          "purchase_order",
      +          "quotation",
      +          "tender",
      +          "policy",
      +          "financial_report",
      +          "legal_document",
      +          "lease",
      +          "resume",
      +          "company_profile",
      +          "other"
      +        ],
      +        "type": "string"
      +      },
      +      "documentTypeConfidence": {
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "documentTypeSource": {
      +        "enum": [
      +          "detected",
      +          "caller"
      +        ],
      +        "type": "string"
      +      },
      +      "entities": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "role": {
      +              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "enum": [
      +                "person",
      +                "company",
      +                "organization",
      +                "government",
      +                "location",
      +                "other"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "name",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "facts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "key": {
      +              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable label.",
      +              "type": "string"
      +            },
      +            "method": {
      +              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      +              "enum": [
      +                "labeled_field",
      +                "pattern",
      +                "clause",
      +                "table",
      +                "definition",
      +                "llm_verified"
      +              ],
      +              "type": "string"
      +            },
      +            "normalizedValue": {
      +              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "description": "The value as stated (string, number, boolean, list or object)."
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "label",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "language": {
      +        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "metadata": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "characterCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "extractionMethod": {
      +            "enum": [
      +              "deterministic",
      +              "deterministic+llm_verified"
      +            ],
      +            "type": "string"
      +          },
      +          "extractionMode": {
      +            "enum": [
      +              "auto",
      +              "requested_only"
      +            ],
      +            "type": "string"
      +          },
      +          "extractorVersion": {
      +            "type": "string"
      +          },
      +          "format": {
      +            "enum": [
      +              "pdf",
      +              "docx",
      +              "html",
      +              "text",
      +              "markdown",
      +              "csv"
      +            ],
      +            "type": "string"
      +          },
      +          "llmAssist": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "rejectedFacts": {
      +                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "status": {
      +                "enum": [
      +                  "not_configured",
      +                  "disabled",
      +                  "not_needed",
      +                  "used",
      +                  "failed"
      +                ],
      +                "type": "string"
      +              },
      +              "verifiedFacts": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "verifiedFacts",
      +              "rejectedFacts"
      +            ],
      +            "type": "object"
      +          },
      +          "pageCount": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "pageProvenance": {
      +            "description": "true when evidence page numbers come from real page boundaries.",
      +            "type": "boolean"
      +          },
      +          "source": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "byteLength": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "contentType": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "url",
      +                  "text"
      +                ],
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "url",
      +              "contentType",
      +              "byteLength"
      +            ],
      +            "type": "object"
      +          },
      +          "wordCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "pageCount",
      +          "characterCount",
      +          "wordCount",
      +          "format",
      +          "source",
      +          "pageProvenance",
      +          "extractionMode",
      +          "extractionMethod",
      +          "llmAssist",
      +          "extractorVersion"
      +        ],
      +        "type": "object"
      +      },
      +      "obligations": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "condition": {
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "modality": {
      +              "description": "must_not = a prohibition (\"shall not\").",
      +              "enum": [
      +                "must",
      +                "must_not"
      +              ],
      +              "type": "string"
      +            },
      +            "obligation": {
      +              "type": "string"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "obligation",
      +            "modality",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "overallConfidence": {
      +        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "percentages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "ratio": {
      +              "description": "Normalized ratio, e.g. 0.05.",
      +              "type": "number"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "As written, e.g. 5 for 5%.",
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "value",
      +            "ratio",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requestedFacts": {
      +        "description": "One entry per requested fact, in request order (empty when none were requested).",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when not found — absence is reported, never guessed."
      +            },
      +            "key": {
      +              "description": "The fact key that answers it, when found.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "method": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "labeled_field",
      +                    "pattern",
      +                    "clause",
      +                    "table",
      +                    "definition",
      +                    "llm_verified"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "normalizedValue": {},
      +            "note": {
      +              "description": "Why it was not found, or a caveat about the match.",
      +              "type": "string"
      +            },
      +            "request": {
      +              "description": "The requested fact, as asked.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "status": {
      +              "enum": [
      +                "found",
      +                "not_found"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "The value when found; null when not found."
      +            }
      +          },
      +          "required": [
      +            "request",
      +            "status",
      +            "key",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requirements": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "enum": [
      +                "eligibility",
      +                "technical",
      +                "financial",
      +                "documentation",
      +                "compliance",
      +                "general"
      +              ],
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "mandatory": {
      +              "type": "boolean"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "requirement": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "requirement",
      +            "category",
      +            "mandatory",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "riskFlags": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "reason": {
      +              "description": "The observable condition in the document — never a legal conclusion.",
      +              "type": "string"
      +            },
      +            "severity": {
      +              "enum": [
      +                "low",
      +                "medium",
      +                "high"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "severity",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "documentType",
      +      "documentSubtype",
      +      "documentTypeConfidence",
      +      "documentTypeSource",
      +      "language",
      +      "title",
      +      "facts",
      +      "requestedFacts",
      +      "entities",
      +      "dates",
      +      "amounts",
      +      "percentages",
      +      "obligations",
      +      "requirements",
      +      "deadlines",
      +      "riskFlags",
      +      "metadata",
      +      "warnings",
      +      "overallConfidence",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "nextAction": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "instruction": {
      +            "type": "string"
      +          },
      +          "target": {
      +            "const": "x402_endpoint",
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "pay_and_retry",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "target",
      +          "instruction"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "endpoint": {
      +            "type": "string"
      +          },
      +          "method": {
      +            "const": "POST",
      +            "type": "string"
      +          },
      +          "retrySameBody": {
      +            "const": true,
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "endpoint",
      +          "method",
      +          "retrySameBody"
      +        ],
      +        "type": "object"
      +      },
      +      "preview": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fullResultAvailable": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "inputAccepted": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "summary": {
      +            "type": "string"
      +          },
      +          "useCases": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "inputAccepted",
      +          "fullResultAvailable",
      +          "summary",
      +          "useCases"
      +        ],
      +        "type": "object"
      +      },
      +      "price": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "amount": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "currency": {
      +            "type": "string"
      +          },
      +          "protocol": {
      +            "const": "x402",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "amount",
      +          "currency",
      +          "protocol"
      +        ],
      +        "type": "object"
      +      },
      +      "requestId": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "payment_required",
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "tool",
      +      "requestId",
      +      "price",
      +      "preview",
      +      "payment",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amounts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "amount": {
      -              "type": "number"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "currency": {
      -              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      -              "type": "string"
      -            },
      -            "currencySymbol": {
      -              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      -              "type": "string"
      -            },
      -            "frequency": {
      -              "enum": [
      -                "one_time",
      -                "daily",
      -                "weekly",
      -                "monthly",
      -                "quarterly",
      -                "annual"
      -              ],
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "amount",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "dates": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "normalizedDate": {
      -              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      -              "type": "string"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "precision": {
      -              "enum": [
      -                "day",
      -                "month"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "originalValue",
      -            "precision",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "deadlines": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "date": {
      -              "description": "ISO date when the deadline is a calendar date.",
      -              "type": "string"
      -            },
      -            "description": {
      -              "type": "string"
      -            },
      -            "relative": {
      -              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "description",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "documentSubtype": {
      -        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "documentType": {
      -        "enum": [
      -          "contract",
      -          "invoice",
      -          "purchase_order",
      -          "quotation",
      -          "tender",
      -          "policy",
      -          "financial_report",
      -          "legal_document",
      -          "lease",
      -          "resume",
      -          "company_profile",
      -          "other"
      -        ],
      -        "type": "string"
      -      },
      -      "documentTypeConfidence": {
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "documentTypeSource": {
      -        "enum": [
      -          "detected",
      -          "caller"
      -        ],
      -        "type": "string"
      -      },
      -      "entities": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "role": {
      -              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "enum": [
      -                "person",
      -                "company",
      -                "organization",
      -                "government",
      -                "location",
      -                "other"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "name",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "facts": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "key": {
      -              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      -              "type": "string"
      -            },
      -            "label": {
      -              "description": "Human-readable label.",
      -              "type": "string"
      -            },
      -            "method": {
      -              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      -              "enum": [
      -                "labeled_field",
      -                "pattern",
      -                "clause",
      -                "table",
      -                "definition",
      -                "llm_verified"
      -              ],
      -              "type": "string"
      -            },
      -            "normalizedValue": {
      -              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "value": {
      -              "description": "The value as stated (string, number, boolean, list or object)."
      -            }
      -          },
      -          "required": [
      -            "key",
      -            "label",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "language": {
      -        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      -        "type": "string"
      -      },
      -      "limitations": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "metadata": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "characterCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          "extractionMethod": {
      -            "enum": [
      -              "deterministic",
      -              "deterministic+llm_verified"
      -            ],
      -            "type": "string"
      -          },
      -          "extractionMode": {
      -            "enum": [
      -              "auto",
      -              "requested_only"
      -            ],
      -            "type": "string"
      -          },
      -          "extractorVersion": {
      -            "type": "string"
      -          },
      -          "format": {
      -            "enum": [
      -              "pdf",
      -              "docx",
      -              "html",
      -              "text",
      -              "markdown",
      -              "csv"
      -            ],
      -            "type": "string"
      -          },
      -          "llmAssist": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "rejectedFacts": {
      -                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              "status": {
      -                "enum": [
      -                  "not_configured",
      -                  "disabled",
      -                  "not_needed",
      -                  "used",
      -                  "failed"
      -                ],
      -                "type": "string"
      -              },
      -              "verifiedFacts": {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "verifiedFacts",
      -              "rejectedFacts"
      -            ],
      -            "type": "object"
      -          },
      -          "pageCount": {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "pageProvenance": {
      -            "description": "true when evidence page numbers come from real page boundaries.",
      -            "type": "boolean"
      -          },
      -          "source": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "byteLength": {
      -                "anyOf": [
      -                  {
      -                    "maximum": 9007199254740991,
      -                    "minimum": -9007199254740991,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "contentType": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "kind": {
      -                "enum": [
      -                  "url",
      -                  "text"
      -                ],
      -                "type": "string"
      -              },
      -              "url": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "url",
      -              "contentType",
      -              "byteLength"
      -            ],
      -            "type": "object"
      -          },
      -          "wordCount": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "pageCount",
      -          "characterCount",
      -          "wordCount",
      -          "format",
      -          "source",
      -          "pageProvenance",
      -          "extractionMode",
      -          "extractionMethod",
      -          "llmAssist",
      -          "extractorVersion"
      -        ],
      -        "type": "object"
      -      },
      -      "obligations": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "condition": {
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "modality": {
      -              "description": "must_not = a prohibition (\"shall not\").",
      -              "enum": [
      -                "must",
      -                "must_not"
      -              ],
      -              "type": "string"
      -            },
      -            "obligation": {
      -              "type": "string"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "obligation",
      -            "modality",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "overallConfidence": {
      -        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      -        "maximum": 1,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "percentages": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "originalValue": {
      -              "type": "string"
      -            },
      -            "ratio": {
      -              "description": "Normalized ratio, e.g. 0.05.",
      -              "type": "number"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "As written, e.g. 5 for 5%.",
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "value",
      -            "ratio",
      -            "originalValue",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requestedFacts": {
      -        "description": "One entry per requested fact, in request order (empty when none were requested).",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "confidence": {
      -              "anyOf": [
      -                {
      -                  "maximum": 1,
      -                  "minimum": 0,
      -                  "type": "number"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Null when not found — absence is reported, never guessed."
      -            },
      -            "key": {
      -              "description": "The fact key that answers it, when found.",
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "method": {
      -              "anyOf": [
      -                {
      -                  "enum": [
      -                    "labeled_field",
      -                    "pattern",
      -                    "clause",
      -                    "table",
      -                    "definition",
      -                    "llm_verified"
      -                  ],
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "normalizedValue": {},
      -            "note": {
      -              "description": "Why it was not found, or a caveat about the match.",
      -              "type": "string"
      -            },
      -            "request": {
      -              "description": "The requested fact, as asked.",
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "status": {
      -              "enum": [
      -                "found",
      -                "not_found"
      -              ],
      -              "type": "string"
      -            },
      -            "value": {
      -              "description": "The value when found; null when not found."
      -            }
      -          },
      -          "required": [
      -            "request",
      -            "status",
      -            "key",
      -            "value",
      -            "confidence",
      -            "method"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "requirements": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "category": {
      -              "enum": [
      -                "eligibility",
      -                "technical",
      -                "financial",
      -                "documentation",
      -                "compliance",
      -                "general"
      -              ],
      -              "type": "string"
      -            },
      -            "confidence": {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "deadline": {
      -              "type": "string"
      -            },
      -            "mandatory": {
      -              "type": "boolean"
      -            },
      -            "party": {
      -              "type": "string"
      -            },
      -            "requirement": {
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [
      -            "requirement",
      -            "category",
      -            "mandatory",
      -            "confidence"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "riskFlags": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "reason": {
      -              "description": "The observable condition in the document — never a legal conclusion.",
      -              "type": "string"
      -            },
      -            "severity": {
      -              "enum": [
      -                "low",
      -                "medium",
      -                "high"
      -              ],
      -              "type": "string"
      -            },
      -            "sourceEvidence": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "endOffset": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "page": {
      -                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 1,
      -                  "type": "integer"
      -                },
      -                "section": {
      -                  "description": "Nearest preceding section heading.",
      -                  "type": "string"
      -                },
      -                "startOffset": {
      -                  "description": "Start character offset of the matched value in the extracted text.",
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "text": {
      -                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "startOffset",
      -                "endOffset"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type",
      -            "severity",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "title": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "documentType",
      -      "documentSubtype",
      -      "documentTypeConfidence",
      -      "documentTypeSource",
      -      "language",
      -      "title",
      -      "facts",
      -      "requestedFacts",
      -      "entities",
      -      "dates",
      -      "amounts",
      -      "percentages",
      -      "obligations",
      -      "requirements",
      -      "deadlines",
      -      "riskFlags",
      -      "metadata",
      -      "warnings",
      -      "overallConfidence",
      -      "limitations"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "nextAction": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "instruction": {
      -            "type": "string"
      -          },
      -          "target": {
      -            "const": "x402_endpoint",
      -            "type": "string"
      -          },
      -          "type": {
      -            "const": "pay_and_retry",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "type",
      -          "target",
      -          "instruction"
      -        ],
      -        "type": "object"
      -      },
      -      "payment": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "endpoint": {
      -            "type": "string"
      -          },
      -          "method": {
      -            "const": "POST",
      -            "type": "string"
      -          },
      -          "retrySameBody": {
      -            "const": true,
      -            "type": "boolean"
      -          }
      -        },
      -        "required": [
      -          "endpoint",
      -          "method",
      -          "retrySameBody"
      -        ],
      -        "type": "object"
      -      },
      -      "preview": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "fullResultAvailable": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "inputAccepted": {
      -            "const": true,
      -            "type": "boolean"
      -          },
      -          "summary": {
      -            "type": "string"
      -          },
      -          "useCases": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "inputAccepted",
      -          "fullResultAvailable",
      -          "summary",
      -          "useCases"
      -        ],
      -        "type": "object"
      -      },
      -      "price": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "amount": {
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "currency": {
      -            "type": "string"
      -          },
      -          "protocol": {
      -            "const": "x402",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "amount",
      -          "currency",
      -          "protocol"
      -        ],
      -        "type": "object"
      -      },
      -      "requestId": {
      -        "type": "string"
      -      },
      -      "status": {
      -        "const": "payment_required",
      -        "type": "string"
      -      },
      -      "tool": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "tool",
      -      "requestId",
      -      "price",
      -      "preview",
      -      "payment",
      -      "nextAction"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amounts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount": {
      +              "type": "number"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      +              "type": "string"
      +            },
      +            "currencySymbol": {
      +              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      +              "type": "string"
      +            },
      +            "frequency": {
      +              "enum": [
      +                "one_time",
      +                "daily",
      +                "weekly",
      +                "monthly",
      +                "quarterly",
      +                "annual"
      +              ],
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "amount",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "normalizedDate": {
      +              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "precision": {
      +              "enum": [
      +                "day",
      +                "month"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "originalValue",
      +            "precision",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "date": {
      +              "description": "ISO date when the deadline is a calendar date.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "type": "string"
      +            },
      +            "relative": {
      +              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "description",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "documentSubtype": {
      +        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "documentType": {
      +        "enum": [
      +          "contract",
      +          "invoice",
      +          "purchase_order",
      +          "quotation",
      +          "tender",
      +          "policy",
      +          "financial_report",
      +          "legal_document",
      +          "lease",
      +          "resume",
      +          "company_profile",
      +          "other"
      +        ],
      +        "type": "string"
      +      },
      +      "documentTypeConfidence": {
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "documentTypeSource": {
      +        "enum": [
      +          "detected",
      +          "caller"
      +        ],
      +        "type": "string"
      +      },
      +      "entities": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "role": {
      +              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "enum": [
      +                "person",
      +                "company",
      +                "organization",
      +                "government",
      +                "location",
      +                "other"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "name",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "facts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "key": {
      +              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable label.",
      +              "type": "string"
      +            },
      +            "method": {
      +              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      +              "enum": [
      +                "labeled_field",
      +                "pattern",
      +                "clause",
      +                "table",
      +                "definition",
      +                "llm_verified"
      +              ],
      +              "type": "string"
      +            },
      +            "normalizedValue": {
      +              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "description": "The value as stated (string, number, boolean, list or object)."
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "label",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "language": {
      +        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "metadata": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "characterCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "extractionMethod": {
      +            "enum": [
      +              "deterministic",
      +              "deterministic+llm_verified"
      +            ],
      +            "type": "string"
      +          },
      +          "extractionMode": {
      +            "enum": [
      +              "auto",
      +              "requested_only"
      +            ],
      +            "type": "string"
      +          },
      +          "extractorVersion": {
      +            "type": "string"
      +          },
      +          "format": {
      +            "enum": [
      +              "pdf",
      +              "docx",
      +              "html",
      +              "text",
      +              "markdown",
      +              "csv"
      +            ],
      +            "type": "string"
      +          },
      +          "llmAssist": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "rejectedFacts": {
      +                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "status": {
      +                "enum": [
      +                  "not_configured",
      +                  "disabled",
      +                  "not_needed",
      +                  "used",
      +                  "failed"
      +                ],
      +                "type": "string"
      +              },
      +              "verifiedFacts": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "verifiedFacts",
      +              "rejectedFacts"
      +            ],
      +            "type": "object"
      +          },
      +          "pageCount": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "pageProvenance": {
      +            "description": "true when evidence page numbers come from real page boundaries.",
      +            "type": "boolean"
      +          },
      +          "source": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "byteLength": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "contentType": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "url",
      +                  "text"
      +                ],
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "url",
      +              "contentType",
      +              "byteLength"
      +            ],
      +            "type": "object"
      +          },
      +          "wordCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "pageCount",
      +          "characterCount",
      +          "wordCount",
      +          "format",
      +          "source",
      +          "pageProvenance",
      +          "extractionMode",
      +          "extractionMethod",
      +          "llmAssist",
      +          "extractorVersion"
      +        ],
      +        "type": "object"
      +      },
      +      "obligations": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "condition": {
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "modality": {
      +              "description": "must_not = a prohibition (\"shall not\").",
      +              "enum": [
      +                "must",
      +                "must_not"
      +              ],
      +              "type": "string"
      +            },
      +            "obligation": {
      +              "type": "string"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "obligation",
      +            "modality",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "overallConfidence": {
      +        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "percentages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "ratio": {
      +              "description": "Normalized ratio, e.g. 0.05.",
      +              "type": "number"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "As written, e.g. 5 for 5%.",
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "value",
      +            "ratio",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requestedFacts": {
      +        "description": "One entry per requested fact, in request order (empty when none were requested).",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when not found — absence is reported, never guessed."
      +            },
      +            "key": {
      +              "description": "The fact key that answers it, when found.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "method": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "labeled_field",
      +                    "pattern",
      +                    "clause",
      +                    "table",
      +                    "definition",
      +                    "llm_verified"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "normalizedValue": {},
      +            "note": {
      +              "description": "Why it was not found, or a caveat about the match.",
      +              "type": "string"
      +            },
      +            "request": {
      +              "description": "The requested fact, as asked.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "status": {
      +              "enum": [
      +                "found",
      +                "not_found"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "The value when found; null when not found."
      +            }
      +          },
      +          "required": [
      +            "request",
      +            "status",
      +            "key",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requirements": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "enum": [
      +                "eligibility",
      +                "technical",
      +                "financial",
      +                "documentation",
      +                "compliance",
      +                "general"
      +              ],
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "mandatory": {
      +              "type": "boolean"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "requirement": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "requirement",
      +            "category",
      +            "mandatory",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "riskFlags": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "reason": {
      +              "description": "The observable condition in the document — never a legal conclusion.",
      +              "type": "string"
      +            },
      +            "severity": {
      +              "enum": [
      +                "low",
      +                "medium",
      +                "high"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "severity",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "documentType",
      +      "documentSubtype",
      +      "documentTypeConfidence",
      +      "documentTypeSource",
      +      "language",
      +      "title",
      +      "facts",
      +      "requestedFacts",
      +      "entities",
      +      "dates",
      +      "amounts",
      +      "percentages",
      +      "obligations",
      +      "requirements",
      +      "deadlines",
      +      "riskFlags",
      +      "metadata",
      +      "warnings",
      +      "overallConfidence",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "nextAction": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "instruction": {
      +            "type": "string"
      +          },
      +          "target": {
      +            "enum": [
      +              "x402_endpoint",
      +              "mcp_credits_endpoint",
      +              "payment_endpoint",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          },
      +          "type": {
      +            "enum": [
      +              "pay_and_retry",
      +              "authorize_and_use_mcp_credits",
      +              "payment_unavailable"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "target",
      +          "instruction"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "endpoint": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "method": {
      +            "const": "POST",
      +            "type": "string"
      +          },
      +          "retrySameBody": {
      +            "const": true,
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "endpoint",
      +          "method",
      +          "retrySameBody"
      +        ],
      +        "type": "object"
      +      },
      +      "paymentGuidance": {},
      +      "preview": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fullResultAvailable": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "inputAccepted": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "summary": {
      +            "type": "string"
      +          },
      +          "useCases": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "inputAccepted",
      +          "fullResultAvailable",
      +          "summary",
      +          "useCases"
      +        ],
      +        "type": "object"
      +      },
      +      "price": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "amount": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "currency": {
      +            "type": "string"
      +          },
      +          "protocol": {
      +            "enum": [
      +              "x402",
      +              "api_credits",
      +              "subscription",
      +              "l402",
      +              "mpp",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "amount",
      +          "currency",
      +          "protocol"
      +        ],
      +        "type": "object"
      +      },
      +      "requestId": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "payment_required",
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "tool",
      +      "requestId",
      +      "price",
      +      "preview",
      +      "payment",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. Changed4 schema fields changed
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amounts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "amount": {
      +              "type": "number"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "currency": {
      +              "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      +              "type": "string"
      +            },
      +            "currencySymbol": {
      +              "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      +              "type": "string"
      +            },
      +            "frequency": {
      +              "enum": [
      +                "one_time",
      +                "daily",
      +                "weekly",
      +                "monthly",
      +                "quarterly",
      +                "annual"
      +              ],
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "amount",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "dates": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "normalizedDate": {
      +              "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      +              "type": "string"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "precision": {
      +              "enum": [
      +                "day",
      +                "month"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "originalValue",
      +            "precision",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "deadlines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "date": {
      +              "description": "ISO date when the deadline is a calendar date.",
      +              "type": "string"
      +            },
      +            "description": {
      +              "type": "string"
      +            },
      +            "relative": {
      +              "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "description",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "documentSubtype": {
      +        "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "documentType": {
      +        "enum": [
      +          "contract",
      +          "invoice",
      +          "purchase_order",
      +          "quotation",
      +          "tender",
      +          "policy",
      +          "financial_report",
      +          "legal_document",
      +          "lease",
      +          "resume",
      +          "company_profile",
      +          "other"
      +        ],
      +        "type": "string"
      +      },
      +      "documentTypeConfidence": {
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "documentTypeSource": {
      +        "enum": [
      +          "detected",
      +          "caller"
      +        ],
      +        "type": "string"
      +      },
      +      "entities": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "role": {
      +              "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "enum": [
      +                "person",
      +                "company",
      +                "organization",
      +                "government",
      +                "location",
      +                "other"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "name",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "facts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "key": {
      +              "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      +              "type": "string"
      +            },
      +            "label": {
      +              "description": "Human-readable label.",
      +              "type": "string"
      +            },
      +            "method": {
      +              "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      +              "enum": [
      +                "labeled_field",
      +                "pattern",
      +                "clause",
      +                "table",
      +                "definition",
      +                "llm_verified"
      +              ],
      +              "type": "string"
      +            },
      +            "normalizedValue": {
      +              "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "value": {
      +              "description": "The value as stated (string, number, boolean, list or object)."
      +            }
      +          },
      +          "required": [
      +            "key",
      +            "label",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "language": {
      +        "description": "ISO 639-1 code, or \"und\" when undetermined.",
      +        "type": "string"
      +      },
      +      "limitations": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "metadata": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "characterCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "extractionMethod": {
      +            "enum": [
      +              "deterministic",
      +              "deterministic+llm_verified"
      +            ],
      +            "type": "string"
      +          },
      +          "extractionMode": {
      +            "enum": [
      +              "auto",
      +              "requested_only"
      +            ],
      +            "type": "string"
      +          },
      +          "extractorVersion": {
      +            "type": "string"
      +          },
      +          "format": {
      +            "enum": [
      +              "pdf",
      +              "docx",
      +              "html",
      +              "text",
      +              "markdown",
      +              "csv"
      +            ],
      +            "type": "string"
      +          },
      +          "llmAssist": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "rejectedFacts": {
      +                "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "status": {
      +                "enum": [
      +                  "not_configured",
      +                  "disabled",
      +                  "not_needed",
      +                  "used",
      +                  "failed"
      +                ],
      +                "type": "string"
      +              },
      +              "verifiedFacts": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "verifiedFacts",
      +              "rejectedFacts"
      +            ],
      +            "type": "object"
      +          },
      +          "pageCount": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "pageProvenance": {
      +            "description": "true when evidence page numbers come from real page boundaries.",
      +            "type": "boolean"
      +          },
      +          "source": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "byteLength": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "contentType": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "url",
      +                  "text"
      +                ],
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "url",
      +              "contentType",
      +              "byteLength"
      +            ],
      +            "type": "object"
      +          },
      +          "wordCount": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "pageCount",
      +          "characterCount",
      +          "wordCount",
      +          "format",
      +          "source",
      +          "pageProvenance",
      +          "extractionMode",
      +          "extractionMethod",
      +          "llmAssist",
      +          "extractorVersion"
      +        ],
      +        "type": "object"
      +      },
      +      "obligations": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "condition": {
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "modality": {
      +              "description": "must_not = a prohibition (\"shall not\").",
      +              "enum": [
      +                "must",
      +                "must_not"
      +              ],
      +              "type": "string"
      +            },
      +            "obligation": {
      +              "type": "string"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "obligation",
      +            "modality",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "overallConfidence": {
      +        "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      +        "maximum": 1,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "percentages": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "originalValue": {
      +              "type": "string"
      +            },
      +            "ratio": {
      +              "description": "Normalized ratio, e.g. 0.05.",
      +              "type": "number"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "As written, e.g. 5 for 5%.",
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "value",
      +            "ratio",
      +            "originalValue",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requestedFacts": {
      +        "description": "One entry per requested fact, in request order (empty when none were requested).",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "confidence": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when not found — absence is reported, never guessed."
      +            },
      +            "key": {
      +              "description": "The fact key that answers it, when found.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "method": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "labeled_field",
      +                    "pattern",
      +                    "clause",
      +                    "table",
      +                    "definition",
      +                    "llm_verified"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "normalizedValue": {},
      +            "note": {
      +              "description": "Why it was not found, or a caveat about the match.",
      +              "type": "string"
      +            },
      +            "request": {
      +              "description": "The requested fact, as asked.",
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "status": {
      +              "enum": [
      +                "found",
      +                "not_found"
      +              ],
      +              "type": "string"
      +            },
      +            "value": {
      +              "description": "The value when found; null when not found."
      +            }
      +          },
      +          "required": [
      +            "request",
      +            "status",
      +            "key",
      +            "value",
      +            "confidence",
      +            "method"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "requirements": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "category": {
      +              "enum": [
      +                "eligibility",
      +                "technical",
      +                "financial",
      +                "documentation",
      +                "compliance",
      +                "general"
      +              ],
      +              "type": "string"
      +            },
      +            "confidence": {
      +              "maximum": 1,
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "deadline": {
      +              "type": "string"
      +            },
      +            "mandatory": {
      +              "type": "boolean"
      +            },
      +            "party": {
      +              "type": "string"
      +            },
      +            "requirement": {
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "requirement",
      +            "category",
      +            "mandatory",
      +            "confidence"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "riskFlags": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "reason": {
      +              "description": "The observable condition in the document — never a legal conclusion.",
      +              "type": "string"
      +            },
      +            "severity": {
      +              "enum": [
      +                "low",
      +                "medium",
      +                "high"
      +              ],
      +              "type": "string"
      +            },
      +            "sourceEvidence": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "endOffset": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "page": {
      +                  "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 1,
      +                  "type": "integer"
      +                },
      +                "section": {
      +                  "description": "Nearest preceding section heading.",
      +                  "type": "string"
      +                },
      +                "startOffset": {
      +                  "description": "Start character offset of the matched value in the extracted text.",
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "text": {
      +                  "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "startOffset",
      +                "endOffset"
      +              ],
      +              "type": "object"
      +            },
      +            "type": {
      +              "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "type",
      +            "severity",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "title": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "documentType",
      +      "documentSubtype",
      +      "documentTypeConfidence",
      +      "documentTypeSource",
      +      "language",
      +      "title",
      +      "facts",
      +      "requestedFacts",
      +      "entities",
      +      "dates",
      +      "amounts",
      +      "percentages",
      +      "obligations",
      +      "requirements",
      +      "deadlines",
      +      "riskFlags",
      +      "metadata",
      +      "warnings",
      +      "overallConfidence",
      +      "limitations"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "nextAction": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "instruction": {
      +            "type": "string"
      +          },
      +          "target": {
      +            "const": "x402_endpoint",
      +            "type": "string"
      +          },
      +          "type": {
      +            "const": "pay_and_retry",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "target",
      +          "instruction"
      +        ],
      +        "type": "object"
      +      },
      +      "payment": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "endpoint": {
      +            "type": "string"
      +          },
      +          "method": {
      +            "const": "POST",
      +            "type": "string"
      +          },
      +          "retrySameBody": {
      +            "const": true,
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "endpoint",
      +          "method",
      +          "retrySameBody"
      +        ],
      +        "type": "object"
      +      },
      +      "preview": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fullResultAvailable": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "inputAccepted": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "summary": {
      +            "type": "string"
      +          },
      +          "useCases": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "inputAccepted",
      +          "fullResultAvailable",
      +          "summary",
      +          "useCases"
      +        ],
      +        "type": "object"
      +      },
      +      "price": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "amount": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "currency": {
      +            "type": "string"
      +          },
      +          "protocol": {
      +            "const": "x402",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "amount",
      +          "currency",
      +          "protocol"
      +        ],
      +        "type": "object"
      +      },
      +      "requestId": {
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "payment_required",
      +        "type": "string"
      +      },
      +      "tool": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "tool",
      +      "requestId",
      +      "price",
      +      "preview",
      +      "payment",
      +      "nextAction"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "amounts": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "amount": {
      -          "type": "number"
      -        },
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "currency": {
      -          "description": "ISO 4217 code when stated unambiguously (or declared by a Currency field in the document).",
      -          "type": "string"
      -        },
      -        "currencySymbol": {
      -          "description": "The currency marker as written when it maps to more than one currency (e.g. \"$\").",
      -          "type": "string"
      -        },
      -        "frequency": {
      -          "enum": [
      -            "one_time",
      -            "daily",
      -            "weekly",
      -            "monthly",
      -            "quarterly",
      -            "annual"
      -          ],
      -          "type": "string"
      -        },
      -        "originalValue": {
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "description": "e.g. total, subtotal, tax, contract_value, rent, deposit, bid_bond, penalty, or amount when untyped.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "amount",
      -        "originalValue",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "dates": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "normalizedDate": {
      -          "description": "ISO 8601 (YYYY-MM-DD, or YYYY-MM for month precision). Absent when the written form is ambiguous.",
      -          "type": "string"
      -        },
      -        "originalValue": {
      -          "type": "string"
      -        },
      -        "precision": {
      -          "enum": [
      -            "day",
      -            "month"
      -          ],
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "description": "e.g. effective_date, expiry_date, invoice_date, due_date, submission_deadline, or date when untyped.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "originalValue",
      -        "precision",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "deadlines": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "date": {
      -          "description": "ISO date when the deadline is a calendar date.",
      -          "type": "string"
      -        },
      -        "description": {
      -          "type": "string"
      -        },
      -        "relative": {
      -          "description": "Relative deadline as written, e.g. \"within 30 days of receipt of invoice\".",
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "description",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "documentSubtype": {
      -    "description": "Finer classification when evident, e.g. service_agreement, insurance_policy, tax_invoice, rfp.",
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "documentType": {
      -    "enum": [
      -      "contract",
      -      "invoice",
      -      "purchase_order",
      -      "quotation",
      -      "tender",
      -      "policy",
      -      "financial_report",
      -      "legal_document",
      -      "lease",
      -      "resume",
      -      "company_profile",
      -      "other"
      -    ],
      -    "type": "string"
      -  },
      -  "documentTypeConfidence": {
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "documentTypeSource": {
      -    "enum": [
      -      "detected",
      -      "caller"
      -    ],
      -    "type": "string"
      -  },
      -  "entities": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "name": {
      -          "type": "string"
      -        },
      -        "role": {
      -          "description": "Role in the document when stated, e.g. supplier, customer, landlord, tenant, issuer.",
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "enum": [
      -            "person",
      -            "company",
      -            "organization",
      -            "government",
      -            "location",
      -            "other"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "name",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "facts": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "key": {
      -          "description": "Stable snake_case fact key, e.g. expiry_date, invoice_number, total_amount, notice_period.",
      -          "type": "string"
      -        },
      -        "label": {
      -          "description": "Human-readable label.",
      -          "type": "string"
      -        },
      -        "method": {
      -          "description": "How the fact was established. llm_verified = proposed by the optional LLM assist AND verified against a verbatim quote in the document.",
      -          "enum": [
      -            "labeled_field",
      -            "pattern",
      -            "clause",
      -            "table",
      -            "definition",
      -            "llm_verified"
      -          ],
      -          "type": "string"
      -        },
      -        "normalizedValue": {
      -          "description": "Normalized form when unambiguous: ISO date, {amount, currency}, ratio, {value, unit, iso8601}."
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "value": {
      -          "description": "The value as stated (string, number, boolean, list or object)."
      -        }
      -      },
      -      "required": [
      -        "key",
      -        "label",
      -        "value",
      -        "confidence",
      -        "method"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "language": {
      -    "description": "ISO 639-1 code, or \"und\" when undetermined.",
      -    "type": "string"
      -  },
      -  "limitations": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "metadata": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "characterCount": {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      "extractionMethod": {
      -        "enum": [
      -          "deterministic",
      -          "deterministic+llm_verified"
      -        ],
      -        "type": "string"
      -      },
      -      "extractionMode": {
      -        "enum": [
      -          "auto",
      -          "requested_only"
      -        ],
      -        "type": "string"
      -      },
      -      "extractorVersion": {
      -        "type": "string"
      -      },
      -      "format": {
      -        "enum": [
      -          "pdf",
      -          "docx",
      -          "html",
      -          "text",
      -          "markdown",
      -          "csv"
      -        ],
      -        "type": "string"
      -      },
      -      "llmAssist": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "rejectedFacts": {
      -            "description": "LLM proposals discarded because their quote was not found verbatim in the document or did not support the value.",
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          "status": {
      -            "enum": [
      -              "not_configured",
      -              "disabled",
      -              "not_needed",
      -              "used",
      -              "failed"
      -            ],
      -            "type": "string"
      -          },
      -          "verifiedFacts": {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "status",
      -          "verifiedFacts",
      -          "rejectedFacts"
      -        ],
      -        "type": "object"
      -      },
      -      "pageCount": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "pageProvenance": {
      -        "description": "true when evidence page numbers come from real page boundaries.",
      -        "type": "boolean"
      -      },
      -      "source": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "byteLength": {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": -9007199254740991,
      -                "type": "integer"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "contentType": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "kind": {
      -            "enum": [
      -              "url",
      -              "text"
      -            ],
      -            "type": "string"
      -          },
      -          "url": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "url",
      -          "contentType",
      -          "byteLength"
      -        ],
      -        "type": "object"
      -      },
      -      "wordCount": {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "pageCount",
      -      "characterCount",
      -      "wordCount",
      -      "format",
      -      "source",
      -      "pageProvenance",
      -      "extractionMode",
      -      "extractionMethod",
      -      "llmAssist",
      -      "extractorVersion"
      -    ],
      -    "type": "object"
      -  },
      -  "obligations": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "condition": {
      -          "type": "string"
      -        },
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "deadline": {
      -          "type": "string"
      -        },
      -        "modality": {
      -          "description": "must_not = a prohibition (\"shall not\").",
      -          "enum": [
      -            "must",
      -            "must_not"
      -          ],
      -          "type": "string"
      -        },
      -        "obligation": {
      -          "type": "string"
      -        },
      -        "party": {
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        }
      -      },
      -      "required": [
      -        "obligation",
      -        "modality",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "overallConfidence": {
      -    "description": "Overall extraction certainty for this document (text quality × fact coverage × fact confidence). Not a measure of business risk.",
      -    "maximum": 1,
      -    "minimum": 0,
      -    "type": "number"
      -  },
      -  "percentages": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "originalValue": {
      -          "type": "string"
      -        },
      -        "ratio": {
      -          "description": "Normalized ratio, e.g. 0.05.",
      -          "type": "number"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "description": "e.g. tax_rate, late_payment_interest, penalty_rate, discount, uptime, evaluation_weight, or percentage when untyped.",
      -          "type": "string"
      -        },
      -        "value": {
      -          "description": "As written, e.g. 5 for 5%.",
      -          "type": "number"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "value",
      -        "ratio",
      -        "originalValue",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "requestedFacts": {
      -    "description": "One entry per requested fact, in request order (empty when none were requested).",
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "confidence": {
      -          "anyOf": [
      -            {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "Null when not found — absence is reported, never guessed."
      -        },
      -        "key": {
      -          "description": "The fact key that answers it, when found.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "method": {
      -          "anyOf": [
      -            {
      -              "enum": [
      -                "labeled_field",
      -                "pattern",
      -                "clause",
      -                "table",
      -                "definition",
      -                "llm_verified"
      -              ],
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "normalizedValue": {},
      -        "note": {
      -          "description": "Why it was not found, or a caveat about the match.",
      -          "type": "string"
      -        },
      -        "request": {
      -          "description": "The requested fact, as asked.",
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "status": {
      -          "enum": [
      -            "found",
      -            "not_found"
      -          ],
      -          "type": "string"
      -        },
      -        "value": {
      -          "description": "The value when found; null when not found."
      -        }
      -      },
      -      "required": [
      -        "request",
      -        "status",
      -        "key",
      -        "value",
      -        "confidence",
      -        "method"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "requirements": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "category": {
      -          "enum": [
      -            "eligibility",
      -            "technical",
      -            "financial",
      -            "documentation",
      -            "compliance",
      -            "general"
      -          ],
      -          "type": "string"
      -        },
      -        "confidence": {
      -          "maximum": 1,
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "deadline": {
      -          "type": "string"
      -        },
      -        "mandatory": {
      -          "type": "boolean"
      -        },
      -        "party": {
      -          "type": "string"
      -        },
      -        "requirement": {
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        }
      -      },
      -      "required": [
      -        "requirement",
      -        "category",
      -        "mandatory",
      -        "confidence"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "riskFlags": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "reason": {
      -          "description": "The observable condition in the document — never a legal conclusion.",
      -          "type": "string"
      -        },
      -        "severity": {
      -          "enum": [
      -            "low",
      -            "medium",
      -            "high"
      -          ],
      -          "type": "string"
      -        },
      -        "sourceEvidence": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "endOffset": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "page": {
      -              "description": "1-based page number — present only when the source has real page boundaries (never inferred).",
      -              "maximum": 9007199254740991,
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "section": {
      -              "description": "Nearest preceding section heading.",
      -              "type": "string"
      -            },
      -            "startOffset": {
      -              "description": "Start character offset of the matched value in the extracted text.",
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "text": {
      -              "description": "Short verbatim excerpt (whitespace-collapsed) containing the value.",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "text",
      -            "startOffset",
      -            "endOffset"
      -          ],
      -          "type": "object"
      -        },
      -        "type": {
      -          "description": "Observable condition, e.g. automatic_renewal, missing_expiry_date, contradictory_amounts, unlimited_liability_language, embedded_instructions_detected.",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "severity",
      -        "reason"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "title": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "warnings": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "documentType",
      -  "documentSubtype",
      -  "documentTypeConfidence",
      -  "documentTypeSource",
      -  "language",
      -  "title",
      -  "facts",
      -  "requestedFacts",
      -  "entities",
      -  "dates",
      -  "amounts",
      -  "percentages",
      -  "obligations",
      -  "requirements",
      -  "deadlines",
      -  "riskFlags",
      -  "metadata",
      -  "warnings",
      -  "overallConfidence",
      -  "limitations"
      -]
  5. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag the read-only, idempotent, non-destructive profile, and the description layers on meaningful operational detail: per-fact 0-1 confidence, verbatim excerpts with character offsets and pages, normalization only when unambiguous, 25-page limits, rejection (not truncation) of oversized text, $0.25 per-call pricing via x402, and the fact that unpaid calls return payment instructions. This is well beyond what the annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and constraints are front-loaded in a dense but readable opening paragraph, followed by labeled When/Selection/Price sections. It is somewhat long and mildly redundant ('primary; prefer for evidence-backed extraction...' paraphrases the preceding sentence), but nearly every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description correctly avoids explaining return values and instead covers input modes, size/format limits, scoping to document-grounded work, and the payment lifecycle. Nothing an agent needs to decide or invoke correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description largely restates it: the accepted documentUrl formats, the text alternative, and the 25-page cap are all already documented per-parameter. It adds little new semantic content on mode, requestedFacts, or includeSourceEvidence beyond what the schema states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource: extracting structured, evidence-backed facts (entities, dates, amounts, obligations, deadlines, risk indicators) from business documents. It enumerates the document types in scope and clearly separates itself from siblings like company_due_diligence or analyze_company_risk by requiring a supplied document. An agent can identify the tool's function without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'When:' guidance states the use case (reliable machine-readable facts instead of a general summary), and 'Do not use for general company due diligence without a document or legal advice' supplies a clear exclusion. It also points to preview_capability as a free preview alternative before payment, giving the agent an alternative path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.