{"abstract":"Boolean values pass an integer field.","category":"Tool call schema validation","checks":6,"contract":"An integer field accepts exact Python ints and rejects bool despite bool being an int subclass.","contract_signature":"value","evaluation_group":"w3-schema-integer-excludes-bool","failed_approach":"Special-casing True rejects that boolean but continues to accept False as an integer.","family":"w3-tool-call-schema-validation-integer-excludes-bool","id":"FA-99756","implementations":{"attempt":{"sha256":"2bc51179f6536e947cb150fca301c2f911094e46573c34ac0169d087f9fd9c0e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value):\n    return type(value) is int or value is True\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variant integer',solve(N),True)\ncheck('negative integer',solve(-N),True)\ncheck('true is not integer',solve(True),False)\ncheck('false is not integer',solve(False),False)\ncheck('integral float',solve(2.0),False)\ncheck('string digits',solve('2'),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":"15d831a5700df7777831da4ff95aed271b04ca3f31ef94eeba8dc66b5124ea1f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value):\n    return isinstance(value,int)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('variant integer',solve(N),True)\ncheck('negative integer',solve(-N),True)\ncheck('true is not integer',solve(True),False)\ncheck('false is not integer',solve(False),False)\ncheck('integral float',solve(2.0),False)\ncheck('string digits',solve('2'),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-integer-excludes-bool","generated_at":"2026-09-30T16:48:27.645841+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":"A broad integer instance check includes booleans.","sha256":"8249f7d0c51b5485fc9a727f431003a6601c2cee23d30fc9611c7cf2ce1e63dc","title":"Boolean values pass an integer field · 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":28.428,"exit_code":1,"observations":[{"actual":true,"check":"variant integer","expected":true,"passed":true},{"actual":true,"check":"negative integer","expected":true,"passed":true},{"actual":true,"check":"true is not integer","expected":false,"passed":false},{"actual":false,"check":"false is not integer","expected":false,"passed":true},{"actual":false,"check":"integral float","expected":false,"passed":true},{"actual":false,"check":"string digits","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variant integer\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"negative integer\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"true is not integer\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"false is not integer\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"integral float\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"string digits\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.058,"exit_code":1,"observations":[{"actual":true,"check":"variant integer","expected":true,"passed":true},{"actual":true,"check":"negative integer","expected":true,"passed":true},{"actual":true,"check":"true is not integer","expected":false,"passed":false},{"actual":true,"check":"false is not integer","expected":false,"passed":false},{"actual":false,"check":"integral float","expected":false,"passed":true},{"actual":false,"check":"string digits","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"variant integer\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"negative integer\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"true is not integer\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"false is not integer\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"integral float\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"string digits\", \"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."}}