{"api_version":"1","product_id":"quote-proof","product_version":"0.1.1","criteria":{"criteria_version":"1","rule_language":"agenttoolbox-predicate-v1","evaluation":"Output must pass the published output_schema, then every predicate below. These expressions are also evaluated by the server handler.","rules":[{"id":"decisive_result_required","test":{"gt":[{"path":"summary.decisive"},0]}},{"id":"decisive_count_matches_results","test":{"eq":[{"path":"summary.decisive"},{"count_where":{"source":{"path":"results"},"as":"result","test":{"not":{"eq":[{"path":"result.status"},"unknown"]}}}}]}},{"id":"unknown_count_matches_results","test":{"eq":[{"path":"summary.unknown"},{"count_where":{"source":{"path":"results"},"as":"result","test":{"eq":[{"path":"result.status"},"unknown"]}}}]}},{"id":"source_indices_preserve_input_order","test":{"every":{"source":{"path":"sources"},"as":"source","index_as":"source_ordinal","test":{"eq":[{"path":"source.source_index"},{"path":"source_ordinal"}]}}}},{"id":"quote_indices_preserve_input_order","test":{"every":{"source":{"path":"results"},"as":"result","index_as":"quote_ordinal","test":{"eq":[{"path":"result.quote_index"},{"path":"quote_ordinal"}]}}}},{"id":"results_reference_existing_sources","test":{"every":{"source":{"path":"results"},"as":"result","test":{"some":{"source":{"path":"sources"},"as":"source","test":{"and":[{"eq":[{"path":"source.source_index"},{"path":"result.source_index"}]},true]}}}}}},{"id":"absence_requires_complete_plain_text","test":{"every":{"source":{"path":"results"},"as":"result","test":{"some":{"source":{"path":"sources"},"as":"source","test":{"and":[{"eq":[{"path":"source.source_index"},{"path":"result.source_index"}]},{"if":[{"eq":[{"path":"result.status"},"absent"]},{"and":[{"eq":[{"path":"source.extraction"},"complete_plain_text"]},{"eq":[{"path":"result.occurrences"},"0"]},{"eq":[{"count":{"path":"result.evidence"}},0]}]},true]}]}}}}}},{"id":"unknown_results_have_no_matching_evidence","test":{"every":{"source":{"path":"results"},"as":"result","test":{"if":[{"eq":[{"path":"result.status"},"unknown"]},{"and":[{"eq":[{"path":"result.occurrences"},"unknown"]},{"eq":[{"count":{"path":"result.evidence"}},0]}]},true]}}}},{"id":"matches_require_complete_source_evidence","test":{"every":{"source":{"path":"results"},"as":"result","test":{"some":{"source":{"path":"sources"},"as":"source","test":{"and":[{"eq":[{"path":"source.source_index"},{"path":"result.source_index"}]},{"if":[{"in":[{"path":"result.status"},["exact_match","whitespace_normalized_match","ambiguous"]]},{"and":[{"eq":[{"path":"source.http_status"},200]},{"not":{"eq":[{"path":"source.content_sha256"},null]}},{"not":{"eq":[{"path":"source.extraction_sha256"},null]}},{"not":{"eq":[{"path":"source.extraction"},"unavailable"]}},{"eq":[{"count":{"path":"result.evidence"}},{"if":[{"eq":[{"path":"result.status"},"ambiguous"]},2,1]}]},{"eq":[{"path":"result.occurrences"},{"if":[{"eq":[{"path":"result.status"},"ambiguous"]},"2_or_more","1"]}]}]},true]}]}}}}}},{"id":"evidence_offsets_identify_extracted_text","test":{"every":{"source":{"path":"results"},"as":"result","test":{"some":{"source":{"path":"sources"},"as":"source","test":{"and":[{"eq":[{"path":"source.source_index"},{"path":"result.source_index"}]},{"every":{"source":{"path":"result.evidence"},"as":"evidence","test":{"and":[{"gt":[{"path":"evidence.end_char"},{"path":"evidence.start_char"}]},{"lte":[{"path":"evidence.end_char"},{"path":"source.extracted_chars"}]}]}}}]}}}}}},{"id":"context_offsets_match_text","test":{"every":{"source":{"path":"results"},"as":"result","test":{"some":{"source":{"path":"sources"},"as":"source","test":{"and":[{"eq":[{"path":"source.source_index"},{"path":"result.source_index"}]},{"every":{"source":{"path":"result.evidence"},"as":"evidence","test":{"if":[{"not":{"eq":[{"path":"evidence.context"},null]}},{"and":[{"eq":[{"subtract":[{"path":"evidence.context.end_char"},{"path":"evidence.context.start_char"}]},{"count":{"path":"evidence.context.text"}}]},{"lte":[{"path":"evidence.context.end_char"},{"path":"source.extracted_chars"}]}]},true]}}}]}}}}}}],"failure":{"before_settlement":["invalid_input","output_schema_invalid","predicate_false","execution_error","output_bound_exceeded","durable_result_write_failed"],"settlement":"One attempt only after durable validated output; unknown or unconfirmed settlement withholds output and requires reconciliation."},"scope":"Deterministic bounded checks, not usefulness, truth, certification or independent live-payment proof."},"limits":{"urls":5,"quotes":10,"source_bytes":100000,"robots_bytes":16384,"redirects":2,"deadline_ms":12000,"context_words_per_source":200,"output_bytes":14000,"supported_hosts":["developers.cloudflare.com","docs.payai.network","docs.x402.org","docs.python.org","nodejs.org","developer.mozilla.org","docs.github.com","www.typescriptlang.org"],"preview":"Disabled: a verdict is the paid result."},"canonicalization":{"id":"agenttoolbox-json-v1","encoding":"UTF-8 without BOM or trailing newline","object_keys":"Recursively sorted by unsigned UTF-16 code units (ECMAScript default string sort).","arrays":"Preserve order; no holes or additional properties.","strings":"ECMAScript JSON.stringify escaping; reject lone UTF-16 surrogates; no Unicode normalization.","numbers":"Finite IEEE-754 binary64 only; ECMAScript JSON.stringify serialization, including -0 as 0. Monetary atomic units remain decimal strings.","values":"JSON null, booleans, strings, finite numbers, arrays and plain objects only. Reject undefined, functions, symbols, bigint, accessors, cycles and non-enumerable object properties.","whitespace":"No insignificant whitespace.","payment_requirements":"Hash the complete PaymentRequirements object in accepts, including extra. Preserve address/string case and array order; do not hash the challenge envelope, header base64 or payment signature."},"canonical_json":"{\"criteria\":{\"criteria_version\":\"1\",\"evaluation\":\"Output must pass the published output_schema, then every predicate below. These expressions are also evaluated by the server handler.\",\"failure\":{\"before_settlement\":[\"invalid_input\",\"output_schema_invalid\",\"predicate_false\",\"execution_error\",\"output_bound_exceeded\",\"durable_result_write_failed\"],\"settlement\":\"One attempt only after durable validated output; unknown or unconfirmed settlement withholds output and requires reconciliation.\"},\"rule_language\":\"agenttoolbox-predicate-v1\",\"rules\":[{\"id\":\"decisive_result_required\",\"test\":{\"gt\":[{\"path\":\"summary.decisive\"},0]}},{\"id\":\"decisive_count_matches_results\",\"test\":{\"eq\":[{\"path\":\"summary.decisive\"},{\"count_where\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"not\":{\"eq\":[{\"path\":\"result.status\"},\"unknown\"]}}}}]}},{\"id\":\"unknown_count_matches_results\",\"test\":{\"eq\":[{\"path\":\"summary.unknown\"},{\"count_where\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"eq\":[{\"path\":\"result.status\"},\"unknown\"]}}}]}},{\"id\":\"source_indices_preserve_input_order\",\"test\":{\"every\":{\"as\":\"source\",\"index_as\":\"source_ordinal\",\"source\":{\"path\":\"sources\"},\"test\":{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"source_ordinal\"}]}}}},{\"id\":\"quote_indices_preserve_input_order\",\"test\":{\"every\":{\"as\":\"result\",\"index_as\":\"quote_ordinal\",\"source\":{\"path\":\"results\"},\"test\":{\"eq\":[{\"path\":\"result.quote_index\"},{\"path\":\"quote_ordinal\"}]}}}},{\"id\":\"results_reference_existing_sources\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"some\":{\"as\":\"source\",\"source\":{\"path\":\"sources\"},\"test\":{\"and\":[{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"result.source_index\"}]},true]}}}}}},{\"id\":\"absence_requires_complete_plain_text\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"some\":{\"as\":\"source\",\"source\":{\"path\":\"sources\"},\"test\":{\"and\":[{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"result.source_index\"}]},{\"if\":[{\"eq\":[{\"path\":\"result.status\"},\"absent\"]},{\"and\":[{\"eq\":[{\"path\":\"source.extraction\"},\"complete_plain_text\"]},{\"eq\":[{\"path\":\"result.occurrences\"},\"0\"]},{\"eq\":[{\"count\":{\"path\":\"result.evidence\"}},0]}]},true]}]}}}}}},{\"id\":\"unknown_results_have_no_matching_evidence\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"if\":[{\"eq\":[{\"path\":\"result.status\"},\"unknown\"]},{\"and\":[{\"eq\":[{\"path\":\"result.occurrences\"},\"unknown\"]},{\"eq\":[{\"count\":{\"path\":\"result.evidence\"}},0]}]},true]}}}},{\"id\":\"matches_require_complete_source_evidence\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"some\":{\"as\":\"source\",\"source\":{\"path\":\"sources\"},\"test\":{\"and\":[{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"result.source_index\"}]},{\"if\":[{\"in\":[{\"path\":\"result.status\"},[\"exact_match\",\"whitespace_normalized_match\",\"ambiguous\"]]},{\"and\":[{\"eq\":[{\"path\":\"source.http_status\"},200]},{\"not\":{\"eq\":[{\"path\":\"source.content_sha256\"},null]}},{\"not\":{\"eq\":[{\"path\":\"source.extraction_sha256\"},null]}},{\"not\":{\"eq\":[{\"path\":\"source.extraction\"},\"unavailable\"]}},{\"eq\":[{\"count\":{\"path\":\"result.evidence\"}},{\"if\":[{\"eq\":[{\"path\":\"result.status\"},\"ambiguous\"]},2,1]}]},{\"eq\":[{\"path\":\"result.occurrences\"},{\"if\":[{\"eq\":[{\"path\":\"result.status\"},\"ambiguous\"]},\"2_or_more\",\"1\"]}]}]},true]}]}}}}}},{\"id\":\"evidence_offsets_identify_extracted_text\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"some\":{\"as\":\"source\",\"source\":{\"path\":\"sources\"},\"test\":{\"and\":[{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"result.source_index\"}]},{\"every\":{\"as\":\"evidence\",\"source\":{\"path\":\"result.evidence\"},\"test\":{\"and\":[{\"gt\":[{\"path\":\"evidence.end_char\"},{\"path\":\"evidence.start_char\"}]},{\"lte\":[{\"path\":\"evidence.end_char\"},{\"path\":\"source.extracted_chars\"}]}]}}}]}}}}}},{\"id\":\"context_offsets_match_text\",\"test\":{\"every\":{\"as\":\"result\",\"source\":{\"path\":\"results\"},\"test\":{\"some\":{\"as\":\"source\",\"source\":{\"path\":\"sources\"},\"test\":{\"and\":[{\"eq\":[{\"path\":\"source.source_index\"},{\"path\":\"result.source_index\"}]},{\"every\":{\"as\":\"evidence\",\"source\":{\"path\":\"result.evidence\"},\"test\":{\"if\":[{\"not\":{\"eq\":[{\"path\":\"evidence.context\"},null]}},{\"and\":[{\"eq\":[{\"subtract\":[{\"path\":\"evidence.context.end_char\"},{\"path\":\"evidence.context.start_char\"}]},{\"count\":{\"path\":\"evidence.context.text\"}}]},{\"lte\":[{\"path\":\"evidence.context.end_char\"},{\"path\":\"source.extracted_chars\"}]}]},true]}}}]}}}}}}],\"scope\":\"Deterministic bounded checks, not usefulness, truth, certification or independent live-payment proof.\"},\"format\":\"agenttoolbox-success-contract-v1\",\"input_schema\":{\"$schema\":\"https://json-schema.org/draft/2020-12/schema\",\"additionalProperties\":false,\"properties\":{\"quotes\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"quote\":{\"maxLength\":512,\"minLength\":1,\"type\":\"string\"},\"source_index\":{\"maximum\":4,\"minimum\":0,\"type\":\"integer\"}},\"required\":[\"source_index\",\"quote\"],\"type\":\"object\"},\"maxItems\":10,\"minItems\":1,\"type\":\"array\"},\"urls\":{\"items\":{\"maxLength\":512,\"type\":\"string\"},\"maxItems\":5,\"minItems\":1,\"type\":\"array\"}},\"required\":[\"urls\",\"quotes\"],\"type\":\"object\"},\"limits\":{\"context_words_per_source\":200,\"deadline_ms\":12000,\"output_bytes\":14000,\"preview\":\"Disabled: a verdict is the paid result.\",\"quotes\":10,\"redirects\":2,\"robots_bytes\":16384,\"source_bytes\":100000,\"supported_hosts\":[\"developers.cloudflare.com\",\"docs.payai.network\",\"docs.x402.org\",\"docs.python.org\",\"nodejs.org\",\"developer.mozilla.org\",\"docs.github.com\",\"www.typescriptlang.org\"],\"urls\":5},\"output_schema\":{\"$schema\":\"https://json-schema.org/draft/2020-12/schema\",\"additionalProperties\":false,\"properties\":{\"normalization\":{\"const\":\"Case-sensitive; collapse Unicode whitespace runs to one ASCII space and trim; no case, punctuation, Unicode composition, or semantic folding. Offsets are UTF-16 code units in the extracted text before whitespace normalization.\",\"type\":\"string\"},\"results\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"evidence\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"anchor_fragment\":{\"anyOf\":[{\"maxLength\":361,\"type\":\"string\"},{\"type\":\"null\"}]},\"context\":{\"anyOf\":[{\"additionalProperties\":false,\"properties\":{\"end_char\":{\"maximum\":9007199254740991,\"minimum\":0,\"type\":\"integer\"},\"start_char\":{\"maximum\":9007199254740991,\"minimum\":0,\"type\":\"integer\"},\"text\":{\"maxLength\":180,\"type\":\"string\"}},\"required\":[\"text\",\"start_char\",\"end_char\"],\"type\":\"object\"},{\"type\":\"null\"}]},\"end_char\":{\"exclusiveMinimum\":0,\"maximum\":9007199254740991,\"type\":\"integer\"},\"start_char\":{\"maximum\":9007199254740991,\"minimum\":0,\"type\":\"integer\"}},\"required\":[\"start_char\",\"end_char\",\"anchor_fragment\",\"context\"],\"type\":\"object\"},\"maxItems\":2,\"type\":\"array\"},\"occurrences\":{\"enum\":[\"0\",\"1\",\"2_or_more\",\"unknown\"],\"type\":\"string\"},\"quote_index\":{\"maximum\":9,\"minimum\":0,\"type\":\"integer\"},\"reason\":{\"enum\":[\"complete_text\",\"single_occurrence\",\"repeated_occurrence\",\"html_absence_unverifiable\",\"source_too_large\",\"empty_source\",\"robots_unavailable\",\"source_disallows_access\",\"source_disallows_excerpts\",\"unsupported_redirect\",\"redirect_limit\",\"source_unavailable\",\"unsupported_content_type\",\"unsupported_encoding\",\"extraction_uncertain\",\"html_runtime_unavailable\",\"deadline_exceeded\"],\"type\":\"string\"},\"source_index\":{\"maximum\":4,\"minimum\":0,\"type\":\"integer\"},\"status\":{\"enum\":[\"exact_match\",\"whitespace_normalized_match\",\"absent\",\"ambiguous\",\"unknown\"],\"type\":\"string\"}},\"required\":[\"quote_index\",\"source_index\",\"status\",\"reason\",\"occurrences\",\"evidence\"],\"type\":\"object\"},\"maxItems\":10,\"minItems\":1,\"type\":\"array\"},\"scope\":{\"const\":\"textual_quotation_not_truth\",\"type\":\"string\"},\"source_content\":{\"const\":\"untrusted_data\",\"type\":\"string\"},\"sources\":{\"items\":{\"additionalProperties\":false,\"properties\":{\"content_sha256\":{\"anyOf\":[{\"pattern\":\"^[a-f0-9]{64}$\",\"type\":\"string\"},{\"type\":\"null\"}]},\"content_type\":{\"anyOf\":[{\"maxLength\":80,\"type\":\"string\"},{\"type\":\"null\"}]},\"extracted_chars\":{\"anyOf\":[{\"maximum\":200000,\"minimum\":0,\"type\":\"integer\"},{\"type\":\"null\"}]},\"extraction\":{\"enum\":[\"complete_plain_text\",\"static_html\",\"unavailable\"],\"type\":\"string\"},\"extraction_sha256\":{\"anyOf\":[{\"pattern\":\"^[a-f0-9]{64}$\",\"type\":\"string\"},{\"type\":\"null\"}]},\"fetched_at\":{\"format\":\"date-time\",\"pattern\":\"^(?:(?:\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\\\d|30)|(?:02)-(?:0[1-9]|1\\\\d|2[0-8])))T(?:(?:[01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d(?:\\\\.\\\\d+)?(?:Z))$\",\"type\":\"string\"},\"final_url\":{\"format\":\"uri\",\"maxLength\":512,\"type\":\"string\"},\"http_status\":{\"anyOf\":[{\"maximum\":599,\"minimum\":100,\"type\":\"integer\"},{\"type\":\"null\"}]},\"reason\":{\"anyOf\":[{\"enum\":[\"complete_text\",\"single_occurrence\",\"repeated_occurrence\",\"html_absence_unverifiable\",\"source_too_large\",\"empty_source\",\"robots_unavailable\",\"source_disallows_access\",\"source_disallows_excerpts\",\"unsupported_redirect\",\"redirect_limit\",\"source_unavailable\",\"unsupported_content_type\",\"unsupported_encoding\",\"extraction_uncertain\",\"html_runtime_unavailable\",\"deadline_exceeded\"],\"type\":\"string\"},{\"type\":\"null\"}]},\"source_bytes\":{\"anyOf\":[{\"maximum\":100000,\"minimum\":0,\"type\":\"integer\"},{\"type\":\"null\"}]},\"source_index\":{\"maximum\":4,\"minimum\":0,\"type\":\"integer\"},\"url\":{\"format\":\"uri\",\"maxLength\":512,\"type\":\"string\"}},\"required\":[\"source_index\",\"url\",\"final_url\",\"fetched_at\",\"http_status\",\"content_type\",\"source_bytes\",\"content_sha256\",\"extraction_sha256\",\"extraction\",\"extracted_chars\",\"reason\"],\"type\":\"object\"},\"maxItems\":5,\"minItems\":1,\"type\":\"array\"},\"summary\":{\"additionalProperties\":false,\"properties\":{\"decisive\":{\"maximum\":10,\"minimum\":0,\"type\":\"integer\"},\"unknown\":{\"maximum\":10,\"minimum\":0,\"type\":\"integer\"}},\"required\":[\"decisive\",\"unknown\"],\"type\":\"object\"}},\"required\":[\"source_content\",\"scope\",\"normalization\",\"sources\",\"results\",\"summary\"],\"type\":\"object\"},\"product_id\":\"quote-proof\",\"product_version\":\"0.1.1\",\"success_criterion\":\"At least one decisive quotation result with schema-validated evidence; unknown results remain explicit. Textual fidelity only, never claim truth.\"}","sha256":"1800eb994d37b99a0bf1e82398ff236ed006fcb1e44bf62b0501e018f70a3d95","input_schema_url":"/v1/products/quote-proof","output_schema_url":"/v1/products/quote-proof"}