{"abstract":"An If-None-Match list compares complete opaque values.","category":"HTTP ranges","checks":6,"contract":"Inputs are parsed weak-normalized opaque tag strings. Return 304 if current is a complete member; otherwise return [206,body].","evaluation_group":"s3-http_ranges-conditional","failed_approach":"The partial repair uses return [304, \"\"] if requested and requested[0] == current else [206,body], which still violates the stated contract.","family":"s3-http_ranges-etag-list-not-substring","id":"FA-26356","implementations":{"attempt":{"sha256":"b91e905dc28a3d680e33174e0b229e6e22d3a2a35b434010e5c6b0f1a08703d6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(requested, current, body):\n    return [304, \"\"] if requested and requested[0] == current else [206,body]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('etag-list-not-substring fixture 0', solve( [\"v\"],\"v\"+str(N),\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 1', solve([\"old\",\"v\"+str(N)],\"v\"+str(N),\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 2', solve([],\"v\",\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 3', solve([\"v\"],\"v\",\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 4', solve([\"\"],\"v\",\"p\"), [206,\"p\"])\ncheck('etag-list-not-substring fixture 5', solve([\"a\",\"b\"],\"c\",\"p\"), [206,\"p\"])\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":"995c213034d48a01004933c95f585c5f71563f796d66cb618e04392a04d19266","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(requested, current, body):\n    return [304, \"\"] if any(t in current for t in requested) else [206,body]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('etag-list-not-substring fixture 0', solve( [\"v\"],\"v\"+str(N),\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 1', solve([\"old\",\"v\"+str(N)],\"v\"+str(N),\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 2', solve([],\"v\",\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 3', solve([\"v\"],\"v\",\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 4', solve([\"\"],\"v\",\"p\"), [206,\"p\"])\ncheck('etag-list-not-substring fixture 5', solve([\"a\",\"b\"],\"c\",\"p\"), [206,\"p\"])\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":"dd0dc95c691529b8080801a9df10db8664dc0bc65857f2b7ad4c337febee11a4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(requested, current, body):\n    return [304, \"\"] if current in requested else [206,body]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('etag-list-not-substring fixture 0', solve( [\"v\"],\"v\"+str(N),\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 1', solve([\"old\",\"v\"+str(N)],\"v\"+str(N),\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 2', solve([],\"v\",\"p\"*N), [206,\"p\"*N])\ncheck('etag-list-not-substring fixture 3', solve([\"v\"],\"v\",\"p\"), [304,\"\"])\ncheck('etag-list-not-substring fixture 4', solve([\"\"],\"v\",\"p\"), [206,\"p\"])\ncheck('etag-list-not-substring fixture 5', solve([\"a\",\"b\"],\"c\",\"p\"), [206,\"p\"])\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-etag-list-not-substring","generated_at":"2026-09-29T14:41:15.219976+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 [304, \"\"] if current in requested else [206,body]","root_cause":"The etag-list-not-substring decision uses return [304, \"\"] if any(t in current for t in requested) else [206,body].","sha256":"ff4c43537dda875ea35a102e096da7451596704e42e3d83f10813bac9bcb5fba","title":"An If-None-Match list compares complete opaque values · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.298,"exit_code":1,"observations":[{"actual":[206,"p"],"check":"etag-list-not-substring fixture 0","expected":[206,"p"],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 1","expected":[304,""],"passed":false},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 2","expected":[206,"p"],"passed":true},{"actual":[304,""],"check":"etag-list-not-substring fixture 3","expected":[304,""],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 4","expected":[206,"p"],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 5","expected":[206,"p"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"etag-list-not-substring fixture 0\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 1\", \"actual\": [206, \"p\"], \"expected\": [304, \"\"], \"passed\": false}, {\"check\": \"etag-list-not-substring fixture 2\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 3\", \"actual\": [304, \"\"], \"expected\": [304, \"\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 4\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 5\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.139,"exit_code":1,"observations":[{"actual":[304,""],"check":"etag-list-not-substring fixture 0","expected":[206,"p"],"passed":false},{"actual":[304,""],"check":"etag-list-not-substring fixture 1","expected":[304,""],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 2","expected":[206,"p"],"passed":true},{"actual":[304,""],"check":"etag-list-not-substring fixture 3","expected":[304,""],"passed":true},{"actual":[304,""],"check":"etag-list-not-substring fixture 4","expected":[206,"p"],"passed":false},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 5","expected":[206,"p"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"etag-list-not-substring fixture 0\", \"actual\": [304, \"\"], \"expected\": [206, \"p\"], \"passed\": false}, {\"check\": \"etag-list-not-substring fixture 1\", \"actual\": [304, \"\"], \"expected\": [304, \"\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 2\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 3\", \"actual\": [304, \"\"], \"expected\": [304, \"\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 4\", \"actual\": [304, \"\"], \"expected\": [206, \"p\"], \"passed\": false}, {\"check\": \"etag-list-not-substring fixture 5\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.224,"exit_code":0,"observations":[{"actual":[206,"p"],"check":"etag-list-not-substring fixture 0","expected":[206,"p"],"passed":true},{"actual":[304,""],"check":"etag-list-not-substring fixture 1","expected":[304,""],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 2","expected":[206,"p"],"passed":true},{"actual":[304,""],"check":"etag-list-not-substring fixture 3","expected":[304,""],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 4","expected":[206,"p"],"passed":true},{"actual":[206,"p"],"check":"etag-list-not-substring fixture 5","expected":[206,"p"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"etag-list-not-substring fixture 0\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 1\", \"actual\": [304, \"\"], \"expected\": [304, \"\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 2\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 3\", \"actual\": [304, \"\"], \"expected\": [304, \"\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 4\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}, {\"check\": \"etag-list-not-substring fixture 5\", \"actual\": [206, \"p\"], \"expected\": [206, \"p\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}