{"data":{"status":"fail","changes":[{"path":"/required","keyword":"required","effect":"narrows","breaking":true,"after":"region","detail":"property \"region\" became required"},{"path":"/properties/mode","keyword":"enum","effect":"narrows","breaking":true,"before":["fast","slow"],"after":["fast"],"detail":"values removed: [\"slow\"]"},{"path":"/properties/note","keyword":"maxLength","effect":"narrows","breaking":true,"after":10,"detail":"maxLength added"},{"path":"/properties/region","keyword":"schema","effect":"narrows","breaking":true,"before":true,"after":{"type":"string"},"detail":"any value was accepted; now the schema restricts values"}],"counts":{"breaking":4,"uncomparable":0,"nonBreaking":0,"operationsCompared":0},"calls":[{"index":0,"name":"cached","before":"valid","after":"invalid","regression":true,"errors":[{"instancePath":"","keyword":"required","message":"missing required property \"region\""},{"instancePath":"/mode","keyword":"enum","message":"value is not one of the enumerated values"}]}],"witnesses":[{"ruleId":"breaking:required","detail":"property \"region\" became required","path":"/required","actual":"region"},{"ruleId":"breaking:enum","detail":"values removed: [\"slow\"]","path":"/properties/mode","expected":["fast","slow"],"actual":["fast"]},{"ruleId":"breaking:maxLength","detail":"maxLength added","path":"/properties/note","actual":10},{"ruleId":"breaking:schema","detail":"any value was accepted; now the schema restricts values","path":"/properties/region","expected":true,"actual":{"type":"string"}},{"ruleId":"call-regression:required","detail":"cached call cached was valid before and fails now: missing required property \"region\"","path":"","index":0},{"ruleId":"call-regression:enum","detail":"cached call cached was valid before and fails now: value is not one of the enumerated values","path":"/mode","index":0}],"versions":{"json-schema-engine":"JSON Schema 2020-12 interpreter (https://json-schema.org/draft/2020-12/schema), no code generation; validated against JSON-Schema-Test-Suite tests/draft2020-12 at commit 245a45abc90190c0bff04d97e6d2b541b4bb9f12","json-pointer":"RFC 6901 (https://www.rfc-editor.org/rfc/rfc6901)","openapi":"OpenAPI Specification 3.0.3 / 3.1.0 (nullable and boolean exclusiveMinimum/Maximum are normalised to 2020-12)","compat-model":"Liskov-style: request schemas must not narrow, response schemas must not widen; JSON Schema 2020-12 keyword semantics"},"limits":["format is an annotation, as JSON Schema 2020-12 specifies by default: a value that violates a format still validates.","Structural comparison, not language inclusion: pattern, format, not, if/then/else and mixed combinator edits are uncomparable.","OpenAPI inputs are JSON objects; convert YAML first (openapi-slice accepts YAML).","Only application/json style media types and local $ref are compared."],"deterministic":true},"_provenance":{"version":"writerslogic-provenance/1","issuer":"did:web:agents.writerslogic.com","verify":{"endpoint":"POST /api/v1/verify-provenance","did":"did:web:agents.writerslogic.com"},"manifest":{"format":"application/json","instance_id":"xmp:iid:d53c610b-df1d-43c0-ac84-e89685dd92bc","claim_generator_info":[{"name":"WritersLogic x402 Agent Hub","version":"2.0.0"}],"title":"Breaking-change diff between two JSON Schemas or OpenAPI documents, and whether cached calls still validate","assertions":[{"label":"c2pa.actions.v2","data":{"actions":[{"action":"c2pa.created","when":"2026-11-06T01:30:23.040Z","softwareAgent":{"name":"writerslogic-agent-hub/schema-compat","version":"2.0.0"},"digitalSourceType":"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia","parameters":{"endpoint":"POST /api/v1/schema-compat","inputDigest":{"alg":"sha256","hash":"78faeb446103582a6b16cbcc1df8bbc3653f8bfdcbb8b8ab899b0e3a1e1d295a","canonicalization":"JCS"}}}]}},{"label":"c2pa.hash.data","data":{"alg":"sha256","hash":"c05dd53a09de4ed6b34a8ff8256f52119d19c597976fd3bb783849940497f669","name":"jcs-canonical-json(data)"}}]},"credential":{"@context":["https://www.w3.org/ns/credentials/v2"],"id":"urn:uuid:f0a1e1bb-6a61-42ab-9426-5724889ae4dc","type":["VerifiableCredential","AgentOutputCredential"],"issuer":"did:web:agents.writerslogic.com","validFrom":"2026-11-06T01:30:23.040Z","credentialSubject":{"id":"urn:sha256:c05dd53a09de4ed6b34a8ff8256f52119d19c597976fd3bb783849940497f669","agent":"schema-compat","endpoint":"POST /api/v1/schema-compat","outputDigest":{"alg":"sha256","value":"c05dd53a09de4ed6b34a8ff8256f52119d19c597976fd3bb783849940497f669","canonicalization":"JCS"},"inputDigest":{"alg":"sha256","value":"78faeb446103582a6b16cbcc1df8bbc3653f8bfdcbb8b8ab899b0e3a1e1d295a","canonicalization":"JCS"},"manifestDigest":{"alg":"sha256","value":"1e059372d83d38dabb935831b5e692ad68401922c42fdf31b45d88e29ec32204","canonicalization":"JCS"},"ingredients":[],"payment":{"scheme":"api-key","network":"eip155:8453","payer":"sample"}},"proof":{"type":"DataIntegrityProof","cryptosuite":"eddsa-jcs-2022","created":"2026-11-06T01:30:23.040Z","verificationMethod":"did:web:agents.writerslogic.com#key-1","proofPurpose":"assertionMethod","proofValue":"z4SRAAcTGCizPNwUaQnUxDRz6spwkV3SN6PZqQ457w56QhBk8g2b9YGajRMjwwVGnCj7pzbpPrHZxSwf8HD1LBGcz"}},"ethSignature":{"type":"EIP-191","signer":"did:pkh:eip155:8453:0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","address":"0x3DBd42560cA7a7E448A2c7DfC9E785526189411f","message":"writerslogic-provenance:a84db071307c260b28b2c3c74ada14335af0c1c80efb0806a769a2a7bc9892da","signature":"0x90946a4348e43b5de70c5e6e38a5a04a0895a9913d837ed5e69ada56b7cfae874056a318908a5f9369b7b98eaa88eab4aa595650e7d58f1f1058058cf7cf48ab1b"}}}