{"abstract":"A killed flag is reported as stale, hiding the operator action in diagnostics.","category":"Feature flag rollout bucketing","checks":8,"contract":"Process events in order. [\"fetch\", t, payload] replaces the whole cache with payload, records t and clears kill switches; [\"kill\", t, flag] forces that flag to its default; [\"get\", t, flag, default] returns [default, killed] for killed flags, else [default, stale] if nothing was fetched or t - last fetch >= 30 seconds, else [default, missing] if the flag is not cached, else [value, cache]. Return the list of get results.","evaluation_group":"w2-feature-flag-rollout-bucketing-cache-freshness","failed_approach":"Requiring the killed flag to be cached ignores kills on flags the payload lacks.","family":"w2-feature-flag-rollout-bucketing-cache-freshness-kill-precedence","id":"FA-74031","implementations":{"attempt":{"sha256":"74c588490fea1e29e61bc4595a07b83b178e92f45839a30ba68d57cfff85e6b7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    cache = {}\n    fetched_at = None\n    killed = set()\n    out = []\n    for ev in events:\n        kind, t = ev[0], ev[1]\n        if kind == 'fetch':\n            cache = dict(ev[2])\n            fetched_at = t\n            killed = set()\n        elif kind == 'kill':\n            killed.add(ev[2])\n        else:\n            flag, default = ev[2], ev[3]\n            if flag in killed and flag in cache:\n                out.append([default, 'killed'])\n            elif fetched_at is None or t - fetched_at >= 30:\n                out.append([default, 'stale'])\n            elif flag not in cache:\n                out.append([default, 'missing'])\n            else:\n                out.append([cache[flag], 'cache'])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('value is stale at exactly the ttl',\n   [[['fetch', 0, {'a': True}], ['get', 30, 'a', False]]],\n   [[False, 'stale']]),\n  ('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 1',\n   [[['kill', 30, 'a'], ['fetch', 40, {'c': 3, 'b': False}], ['kill', 41, 'a']]],\n   [])],\n [('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 27',\n   [[['get', 10, 'c', 'dflt'],\n     ['get', 10.5, 'b', False],\n     ['kill', 10.5, 'b'],\n     ['get', 40.0, 'b', 0],\n     ['get', 40.0, 'c', 'dflt'],\n     ['get', 41.0, 'a', 0],\n     ['get', 41.5, 'c', False],\n     ['fetch', 71.0, {'b': 'b'}]]],\n   [['dflt', 'stale'], [False, 'stale'], [0, 'killed'], ['dflt', 'stale'], [0, 'stale'], [False, 'stale']]),\n  ('event stream sample 29',\n   [[['kill', 10, 'c'], ['kill', 10.5, 'b'], ['get', 40.0, 'c', 'dflt']]],\n   [['dflt', 'killed']])],\n [('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('event stream sample 11',\n   [[['get', 10, 'a', 0], ['get', 11, 'c', 'dflt'], ['get', 11.5, 'c', False]]],\n   [[0, 'stale'], ['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 12',\n   [[['get', 29.5, 'b', False],\n     ['kill', 30.5, 'b'],\n     ['get', 35.5, 'a', False],\n     ['get', 36.5, 'b', 'dflt'],\n     ['fetch', 36.5, {'a': True}],\n     ['get', 36.5, 'a', 'dflt'],\n     ['get', 36.5, 'a', 'dflt'],\n     ['kill', 66.5, 'a']]],\n   [[False, 'stale'], [False, 'stale'], ['dflt', 'killed'], [True, 'cache'], [True, 'cache']]),\n  ('event stream sample 50',\n   [[['get', 29.5, 'b', False],\n     ['kill', 59.5, 'b'],\n     ['get', 60.0, 'b', False],\n     ['get', 60.5, 'b', 0],\n     ['get', 90.0, 'b', 'dflt'],\n     ['fetch', 119.5, {'a': True}],\n     ['get', 120.5, 'a', 'dflt']]],\n   [[False, 'stale'], [False, 'killed'], [0, 'killed'], ['dflt', 'killed'], [True, 'cache']])],\n [('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 16',\n   [[['get', 10, 'b', 0],\n     ['get', 40, 'c', 'dflt'],\n     ['get', 69.5, 'a', 0],\n     ['fetch', 79.5, {'a': 'b'}],\n     ['fetch', 84.5, {'c': 'b'}],\n     ['kill', 85.0, 'b'],\n     ['fetch', 95.0, {'b': 3, 'c': False}]]],\n   [[0, 'stale'], ['dflt', 'stale'], [0, 'stale']]),\n  ('event stream sample 17',\n   [[['fetch', 10, {'b': 'b', 'c': False}],\n     ['fetch', 10.5, {}],\n     ['kill', 40.0, 'b'],\n     ['get', 40.5, 'c', 'dflt'],\n     ['get', 41.0, 'b', 0],\n     ['kill', 70.5, 'b']]],\n   [['dflt', 'stale'], [0, 'killed']]),\n  ('event stream sample 18',\n   [[['kill', 10, 'c'],\n     ['get', 39.5, 'a', 'dflt'],\n     ['fetch', 69.5, {'b': 3}],\n     ['get', 99.5, 'b', 0],\n     ['fetch', 129.5, {'a': 'b'}],\n     ['get', 130.0, 'b', 0]]],\n   [['dflt', 'stale'], [0, 'stale'], [0, 'missing']])],\n [('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('second fetch refreshes the ttl clock',\n   [[['fetch', 0, {'a': 1}], ['fetch', 25, {'a': 2}], ['get', 40, 'a', 0]]],\n   [[2, 'cache']]),\n  ('event stream sample 21',\n   [[['get', 5, 'a', 0], ['fetch', 5, {'a': False, 'b': True}], ['get', 5, 'b', 0]]],\n   [[0, 'stale'], [True, 'cache']]),\n  ('event stream sample 22',\n   [[['get', 29.5, 'a', 'dflt'],\n     ['get', 59.0, 'a', False],\n     ['kill', 59.0, 'b'],\n     ['fetch', 89.0, {}],\n     ['kill', 118.5, 'a'],\n     ['fetch', 118.5, {'a': 3}]]],\n   [['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 39',\n   [[['fetch', 29.5, {}], ['kill', 29.5, 'c'], ['get', 59.0, 'a', 0], ['get', 64.0, 'c', False]]],\n   [[0, 'missing'], [False, 'killed']])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"4104b0c551e7f5f9e7c13a95817084dd84f05c7b3b99188735153695d7543ada","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    cache = {}\n    fetched_at = None\n    killed = set()\n    out = []\n    for ev in events:\n        kind, t = ev[0], ev[1]\n        if kind == 'fetch':\n            cache = dict(ev[2])\n            fetched_at = t\n            killed = set()\n        elif kind == 'kill':\n            killed.add(ev[2])\n        else:\n            flag, default = ev[2], ev[3]\n            if fetched_at is None or t - fetched_at >= 30:\n                out.append([default, 'stale'])\n            elif flag in killed:\n                out.append([default, 'killed'])\n            elif flag not in cache:\n                out.append([default, 'missing'])\n            else:\n                out.append([cache[flag], 'cache'])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('value is stale at exactly the ttl',\n   [[['fetch', 0, {'a': True}], ['get', 30, 'a', False]]],\n   [[False, 'stale']]),\n  ('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 1',\n   [[['kill', 30, 'a'], ['fetch', 40, {'c': 3, 'b': False}], ['kill', 41, 'a']]],\n   [])],\n [('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 27',\n   [[['get', 10, 'c', 'dflt'],\n     ['get', 10.5, 'b', False],\n     ['kill', 10.5, 'b'],\n     ['get', 40.0, 'b', 0],\n     ['get', 40.0, 'c', 'dflt'],\n     ['get', 41.0, 'a', 0],\n     ['get', 41.5, 'c', False],\n     ['fetch', 71.0, {'b': 'b'}]]],\n   [['dflt', 'stale'], [False, 'stale'], [0, 'killed'], ['dflt', 'stale'], [0, 'stale'], [False, 'stale']]),\n  ('event stream sample 29',\n   [[['kill', 10, 'c'], ['kill', 10.5, 'b'], ['get', 40.0, 'c', 'dflt']]],\n   [['dflt', 'killed']])],\n [('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('event stream sample 11',\n   [[['get', 10, 'a', 0], ['get', 11, 'c', 'dflt'], ['get', 11.5, 'c', False]]],\n   [[0, 'stale'], ['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 12',\n   [[['get', 29.5, 'b', False],\n     ['kill', 30.5, 'b'],\n     ['get', 35.5, 'a', False],\n     ['get', 36.5, 'b', 'dflt'],\n     ['fetch', 36.5, {'a': True}],\n     ['get', 36.5, 'a', 'dflt'],\n     ['get', 36.5, 'a', 'dflt'],\n     ['kill', 66.5, 'a']]],\n   [[False, 'stale'], [False, 'stale'], ['dflt', 'killed'], [True, 'cache'], [True, 'cache']]),\n  ('event stream sample 50',\n   [[['get', 29.5, 'b', False],\n     ['kill', 59.5, 'b'],\n     ['get', 60.0, 'b', False],\n     ['get', 60.5, 'b', 0],\n     ['get', 90.0, 'b', 'dflt'],\n     ['fetch', 119.5, {'a': True}],\n     ['get', 120.5, 'a', 'dflt']]],\n   [[False, 'stale'], [False, 'killed'], [0, 'killed'], ['dflt', 'killed'], [True, 'cache']])],\n [('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 16',\n   [[['get', 10, 'b', 0],\n     ['get', 40, 'c', 'dflt'],\n     ['get', 69.5, 'a', 0],\n     ['fetch', 79.5, {'a': 'b'}],\n     ['fetch', 84.5, {'c': 'b'}],\n     ['kill', 85.0, 'b'],\n     ['fetch', 95.0, {'b': 3, 'c': False}]]],\n   [[0, 'stale'], ['dflt', 'stale'], [0, 'stale']]),\n  ('event stream sample 17',\n   [[['fetch', 10, {'b': 'b', 'c': False}],\n     ['fetch', 10.5, {}],\n     ['kill', 40.0, 'b'],\n     ['get', 40.5, 'c', 'dflt'],\n     ['get', 41.0, 'b', 0],\n     ['kill', 70.5, 'b']]],\n   [['dflt', 'stale'], [0, 'killed']]),\n  ('event stream sample 18',\n   [[['kill', 10, 'c'],\n     ['get', 39.5, 'a', 'dflt'],\n     ['fetch', 69.5, {'b': 3}],\n     ['get', 99.5, 'b', 0],\n     ['fetch', 129.5, {'a': 'b'}],\n     ['get', 130.0, 'b', 0]]],\n   [['dflt', 'stale'], [0, 'stale'], [0, 'missing']])],\n [('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('second fetch refreshes the ttl clock',\n   [[['fetch', 0, {'a': 1}], ['fetch', 25, {'a': 2}], ['get', 40, 'a', 0]]],\n   [[2, 'cache']]),\n  ('event stream sample 21',\n   [[['get', 5, 'a', 0], ['fetch', 5, {'a': False, 'b': True}], ['get', 5, 'b', 0]]],\n   [[0, 'stale'], [True, 'cache']]),\n  ('event stream sample 22',\n   [[['get', 29.5, 'a', 'dflt'],\n     ['get', 59.0, 'a', False],\n     ['kill', 59.0, 'b'],\n     ['fetch', 89.0, {}],\n     ['kill', 118.5, 'a'],\n     ['fetch', 118.5, {'a': 3}]]],\n   [['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 39',\n   [[['fetch', 29.5, {}], ['kill', 29.5, 'c'], ['get', 59.0, 'a', 0], ['get', 64.0, 'c', False]]],\n   [[0, 'missing'], [False, 'killed']])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"0434f63b2e1edf0916268b221cf0105e3801227e21560250e98897429b9a6ef3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    cache = {}\n    fetched_at = None\n    killed = set()\n    out = []\n    for ev in events:\n        kind, t = ev[0], ev[1]\n        if kind == 'fetch':\n            cache = dict(ev[2])\n            fetched_at = t\n            killed = set()\n        elif kind == 'kill':\n            killed.add(ev[2])\n        else:\n            flag, default = ev[2], ev[3]\n            if flag in killed:\n                out.append([default, 'killed'])\n            elif fetched_at is None or t - fetched_at >= 30:\n                out.append([default, 'stale'])\n            elif flag not in cache:\n                out.append([default, 'missing'])\n            else:\n                out.append([cache[flag], 'cache'])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('value is stale at exactly the ttl',\n   [[['fetch', 0, {'a': True}], ['get', 30, 'a', False]]],\n   [[False, 'stale']]),\n  ('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 1',\n   [[['kill', 30, 'a'], ['fetch', 40, {'c': 3, 'b': False}], ['kill', 41, 'a']]],\n   [])],\n [('fractional age just under the ttl is fresh',\n   [[['fetch', 0, {'a': True}], ['get', 29.5, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 27',\n   [[['get', 10, 'c', 'dflt'],\n     ['get', 10.5, 'b', False],\n     ['kill', 10.5, 'b'],\n     ['get', 40.0, 'b', 0],\n     ['get', 40.0, 'c', 'dflt'],\n     ['get', 41.0, 'a', 0],\n     ['get', 41.5, 'c', False],\n     ['fetch', 71.0, {'b': 'b'}]]],\n   [['dflt', 'stale'], [False, 'stale'], [0, 'killed'], ['dflt', 'stale'], [0, 'stale'], [False, 'stale']]),\n  ('event stream sample 29',\n   [[['kill', 10, 'c'], ['kill', 10.5, 'b'], ['get', 40.0, 'c', 'dflt']]],\n   [['dflt', 'killed']])],\n [('refetch removes flags absent from payload',\n   [[['fetch', 0, {'a': True, 'b': 'x'}], ['fetch', 5, {'a': False}], ['get', 6, 'b', 'd']]],\n   [['d', 'missing']]),\n  ('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('event stream sample 11',\n   [[['get', 10, 'a', 0], ['get', 11, 'c', 'dflt'], ['get', 11.5, 'c', False]]],\n   [[0, 'stale'], ['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 12',\n   [[['get', 29.5, 'b', False],\n     ['kill', 30.5, 'b'],\n     ['get', 35.5, 'a', False],\n     ['get', 36.5, 'b', 'dflt'],\n     ['fetch', 36.5, {'a': True}],\n     ['get', 36.5, 'a', 'dflt'],\n     ['get', 36.5, 'a', 'dflt'],\n     ['kill', 66.5, 'a']]],\n   [[False, 'stale'], [False, 'stale'], ['dflt', 'killed'], [True, 'cache'], [True, 'cache']]),\n  ('event stream sample 50',\n   [[['get', 29.5, 'b', False],\n     ['kill', 59.5, 'b'],\n     ['get', 60.0, 'b', False],\n     ['get', 60.5, 'b', 0],\n     ['get', 90.0, 'b', 'dflt'],\n     ['fetch', 119.5, {'a': True}],\n     ['get', 120.5, 'a', 'dflt']]],\n   [[False, 'stale'], [False, 'killed'], [0, 'killed'], ['dflt', 'killed'], [True, 'cache']])],\n [('empty payload clears the cache',\n   [[['fetch', 0, {'a': True}], ['fetch', 5, {}], ['get', 6, 'a', False]]],\n   [[False, 'missing']]),\n  ('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('event stream sample 16',\n   [[['get', 10, 'b', 0],\n     ['get', 40, 'c', 'dflt'],\n     ['get', 69.5, 'a', 0],\n     ['fetch', 79.5, {'a': 'b'}],\n     ['fetch', 84.5, {'c': 'b'}],\n     ['kill', 85.0, 'b'],\n     ['fetch', 95.0, {'b': 3, 'c': False}]]],\n   [[0, 'stale'], ['dflt', 'stale'], [0, 'stale']]),\n  ('event stream sample 17',\n   [[['fetch', 10, {'b': 'b', 'c': False}],\n     ['fetch', 10.5, {}],\n     ['kill', 40.0, 'b'],\n     ['get', 40.5, 'c', 'dflt'],\n     ['get', 41.0, 'b', 0],\n     ['kill', 70.5, 'b']]],\n   [['dflt', 'stale'], [0, 'killed']]),\n  ('event stream sample 18',\n   [[['kill', 10, 'c'],\n     ['get', 39.5, 'a', 'dflt'],\n     ['fetch', 69.5, {'b': 3}],\n     ['get', 99.5, 'b', 0],\n     ['fetch', 129.5, {'a': 'b'}],\n     ['get', 130.0, 'b', 0]]],\n   [['dflt', 'stale'], [0, 'stale'], [0, 'missing']])],\n [('refetch clears kill switches',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['fetch', 2, {'a': True}], ['get', 3, 'a', False]]],\n   [[True, 'cache']]),\n  ('refetch clears a kill on an uncached flag',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['fetch', 2, {'a': True}], ['get', 4, 'b', 0]]],\n   [[0, 'missing']]),\n  ('kill of a flag missing from the payload',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'b'], ['get', 2, 'b', 'd']]],\n   [['d', 'killed']]),\n  ('killed flag beats staleness',\n   [[['fetch', 0, {'a': True}], ['kill', 1, 'a'], ['get', 40, 'a', False]]],\n   [[False, 'killed']]),\n  ('second fetch refreshes the ttl clock',\n   [[['fetch', 0, {'a': 1}], ['fetch', 25, {'a': 2}], ['get', 40, 'a', 0]]],\n   [[2, 'cache']]),\n  ('event stream sample 21',\n   [[['get', 5, 'a', 0], ['fetch', 5, {'a': False, 'b': True}], ['get', 5, 'b', 0]]],\n   [[0, 'stale'], [True, 'cache']]),\n  ('event stream sample 22',\n   [[['get', 29.5, 'a', 'dflt'],\n     ['get', 59.0, 'a', False],\n     ['kill', 59.0, 'b'],\n     ['fetch', 89.0, {}],\n     ['kill', 118.5, 'a'],\n     ['fetch', 118.5, {'a': 3}]]],\n   [['dflt', 'stale'], [False, 'stale']]),\n  ('event stream sample 39',\n   [[['fetch', 29.5, {}], ['kill', 29.5, 'c'], ['get', 59.0, 'a', 0], ['get', 64.0, 'c', False]]],\n   [[0, 'missing'], [False, 'killed']])]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\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":"A deterministic toy flag-evaluation model with a stipulated contract; it does not reproduce any vendor SDK byte for byte. 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":"w2-feature-flag-rollout-bucketing-cache-freshness-kill-precedence","generated_at":"2026-09-29T14:48:52.996634+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Client SDKs serve cached flags offline; kill switches and staleness decide whether a bad flag keeps serving.","repair":"Check kill switches before staleness and cache lookup.","root_cause":"The stale check runs before the kill-switch check.","sha256":"e89ff783199df48fda7e66b956713ee3d13ee8a9fd7667b6d92f8e8319d100f1","title":"Flag value cache freshness: Staleness masks an active kill switch · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.992,"exit_code":1,"observations":[{"actual":[[false,"stale"]],"check":"value is stale at exactly the ttl","expected":[[false,"stale"]],"passed":true},{"actual":[[true,"cache"]],"check":"fractional age just under the ttl is fresh","expected":[[true,"cache"]],"passed":true},{"actual":[["d","missing"]],"check":"refetch removes flags absent from payload","expected":[["d","missing"]],"passed":true},{"actual":[[false,"missing"]],"check":"empty payload clears the cache","expected":[[false,"missing"]],"passed":true},{"actual":[[true,"cache"]],"check":"refetch clears kill switches","expected":[[true,"cache"]],"passed":true},{"actual":[["d","missing"]],"check":"kill of a flag missing from the payload","expected":[["d","killed"]],"passed":false},{"actual":[[false,"killed"]],"check":"killed flag beats staleness","expected":[[false,"killed"]],"passed":true},{"actual":[],"check":"event stream sample 1","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"value is stale at exactly the ttl\", \"actual\": [[false, \"stale\"]], \"expected\": [[false, \"stale\"]], \"passed\": true}, {\"check\": \"fractional age just under the ttl is fresh\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"refetch removes flags absent from payload\", \"actual\": [[\"d\", \"missing\"]], \"expected\": [[\"d\", \"missing\"]], \"passed\": true}, {\"check\": \"empty payload clears the cache\", \"actual\": [[false, \"missing\"]], \"expected\": [[false, \"missing\"]], \"passed\": true}, {\"check\": \"refetch clears kill switches\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"kill of a flag missing from the payload\", \"actual\": [[\"d\", \"missing\"]], \"expected\": [[\"d\", \"killed\"]], \"passed\": false}, {\"check\": \"killed flag beats staleness\", \"actual\": [[false, \"killed\"]], \"expected\": [[false, \"killed\"]], \"passed\": true}, {\"check\": \"event stream sample 1\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.35,"exit_code":1,"observations":[{"actual":[[false,"stale"]],"check":"value is stale at exactly the ttl","expected":[[false,"stale"]],"passed":true},{"actual":[[true,"cache"]],"check":"fractional age just under the ttl is fresh","expected":[[true,"cache"]],"passed":true},{"actual":[["d","missing"]],"check":"refetch removes flags absent from payload","expected":[["d","missing"]],"passed":true},{"actual":[[false,"missing"]],"check":"empty payload clears the cache","expected":[[false,"missing"]],"passed":true},{"actual":[[true,"cache"]],"check":"refetch clears kill switches","expected":[[true,"cache"]],"passed":true},{"actual":[["d","killed"]],"check":"kill of a flag missing from the payload","expected":[["d","killed"]],"passed":true},{"actual":[[false,"stale"]],"check":"killed flag beats staleness","expected":[[false,"killed"]],"passed":false},{"actual":[],"check":"event stream sample 1","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"value is stale at exactly the ttl\", \"actual\": [[false, \"stale\"]], \"expected\": [[false, \"stale\"]], \"passed\": true}, {\"check\": \"fractional age just under the ttl is fresh\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"refetch removes flags absent from payload\", \"actual\": [[\"d\", \"missing\"]], \"expected\": [[\"d\", \"missing\"]], \"passed\": true}, {\"check\": \"empty payload clears the cache\", \"actual\": [[false, \"missing\"]], \"expected\": [[false, \"missing\"]], \"passed\": true}, {\"check\": \"refetch clears kill switches\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"kill of a flag missing from the payload\", \"actual\": [[\"d\", \"killed\"]], \"expected\": [[\"d\", \"killed\"]], \"passed\": true}, {\"check\": \"killed flag beats staleness\", \"actual\": [[false, \"stale\"]], \"expected\": [[false, \"killed\"]], \"passed\": false}, {\"check\": \"event stream sample 1\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.54,"exit_code":0,"observations":[{"actual":[[false,"stale"]],"check":"value is stale at exactly the ttl","expected":[[false,"stale"]],"passed":true},{"actual":[[true,"cache"]],"check":"fractional age just under the ttl is fresh","expected":[[true,"cache"]],"passed":true},{"actual":[["d","missing"]],"check":"refetch removes flags absent from payload","expected":[["d","missing"]],"passed":true},{"actual":[[false,"missing"]],"check":"empty payload clears the cache","expected":[[false,"missing"]],"passed":true},{"actual":[[true,"cache"]],"check":"refetch clears kill switches","expected":[[true,"cache"]],"passed":true},{"actual":[["d","killed"]],"check":"kill of a flag missing from the payload","expected":[["d","killed"]],"passed":true},{"actual":[[false,"killed"]],"check":"killed flag beats staleness","expected":[[false,"killed"]],"passed":true},{"actual":[],"check":"event stream sample 1","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"value is stale at exactly the ttl\", \"actual\": [[false, \"stale\"]], \"expected\": [[false, \"stale\"]], \"passed\": true}, {\"check\": \"fractional age just under the ttl is fresh\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"refetch removes flags absent from payload\", \"actual\": [[\"d\", \"missing\"]], \"expected\": [[\"d\", \"missing\"]], \"passed\": true}, {\"check\": \"empty payload clears the cache\", \"actual\": [[false, \"missing\"]], \"expected\": [[false, \"missing\"]], \"passed\": true}, {\"check\": \"refetch clears kill switches\", \"actual\": [[true, \"cache\"]], \"expected\": [[true, \"cache\"]], \"passed\": true}, {\"check\": \"kill of a flag missing from the payload\", \"actual\": [[\"d\", \"killed\"]], \"expected\": [[\"d\", \"killed\"]], \"passed\": true}, {\"check\": \"killed flag beats staleness\", \"actual\": [[false, \"killed\"]], \"expected\": [[false, \"killed\"]], \"passed\": true}, {\"check\": \"event stream sample 1\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}