{"abstract":"Part header lookup normalizes names without rewriting values.","category":"HTTP ranges","checks":6,"contract":"Parsed headers are [name,value], unique ignoring case. Return exact value of case-insensitive matching name, else None.","evaluation_group":"s3-http_ranges-multipart-client","failed_approach":"The partial repair uses return next((v.lower() for k,v in headers if k.lower()==name.lower()),None), which still violates the stated contract.","family":"s3-http_ranges-multipart-client-header-case","id":"FA-26811","implementations":{"attempt":{"sha256":"873331b3673250c5956ab2bf700a33726ad3c3e4796188ef3a229d458b44316a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(headers, name):\n    return next((v.lower() for k,v in headers if k.lower()==name.lower()),None)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multipart-client-header-case fixture 0', solve([[\"Content-Range\",\"Bytes \"+str(N)]],\"content-range\"), \"Bytes \"+str(N))\ncheck('multipart-client-header-case fixture 1', solve([[\"content-type\",\"Text/X\"]],\"CONTENT-TYPE\"), \"Text/X\")\ncheck('multipart-client-header-case fixture 2', solve([],\"content-range\"), None)\ncheck('multipart-client-header-case fixture 3', solve([[\"x\",\"A\"]],\"x\"), \"A\")\ncheck('multipart-client-header-case fixture 4', solve([[\"x\",\"A\"]],\"y\"), None)\ncheck('multipart-client-header-case fixture 5', solve([[\"CONTENT-RANGE\",\"\"]],\"content-range\"), \"\")\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":"aaf7e5c22cd83ee57ea04ba3214739727a69cd438c530e764924dfab3d1ea674","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(headers, name):\n    return next((v for k,v in headers if k==name),None)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multipart-client-header-case fixture 0', solve([[\"Content-Range\",\"Bytes \"+str(N)]],\"content-range\"), \"Bytes \"+str(N))\ncheck('multipart-client-header-case fixture 1', solve([[\"content-type\",\"Text/X\"]],\"CONTENT-TYPE\"), \"Text/X\")\ncheck('multipart-client-header-case fixture 2', solve([],\"content-range\"), None)\ncheck('multipart-client-header-case fixture 3', solve([[\"x\",\"A\"]],\"x\"), \"A\")\ncheck('multipart-client-header-case fixture 4', solve([[\"x\",\"A\"]],\"y\"), None)\ncheck('multipart-client-header-case fixture 5', solve([[\"CONTENT-RANGE\",\"\"]],\"content-range\"), \"\")\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"},"fixed":{"sha256":"2dea47a9320d1175852868c7d9295639fc506d90abe579c0b242e65fe4448f91","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(headers, name):\n    return next((v for k,v in headers if k.lower()==name.lower()),None)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('multipart-client-header-case fixture 0', solve([[\"Content-Range\",\"Bytes \"+str(N)]],\"content-range\"), \"Bytes \"+str(N))\ncheck('multipart-client-header-case fixture 1', solve([[\"content-type\",\"Text/X\"]],\"CONTENT-TYPE\"), \"Text/X\")\ncheck('multipart-client-header-case fixture 2', solve([],\"content-range\"), None)\ncheck('multipart-client-header-case fixture 3', solve([[\"x\",\"A\"]],\"x\"), \"A\")\ncheck('multipart-client-header-case fixture 4', solve([[\"x\",\"A\"]],\"y\"), None)\ncheck('multipart-client-header-case fixture 5', solve([[\"CONTENT-RANGE\",\"\"]],\"content-range\"), \"\")\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":"Deterministic simplified range service, with stipulated local policies and already parsed trusted inputs; not a complete HTTP implementation. 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":"s3-http_ranges-multipart-client-header-case","generated_at":"2026-09-29T14:41:19.363406+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Range responses combine representation identity, conditional requests, framing, and partial-object state.","repair":"Apply the bounded decision exactly: return next((v for k,v in headers if k.lower()==name.lower()),None)","root_cause":"The multipart-client-header-case decision uses return next((v for k,v in headers if k==name),None).","sha256":"24e3851b8d65bc17d582e8f0781132770cff3511defc27ae2f68b805fe6548e2","title":"Part header lookup normalizes names without rewriting values · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":36.824,"exit_code":1,"observations":[{"actual":"bytes 1","check":"multipart-client-header-case fixture 0","expected":"Bytes 1","passed":false},{"actual":"text/x","check":"multipart-client-header-case fixture 1","expected":"Text/X","passed":false},{"actual":null,"check":"multipart-client-header-case fixture 2","expected":null,"passed":true},{"actual":"a","check":"multipart-client-header-case fixture 3","expected":"A","passed":false},{"actual":null,"check":"multipart-client-header-case fixture 4","expected":null,"passed":true},{"actual":"","check":"multipart-client-header-case fixture 5","expected":"","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multipart-client-header-case fixture 0\", \"actual\": \"bytes 1\", \"expected\": \"Bytes 1\", \"passed\": false}, {\"check\": \"multipart-client-header-case fixture 1\", \"actual\": \"text/x\", \"expected\": \"Text/X\", \"passed\": false}, {\"check\": \"multipart-client-header-case fixture 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 3\", \"actual\": \"a\", \"expected\": \"A\", \"passed\": false}, {\"check\": \"multipart-client-header-case fixture 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 5\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.315,"exit_code":1,"observations":[{"actual":null,"check":"multipart-client-header-case fixture 0","expected":"Bytes 1","passed":false},{"actual":null,"check":"multipart-client-header-case fixture 1","expected":"Text/X","passed":false},{"actual":null,"check":"multipart-client-header-case fixture 2","expected":null,"passed":true},{"actual":"A","check":"multipart-client-header-case fixture 3","expected":"A","passed":true},{"actual":null,"check":"multipart-client-header-case fixture 4","expected":null,"passed":true},{"actual":null,"check":"multipart-client-header-case fixture 5","expected":"","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multipart-client-header-case fixture 0\", \"actual\": null, \"expected\": \"Bytes 1\", \"passed\": false}, {\"check\": \"multipart-client-header-case fixture 1\", \"actual\": null, \"expected\": \"Text/X\", \"passed\": false}, {\"check\": \"multipart-client-header-case fixture 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 3\", \"actual\": \"A\", \"expected\": \"A\", \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 5\", \"actual\": null, \"expected\": \"\", \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.248,"exit_code":0,"observations":[{"actual":"Bytes 1","check":"multipart-client-header-case fixture 0","expected":"Bytes 1","passed":true},{"actual":"Text/X","check":"multipart-client-header-case fixture 1","expected":"Text/X","passed":true},{"actual":null,"check":"multipart-client-header-case fixture 2","expected":null,"passed":true},{"actual":"A","check":"multipart-client-header-case fixture 3","expected":"A","passed":true},{"actual":null,"check":"multipart-client-header-case fixture 4","expected":null,"passed":true},{"actual":"","check":"multipart-client-header-case fixture 5","expected":"","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multipart-client-header-case fixture 0\", \"actual\": \"Bytes 1\", \"expected\": \"Bytes 1\", \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 1\", \"actual\": \"Text/X\", \"expected\": \"Text/X\", \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 3\", \"actual\": \"A\", \"expected\": \"A\", \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"multipart-client-header-case fixture 5\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}