{"abstract":"Creating a record leaves its cached absence visible.","category":"Caching","checks":4,"contract":"Write-through creation stores the supplied value under key whether the cache held an old value, negative None, or no entry; unrelated entries are preserved.","evaluation_group":"xc-negative-invalidation-on-create","failed_approach":"Updating only a non-None hit skips both negative entries and newly created keys.","family":"xc-negative-invalidation-on-create","id":"FA-10416","implementations":{"attempt":{"sha256":"07b94a24d63766e809c335fc71a5761a28ea7b81109962cf35aecad99dd554fb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cache, key, value):\n    out=dict(cache)\n    if out.get(key) is not None:\n        out[key]=value\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve(*({'a': None}, 'a', 'new')), {'a': 'new'})\ncheck('fixture 2', solve(*({}, 'a', 0)), {'a': 0})\ncheck('fixture 3', solve(*({'a': 'old', 'b': None}, 'a', 'new')), {'a': 'new', 'b': None})\ncheck('fixture 4', solve(*({'a': False}, 'a', True)), {'a': True})\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":"6cfa06eac5adcba92bc580c06b2e2f6b254aa1e439196815a90af2b82a1857a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cache, key, value):\n    return dict(cache)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve(*({'a': None}, 'a', 'new')), {'a': 'new'})\ncheck('fixture 2', solve(*({}, 'a', 0)), {'a': 0})\ncheck('fixture 3', solve(*({'a': 'old', 'b': None}, 'a', 'new')), {'a': 'new', 'b': None})\ncheck('fixture 4', solve(*({'a': False}, 'a', True)), {'a': True})\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":"a2dbde1738d5a6e03c771c057b5fd184e1966e6614667f3afb94fcde2969f215","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cache, key, value):\n    out=dict(cache)\n    out[key]=value\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve(*({'a': None}, 'a', 'new')), {'a': 'new'})\ncheck('fixture 2', solve(*({}, 'a', 0)), {'a': 0})\ncheck('fixture 3', solve(*({'a': 'old', 'b': None}, 'a', 'new')), {'a': 'new', 'b': None})\ncheck('fixture 4', solve(*({'a': False}, 'a', True)), {'a': True})\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":" 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":"xc-negative-invalidation-on-create","generated_at":"2026-09-29T14:38:38.758048+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic cache state transformation. Inputs are copied or treated as immutable; no remote storage, real clock, or concurrent interleaving is simulated.","repair":"Preserve the cache-state invariant: Write-through creation stores the supplied value under key whether the cache held an old value, negative None, or no entry; unrelated entries are preserved.","root_cause":"The write-through creation path does not replace prior negative cache state.","sha256":"a1d9136dd99033200b73d2d73a8e045e3f3d7d7a98e9e3d96d071037eb4530d6","title":"Creating a record leaves its cached absence visible · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.141,"exit_code":1,"observations":[{"actual":{"a":null},"check":"fixture 1","expected":{"a":"new"},"passed":false},{"actual":{},"check":"fixture 2","expected":{"a":0},"passed":false},{"actual":{"a":"new","b":null},"check":"fixture 3","expected":{"a":"new","b":null},"passed":true},{"actual":{"a":true},"check":"fixture 4","expected":{"a":true},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": {\"a\": null}, \"expected\": {\"a\": \"new\"}, \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": {}, \"expected\": {\"a\": 0}, \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": {\"a\": \"new\", \"b\": null}, \"expected\": {\"a\": \"new\", \"b\": null}, \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": {\"a\": true}, \"expected\": {\"a\": true}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.763,"exit_code":1,"observations":[{"actual":{"a":null},"check":"fixture 1","expected":{"a":"new"},"passed":false},{"actual":{},"check":"fixture 2","expected":{"a":0},"passed":false},{"actual":{"a":"old","b":null},"check":"fixture 3","expected":{"a":"new","b":null},"passed":false},{"actual":{"a":false},"check":"fixture 4","expected":{"a":true},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": {\"a\": null}, \"expected\": {\"a\": \"new\"}, \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": {}, \"expected\": {\"a\": 0}, \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": {\"a\": \"old\", \"b\": null}, \"expected\": {\"a\": \"new\", \"b\": null}, \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": {\"a\": false}, \"expected\": {\"a\": true}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.563,"exit_code":0,"observations":[{"actual":{"a":"new"},"check":"fixture 1","expected":{"a":"new"},"passed":true},{"actual":{"a":0},"check":"fixture 2","expected":{"a":0},"passed":true},{"actual":{"a":"new","b":null},"check":"fixture 3","expected":{"a":"new","b":null},"passed":true},{"actual":{"a":true},"check":"fixture 4","expected":{"a":true},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": {\"a\": \"new\"}, \"expected\": {\"a\": \"new\"}, \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": {\"a\": 0}, \"expected\": {\"a\": 0}, \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": {\"a\": \"new\", \"b\": null}, \"expected\": {\"a\": \"new\", \"b\": null}, \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": {\"a\": true}, \"expected\": {\"a\": true}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}