{"abstract":"Integer arguments are accepted as booleans.","category":"Tool call schema validation","checks":6,"contract":"A boolean field accepts only values whose exact type is bool; integer 0 and 1 are not booleans.","contract_signature":"value","evaluation_group":"w3-schema-strict-boolean-type","failed_approach":"Rejecting integers but also rejecting False still mishandles a valid boolean.","family":"w3-tool-call-schema-validation-strict-boolean-type","id":"FA-99751","implementations":{"attempt":{"sha256":"58f2f7f202327793c3ccb3d38c95623e618bacadff8a83e68f4115564bbd82c6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(value):\n    return type(value) is bool and value is not False\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('true',solve(True),True)\ncheck('false',solve(False),True)\ncheck('integer one',solve(1),False)\ncheck('integer zero',solve(0),False)\ncheck('string',solve('true'),False)\ncheck('null',solve(None),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":"628444622a96b57e3dfe50c4cc92d11dccfeba6fecfa2078f6399d58b9c0ca11","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('true',solve(True),True)\ncheck('false',solve(False),True)\ncheck('integer one',solve(1),False)\ncheck('integer zero',solve(0),False)\ncheck('string',solve('true'),False)\ncheck('null',solve(None),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-strict-boolean-type","generated_at":"2026-09-30T16:48:27.615989+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":"Python numeric subtype behavior makes integer values pass a bool check.","sha256":"896b0d81edbab96860762244614cd781a7c0ef1b45a900337a194de89cd652e3","title":"Integer arguments are accepted as booleans · case 01","variant":1,"variant_policy":"The same explicitly authored fixtures repeat across all five numbered records; runtime N is unused. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":29.709,"exit_code":1,"observations":[{"actual":true,"check":"true","expected":true,"passed":true},{"actual":false,"check":"false","expected":true,"passed":false},{"actual":false,"check":"integer one","expected":false,"passed":true},{"actual":false,"check":"integer zero","expected":false,"passed":true},{"actual":false,"check":"string","expected":false,"passed":true},{"actual":false,"check":"null","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"true\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"false\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"integer one\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"integer zero\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"string\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"null\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":25.878,"exit_code":1,"observations":[{"actual":true,"check":"true","expected":true,"passed":true},{"actual":true,"check":"false","expected":true,"passed":true},{"actual":true,"check":"integer one","expected":false,"passed":false},{"actual":true,"check":"integer zero","expected":false,"passed":false},{"actual":false,"check":"string","expected":false,"passed":true},{"actual":false,"check":"null","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"true\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"false\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"integer one\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"integer zero\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"string\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"null\", \"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."}}