{"id":"foreign-key-claim-check","version":"1.0.0","description":"Check an exact referential-inclusion claim and first violation under an explicit composite-null policy.","supported_operations":["check claimed foreign key","validate referential inclusion certificate","verify first foreign key violation","audit referential constraint result","check composite foreign key nulls","test parent child inclusion claim"],"unsupported_operations":["modify or repair source rows","infer columns or null policy","execute SQL or access a database"],"semantics":["Rows are scanned in ascending source index; columns retain caller order.","Cell equality is type-strict over null, booleans, safe integers other than -0, and Unicode strings by code point sequence.","A well-typed false claim returns valid false and the first field discrepancy; malformed input throws.","reference_version identifies ISO/IEC 9075-2:2023 §4.18, §11.8, and §11.9 narrowed by the packet README."],"limits":{"max_input_bytes":262144,"max_rows":1000,"max_columns":16,"max_cell_string_bytes":1024},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["child_rows","parent_rows","child_columns","parent_columns","null_policy","claim"],"properties":{"child_rows":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":{"type":["string","integer","boolean","null"]}}},"parent_rows":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":{"type":["string","integer","boolean","null"]}}},"child_columns":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":1024}},"parent_columns":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":1024}},"null_policy":{"type":"string","enum":["match_simple","nulls_equal","reject"]},"claim":{"type":"object","additionalProperties":false,"required":["satisfied","first_violation_index"],"properties":{"satisfied":{"type":"boolean"},"first_violation_index":{"type":["integer","null"],"minimum":0,"maximum":999}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["valid","reason","discrepancy","reference_version"],"properties":{"valid":{"type":"boolean"},"reason":{"type":"string"},"discrepancy":{"oneOf":[{"type":"null"},{"type":"object","additionalProperties":false,"required":["path","expected","actual"],"properties":{"path":{"type":"string"},"expected":{},"actual":{}}}]},"reference_version":{"type":"string","const":"ISO/IEC 9075-2:2023 §4.18, §11.8, §11.9 (narrowed profile)"}}},"examples":[{"input":{"child_rows":[{"pid":1}],"parent_rows":[{"id":1}],"child_columns":["pid"],"parent_columns":["id"],"null_policy":"match_simple","claim":{"satisfied":true,"first_violation_index":null}},"output":{"valid":true,"reason":"claim_exact","discrepancy":null,"reference_version":"ISO/IEC 9075-2:2023 §4.18, §11.8, §11.9 (narrowed profile)"}},{"input":{"child_rows":[{"pid":2}],"parent_rows":[{"id":1}],"child_columns":["pid"],"parent_columns":["id"],"null_policy":"match_simple","claim":{"satisfied":false,"first_violation_index":0}},"output":{"valid":true,"reason":"claim_exact","discrepancy":null,"reference_version":"ISO/IEC 9075-2:2023 §4.18, §11.8, §11.9 (narrowed profile)"}}],"execute_url":"/v1/tools/foreign-key-claim-check/versions/1.0.0/execute"}