{"abstract":"Tuple schema accepts an extra positional item.","category":"Tool call schema validation","checks":6,"contract":"Tuple validation requires array length equal to schema count and validates each aligned item.","contract_signature":"values, schemas","evaluation_group":"w3-schema-tuple-arity-validation","failed_approach":"Checking only maximum length still accepts missing required tuple positions.","family":"w3-tool-call-schema-validation-tuple-arity-validation","id":"FA-99796","implementations":{"attempt":{"sha256":"71b518914cd381075aad27698243af8f59ec22d99267347faaf7ac33ca28a3af","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(values, schemas):\n    return len(values)<=len(schemas) and all(rule(v) for v,rule in zip(values,schemas))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('matching tuple',solve([N,'x'],[lambda x:type(x)is int,lambda x:type(x)is str]),True)\ncheck('extra item',solve([N,'x',0],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('missing item',solve([N],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('empty tuple schema',solve([],[]),True)\ncheck('bad first type',solve(['x','y'],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('bad second type',solve([N,2],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b008a36b2d920a33f740004f950ec4aaba50e1f344db65aa665d0d30528beec4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(values, schemas):\n    return all(rule(v) for v,rule in zip(values,schemas))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('matching tuple',solve([N,'x'],[lambda x:type(x)is int,lambda x:type(x)is str]),True)\ncheck('extra item',solve([N,'x',0],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('missing item',solve([N],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('empty tuple schema',solve([],[]),True)\ncheck('bad first type',solve(['x','y'],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\ncheck('bad second type',solve([N,2],[lambda x:type(x)is int,lambda x:type(x)is str]),False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Self-contained toy JSON-like schema contract over in-memory Python values; no compatibility with a production schema standard or callable binding is claimed. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w3-tool-call-schema-validation-tuple-arity-validation","generated_at":"2026-09-30T16:48:28.093432+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tool argument validation prevents malformed structured payloads from entering a deterministic downstream operation.","root_cause":"The validator checks known positions without enforcing arity.","sha256":"72dbc7b12cb7751a91e1203fb50a6603643a413d8c5fa20a25741b88c39b61f5","title":"Tuple schema accepts an extra positional item · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":27.824,"exit_code":1,"observations":[{"actual":true,"check":"matching tuple","expected":true,"passed":true},{"actual":false,"check":"extra item","expected":false,"passed":true},{"actual":true,"check":"missing item","expected":false,"passed":false},{"actual":true,"check":"empty tuple schema","expected":true,"passed":true},{"actual":false,"check":"bad first type","expected":false,"passed":true},{"actual":false,"check":"bad second type","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"matching tuple\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"extra item\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"missing item\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"empty tuple schema\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"bad first type\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"bad second type\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":27.834,"exit_code":1,"observations":[{"actual":true,"check":"matching tuple","expected":true,"passed":true},{"actual":true,"check":"extra item","expected":false,"passed":false},{"actual":true,"check":"missing item","expected":false,"passed":false},{"actual":true,"check":"empty tuple schema","expected":true,"passed":true},{"actual":false,"check":"bad first type","expected":false,"passed":true},{"actual":false,"check":"bad second type","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"matching tuple\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"extra item\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"missing item\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"empty tuple schema\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"bad first type\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"bad second type\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}