{"abstract":"An empty list member invalidates this strict Range parser.","category":"HTTP ranges","checks":6,"contract":"Already comma-split strings are trimmed; any empty member rejects the whole field with None. Otherwise return trimmed members, preserving order. Empty list rejects.","evaluation_group":"s3-http_ranges-request-fields","failed_approach":"The partial repair uses return [m.strip() for m in members] if members else None, which still violates the stated contract.","family":"s3-http_ranges-range-member-empty-reject","id":"FA-26646","implementations":{"attempt":{"sha256":"6d2631bd2c7c2a659fa6770916e6984b8c6f7866a9a7b55af09ad55d370201a2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(members):\n    return [m.strip() for m in members] if members else None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('range-member-empty-reject fixture 0', solve( [\"0-\"+str(N),\"\"]), None)\ncheck('range-member-empty-reject fixture 1', solve([\" \",\"0-1\"]), None)\ncheck('range-member-empty-reject fixture 2', solve([]), None)\ncheck('range-member-empty-reject fixture 3', solve([\" 0-1 \"]), [\"0-1\"])\ncheck('range-member-empty-reject fixture 4', solve([\"0-1\",\"2-3\"]), [\"0-1\",\"2-3\"])\ncheck('range-member-empty-reject fixture 5', solve([\"-\"+str(N)]), [\"-\"+str(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":"a84dad63d00bea6fd5bcf4649638b6afa43d459c0f7c68299146814aa1a1ea66","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(members):\n    return [m.strip() for m in members if m.strip()]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('range-member-empty-reject fixture 0', solve( [\"0-\"+str(N),\"\"]), None)\ncheck('range-member-empty-reject fixture 1', solve([\" \",\"0-1\"]), None)\ncheck('range-member-empty-reject fixture 2', solve([]), None)\ncheck('range-member-empty-reject fixture 3', solve([\" 0-1 \"]), [\"0-1\"])\ncheck('range-member-empty-reject fixture 4', solve([\"0-1\",\"2-3\"]), [\"0-1\",\"2-3\"])\ncheck('range-member-empty-reject fixture 5', solve([\"-\"+str(N)]), [\"-\"+str(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"},"fixed":{"sha256":"a173d3c0058a05ba18f2f9f26a488a6fae8374d16d28844b562bcbe04ef83707","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(members):\n    return [m.strip() for m in members] if members and all(m.strip() for m in members) else None\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('range-member-empty-reject fixture 0', solve( [\"0-\"+str(N),\"\"]), None)\ncheck('range-member-empty-reject fixture 1', solve([\" \",\"0-1\"]), None)\ncheck('range-member-empty-reject fixture 2', solve([]), None)\ncheck('range-member-empty-reject fixture 3', solve([\" 0-1 \"]), [\"0-1\"])\ncheck('range-member-empty-reject fixture 4', solve([\"0-1\",\"2-3\"]), [\"0-1\",\"2-3\"])\ncheck('range-member-empty-reject fixture 5', solve([\"-\"+str(N)]), [\"-\"+str(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":"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-range-member-empty-reject","generated_at":"2026-09-29T14:41:17.826381+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 [m.strip() for m in members] if members and all(m.strip() for m in members) else None","root_cause":"The range-member-empty-reject decision uses return [m.strip() for m in members if m.strip()].","sha256":"6cda23a84eae89a345ff25db094d2d991fbda351cf2a35cb5575ecaf83f722c1","title":"An empty list member invalidates this strict Range parser · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":37.363,"exit_code":1,"observations":[{"actual":["0-1",""],"check":"range-member-empty-reject fixture 0","expected":null,"passed":false},{"actual":["","0-1"],"check":"range-member-empty-reject fixture 1","expected":null,"passed":false},{"actual":null,"check":"range-member-empty-reject fixture 2","expected":null,"passed":true},{"actual":["0-1"],"check":"range-member-empty-reject fixture 3","expected":["0-1"],"passed":true},{"actual":["0-1","2-3"],"check":"range-member-empty-reject fixture 4","expected":["0-1","2-3"],"passed":true},{"actual":["-1"],"check":"range-member-empty-reject fixture 5","expected":["-1"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"range-member-empty-reject fixture 0\", \"actual\": [\"0-1\", \"\"], \"expected\": null, \"passed\": false}, {\"check\": \"range-member-empty-reject fixture 1\", \"actual\": [\"\", \"0-1\"], \"expected\": null, \"passed\": false}, {\"check\": \"range-member-empty-reject fixture 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 3\", \"actual\": [\"0-1\"], \"expected\": [\"0-1\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 4\", \"actual\": [\"0-1\", \"2-3\"], \"expected\": [\"0-1\", \"2-3\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 5\", \"actual\": [\"-1\"], \"expected\": [\"-1\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.247,"exit_code":1,"observations":[{"actual":["0-1"],"check":"range-member-empty-reject fixture 0","expected":null,"passed":false},{"actual":["0-1"],"check":"range-member-empty-reject fixture 1","expected":null,"passed":false},{"actual":[],"check":"range-member-empty-reject fixture 2","expected":null,"passed":false},{"actual":["0-1"],"check":"range-member-empty-reject fixture 3","expected":["0-1"],"passed":true},{"actual":["0-1","2-3"],"check":"range-member-empty-reject fixture 4","expected":["0-1","2-3"],"passed":true},{"actual":["-1"],"check":"range-member-empty-reject fixture 5","expected":["-1"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"range-member-empty-reject fixture 0\", \"actual\": [\"0-1\"], \"expected\": null, \"passed\": false}, {\"check\": \"range-member-empty-reject fixture 1\", \"actual\": [\"0-1\"], \"expected\": null, \"passed\": false}, {\"check\": \"range-member-empty-reject fixture 2\", \"actual\": [], \"expected\": null, \"passed\": false}, {\"check\": \"range-member-empty-reject fixture 3\", \"actual\": [\"0-1\"], \"expected\": [\"0-1\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 4\", \"actual\": [\"0-1\", \"2-3\"], \"expected\": [\"0-1\", \"2-3\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 5\", \"actual\": [\"-1\"], \"expected\": [\"-1\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":36.253,"exit_code":0,"observations":[{"actual":null,"check":"range-member-empty-reject fixture 0","expected":null,"passed":true},{"actual":null,"check":"range-member-empty-reject fixture 1","expected":null,"passed":true},{"actual":null,"check":"range-member-empty-reject fixture 2","expected":null,"passed":true},{"actual":["0-1"],"check":"range-member-empty-reject fixture 3","expected":["0-1"],"passed":true},{"actual":["0-1","2-3"],"check":"range-member-empty-reject fixture 4","expected":["0-1","2-3"],"passed":true},{"actual":["-1"],"check":"range-member-empty-reject fixture 5","expected":["-1"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"range-member-empty-reject fixture 0\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 1\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 3\", \"actual\": [\"0-1\"], \"expected\": [\"0-1\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 4\", \"actual\": [\"0-1\", \"2-3\"], \"expected\": [\"0-1\", \"2-3\"], \"passed\": true}, {\"check\": \"range-member-empty-reject fixture 5\", \"actual\": [\"-1\"], \"expected\": [\"-1\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}