{"abstract":"Default insertion overwrites explicit null.","category":"Tool call schema validation","checks":6,"contract":"Copy an object and insert the default only when the key is absent; explicit null is preserved.","contract_signature":"obj, key, default","evaluation_group":"w3-schema-default-preserves-explicit-null","failed_approach":"Substituting only for None preserves other values but incorrectly replaces an explicit null.","family":"w3-tool-call-schema-validation-default-preserves-explicit-null","id":"FA-99806","implementations":{"attempt":{"sha256":"1a26b1fca5d7d0471aa2575841d76ed96bfdb7ade152e8c1aaa6993d52f4af0e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(obj, key, default):\n    out=dict(obj); out[key]=obj[key] if key in obj and obj[key] is not None else default; return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing',solve({},'x',N),{'x':N})\ncheck('null retained',solve({'x':None},'x',N),{'x':None})\ncheck('false retained',solve({'x':False},'x',N),{'x':False})\ncheck('zero retained',solve({'x':0},'x',N),{'x':0})\ncheck('existing text',solve({'x':'ok'},'x','d'),{'x':'ok'})\ncheck('other properties',solve({'a':1},'x',N),{'a':1,'x':N})\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":"d8acbd8a7040d239bf086eea21fcccaf8b92190810c642f4aca8a5863c9c6ad8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(obj, key, default):\n    out=dict(obj); out[key]=obj.get(key) or default; return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('missing',solve({},'x',N),{'x':N})\ncheck('null retained',solve({'x':None},'x',N),{'x':None})\ncheck('false retained',solve({'x':False},'x',N),{'x':False})\ncheck('zero retained',solve({'x':0},'x',N),{'x':0})\ncheck('existing text',solve({'x':'ok'},'x','d'),{'x':'ok'})\ncheck('other properties',solve({'a':1},'x',N),{'a':1,'x':N})\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-default-preserves-explicit-null","generated_at":"2026-09-30T16:48:28.519610+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 null value is treated as though the property were omitted.","sha256":"187cc80f2a6759f71c6c7c495559fd9de898c5768069bed836cac8e1a03f55c1","title":"Default insertion overwrites explicit null · 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":26.964,"exit_code":1,"observations":[{"actual":{"x":1},"check":"missing","expected":{"x":1},"passed":true},{"actual":{"x":1},"check":"null retained","expected":{"x":null},"passed":false},{"actual":{"x":false},"check":"false retained","expected":{"x":false},"passed":true},{"actual":{"x":0},"check":"zero retained","expected":{"x":0},"passed":true},{"actual":{"x":"ok"},"check":"existing text","expected":{"x":"ok"},"passed":true},{"actual":{"a":1,"x":1},"check":"other properties","expected":{"a":1,"x":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 1}, \"passed\": true}, {\"check\": \"null retained\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": null}, \"passed\": false}, {\"check\": \"false retained\", \"actual\": {\"x\": false}, \"expected\": {\"x\": false}, \"passed\": true}, {\"check\": \"zero retained\", \"actual\": {\"x\": 0}, \"expected\": {\"x\": 0}, \"passed\": true}, {\"check\": \"existing text\", \"actual\": {\"x\": \"ok\"}, \"expected\": {\"x\": \"ok\"}, \"passed\": true}, {\"check\": \"other properties\", \"actual\": {\"a\": 1, \"x\": 1}, \"expected\": {\"a\": 1, \"x\": 1}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.315,"exit_code":1,"observations":[{"actual":{"x":1},"check":"missing","expected":{"x":1},"passed":true},{"actual":{"x":1},"check":"null retained","expected":{"x":null},"passed":false},{"actual":{"x":1},"check":"false retained","expected":{"x":false},"passed":false},{"actual":{"x":1},"check":"zero retained","expected":{"x":0},"passed":false},{"actual":{"x":"ok"},"check":"existing text","expected":{"x":"ok"},"passed":true},{"actual":{"a":1,"x":1},"check":"other properties","expected":{"a":1,"x":1},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"missing\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 1}, \"passed\": true}, {\"check\": \"null retained\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": null}, \"passed\": false}, {\"check\": \"false retained\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": false}, \"passed\": false}, {\"check\": \"zero retained\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 0}, \"passed\": false}, {\"check\": \"existing text\", \"actual\": {\"x\": \"ok\"}, \"expected\": {\"x\": \"ok\"}, \"passed\": true}, {\"check\": \"other properties\", \"actual\": {\"a\": 1, \"x\": 1}, \"expected\": {\"a\": 1, \"x\": 1}, \"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."}}