{"abstract":"A tick exactly max_age old is rejected.","category":"Currency rounding and FX conversion","checks":8,"contract":"solve(ticks, trade_ts, max_age): ticks is the published rate feed [[ts, rate], ...] in publication order. Use the tick with the greatest ts <= trade_ts; among ticks with equal ts the later-published one is a correction and wins. No eligible tick returns 'ERR:no-rate'. If max_age is not None and trade_ts - ts > max_age the rate is 'ERR:stale' (max_age 0 accepts only a same-instant tick). Return [ts, rate].","evaluation_group":"w2-currency_rounding_and_fx_conversion-as-of-rate-selection","failed_approach":"Measuring age from the newest tick in the feed lets a future tick make an old rate look fresh.","family":"w2-currency_rounding_and_fx_conversion-as-of-rate-selection-staleness-boundary","id":"FA-61976","implementations":{"attempt":{"sha256":"a5e64390154a8fdc38e3e36a8ae676affbf9c69c5c6b67e39377ee7d3d51b74d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_EVEN, ROUND_HALF_UP, ROUND_FLOOR, ROUND_CEILING, ROUND_DOWN, ROUND_UP, ROUND_HALF_DOWN\nN = 1\nobservations = []\ndef solve(ticks, trade_ts, max_age):\n    best = None\n    for ts, r in ticks:\n        if ts <= trade_ts and (best is None or ts >= best[0]):\n            best = [ts, r]\n    if best is None: return 'ERR:no-rate'\n    if max_age is not None and trade_ts - max(t for t, _ in ticks) > max_age: return 'ERR:stale'\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression staleness-boundary 1', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('regression staleness-boundary 2', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('partial repair guard 1', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.0708'], [20, '1.0061'], [14, '1.0619'], [11, '1.2351']], 18, 2), 'ERR:stale'),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1',\n   ([[16, '1.0577'], [3, '1.1605'], [9, '1.0153'], [16, '1.0347'], [5, '1.1882']], 4, 1), [3, '1.1605']),\n  ('regression staleness-boundary 2', ([[10, '1.1254'], [1, '1.0516'], [3, '1.1640']], 2, 1), [1, '1.0516']),\n  ('partial repair guard 1',\n   ([[14, '1.1444'], [0, '1.1478'], [5, '1.1087'], [5, '1.1978'], [11, '1.2115'], [1, '1.2119']], 7, 0), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.1610'], [10, '1.2604']], 3, 1), 'ERR:stale'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1', ([[1, '1.2376'], [19, '1.2134'], [14, '1.2465']], 1, 0), [1, '1.2376']),\n  ('regression staleness-boundary 2', ([[3, '1.2016'], [20, '1.0619'], [10, '1.1904'], [10, '1.1149']], 6, 3),\n   [3, '1.2016']),\n  ('partial repair guard 1', ([[17, '1.2848'], [2, '1.1228']], 14, 2), 'ERR:stale'),\n  ('partial repair guard 2', ([[10, '1.2328'], [1, '1.0928'], [3, '1.1922'], [19, '1.2521'], [19, '1.2864']], 2, 0),\n   'ERR:stale'),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19']),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale')],\n [('regression staleness-boundary 1', ([[4, '1.2845'], [1, '1.0456'], [3, '1.1500'], [14, '1.1676']], 17, 3),\n   [14, '1.1676']),\n  ('regression staleness-boundary 2', ([[14, '1.2739'], [20, '1.2257'], [0, '1.2886']], 16, 2), [14, '1.2739']),\n  ('partial repair guard 1', ([[6, '1.0581'], [9, '1.2011'], [16, '1.2956']], 12, 1), 'ERR:stale'),\n  ('partial repair guard 2', ([[17, '1.1794'], [15, '1.0788'], [2, '1.2545']], 12, 0), 'ERR:stale'),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05'])],\n [('regression staleness-boundary 1',\n   ([[5, '1.0271'], [11, '1.2757'], [10, '1.0041'], [14, '1.1151'], [2, '1.2167']], 14, 0), [14, '1.1151']),\n  ('regression staleness-boundary 2',\n   ([[13, '1.1719'], [0, '1.0347'], [20, '1.2239'], [9, '1.1422'], [3, '1.0957']], 1, 1), [0, '1.0347']),\n  ('partial repair guard 1',\n   ([[1, '1.0230'], [14, '1.0591'], [3, '1.2010'], [13, '1.0135'], [3, '1.1001'], [13, '1.1421']], 12, 3),\n   'ERR:stale'),\n  ('partial repair guard 2',\n   ([[5, '1.0556'], [2, '1.2743'], [17, '1.2317'], [7, '1.0015'], [4, '1.2457'], [7, '1.1125']], 16, 5), 'ERR:stale'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19'])]]\nfor label, args, expected in cases[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":"e687daf2bfab8082dce3bede1ebd9fe7e45ac67f42dba03a9ab61c11bb6629c0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_EVEN, ROUND_HALF_UP, ROUND_FLOOR, ROUND_CEILING, ROUND_DOWN, ROUND_UP, ROUND_HALF_DOWN\nN = 1\nobservations = []\ndef solve(ticks, trade_ts, max_age):\n    best = None\n    for ts, r in ticks:\n        if ts <= trade_ts and (best is None or ts >= best[0]):\n            best = [ts, r]\n    if best is None: return 'ERR:no-rate'\n    if max_age is not None and trade_ts - best[0] >= max_age: return 'ERR:stale'\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression staleness-boundary 1', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('regression staleness-boundary 2', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('partial repair guard 1', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.0708'], [20, '1.0061'], [14, '1.0619'], [11, '1.2351']], 18, 2), 'ERR:stale'),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1',\n   ([[16, '1.0577'], [3, '1.1605'], [9, '1.0153'], [16, '1.0347'], [5, '1.1882']], 4, 1), [3, '1.1605']),\n  ('regression staleness-boundary 2', ([[10, '1.1254'], [1, '1.0516'], [3, '1.1640']], 2, 1), [1, '1.0516']),\n  ('partial repair guard 1',\n   ([[14, '1.1444'], [0, '1.1478'], [5, '1.1087'], [5, '1.1978'], [11, '1.2115'], [1, '1.2119']], 7, 0), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.1610'], [10, '1.2604']], 3, 1), 'ERR:stale'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1', ([[1, '1.2376'], [19, '1.2134'], [14, '1.2465']], 1, 0), [1, '1.2376']),\n  ('regression staleness-boundary 2', ([[3, '1.2016'], [20, '1.0619'], [10, '1.1904'], [10, '1.1149']], 6, 3),\n   [3, '1.2016']),\n  ('partial repair guard 1', ([[17, '1.2848'], [2, '1.1228']], 14, 2), 'ERR:stale'),\n  ('partial repair guard 2', ([[10, '1.2328'], [1, '1.0928'], [3, '1.1922'], [19, '1.2521'], [19, '1.2864']], 2, 0),\n   'ERR:stale'),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19']),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale')],\n [('regression staleness-boundary 1', ([[4, '1.2845'], [1, '1.0456'], [3, '1.1500'], [14, '1.1676']], 17, 3),\n   [14, '1.1676']),\n  ('regression staleness-boundary 2', ([[14, '1.2739'], [20, '1.2257'], [0, '1.2886']], 16, 2), [14, '1.2739']),\n  ('partial repair guard 1', ([[6, '1.0581'], [9, '1.2011'], [16, '1.2956']], 12, 1), 'ERR:stale'),\n  ('partial repair guard 2', ([[17, '1.1794'], [15, '1.0788'], [2, '1.2545']], 12, 0), 'ERR:stale'),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05'])],\n [('regression staleness-boundary 1',\n   ([[5, '1.0271'], [11, '1.2757'], [10, '1.0041'], [14, '1.1151'], [2, '1.2167']], 14, 0), [14, '1.1151']),\n  ('regression staleness-boundary 2',\n   ([[13, '1.1719'], [0, '1.0347'], [20, '1.2239'], [9, '1.1422'], [3, '1.0957']], 1, 1), [0, '1.0347']),\n  ('partial repair guard 1',\n   ([[1, '1.0230'], [14, '1.0591'], [3, '1.2010'], [13, '1.0135'], [3, '1.1001'], [13, '1.1421']], 12, 3),\n   'ERR:stale'),\n  ('partial repair guard 2',\n   ([[5, '1.0556'], [2, '1.2743'], [17, '1.2317'], [7, '1.0015'], [4, '1.2457'], [7, '1.1125']], 16, 5), 'ERR:stale'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19'])]]\nfor label, args, expected in cases[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":"59e6ffee62f75ee0245772caba46dab91e15d22d06d1f9d27176dbb421a347be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_EVEN, ROUND_HALF_UP, ROUND_FLOOR, ROUND_CEILING, ROUND_DOWN, ROUND_UP, ROUND_HALF_DOWN\nN = 1\nobservations = []\ndef solve(ticks, trade_ts, max_age):\n    best = None\n    for ts, r in ticks:\n        if ts <= trade_ts and (best is None or ts >= best[0]):\n            best = [ts, r]\n    if best is None: return 'ERR:no-rate'\n    if max_age is not None and trade_ts - best[0] > max_age: return 'ERR:stale'\n    return best\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression staleness-boundary 1', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('regression staleness-boundary 2', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('partial repair guard 1', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.0708'], [20, '1.0061'], [14, '1.0619'], [11, '1.2351']], 18, 2), 'ERR:stale'),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1',\n   ([[16, '1.0577'], [3, '1.1605'], [9, '1.0153'], [16, '1.0347'], [5, '1.1882']], 4, 1), [3, '1.1605']),\n  ('regression staleness-boundary 2', ([[10, '1.1254'], [1, '1.0516'], [3, '1.1640']], 2, 1), [1, '1.0516']),\n  ('partial repair guard 1',\n   ([[14, '1.1444'], [0, '1.1478'], [5, '1.1087'], [5, '1.1978'], [11, '1.2115'], [1, '1.2119']], 7, 0), 'ERR:stale'),\n  ('partial repair guard 2', ([[1, '1.1610'], [10, '1.2604']], 3, 1), 'ERR:stale'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate')],\n [('regression staleness-boundary 1', ([[1, '1.2376'], [19, '1.2134'], [14, '1.2465']], 1, 0), [1, '1.2376']),\n  ('regression staleness-boundary 2', ([[3, '1.2016'], [20, '1.0619'], [10, '1.1904'], [10, '1.1149']], 6, 3),\n   [3, '1.2016']),\n  ('partial repair guard 1', ([[17, '1.2848'], [2, '1.1228']], 14, 2), 'ERR:stale'),\n  ('partial repair guard 2', ([[10, '1.2328'], [1, '1.0928'], [3, '1.1922'], [19, '1.2521'], [19, '1.2864']], 2, 0),\n   'ERR:stale'),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19']),\n  ('control: correction wins', ([[1, '1.10'], [5, '1.20'], [5, '1.21'], [9, '1.30']], 7, 3), [5, '1.21']),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale')],\n [('regression staleness-boundary 1', ([[4, '1.2845'], [1, '1.0456'], [3, '1.1500'], [14, '1.1676']], 17, 3),\n   [14, '1.1676']),\n  ('regression staleness-boundary 2', ([[14, '1.2739'], [20, '1.2257'], [0, '1.2886']], 16, 2), [14, '1.2739']),\n  ('partial repair guard 1', ([[6, '1.0581'], [9, '1.2011'], [16, '1.2956']], 12, 1), 'ERR:stale'),\n  ('partial repair guard 2', ([[17, '1.1794'], [15, '1.0788'], [2, '1.2545']], 12, 0), 'ERR:stale'),\n  ('control: stale', ([[1, '1.10'], [9, '1.30']], 7, 3), 'ERR:stale'),\n  ('control: only future', ([[9, '1.30']], 7, None), 'ERR:no-rate'),\n  ('control: same instant zero age', ([[7, '1.40']], 7, 0), [7, '1.40']),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05'])],\n [('regression staleness-boundary 1',\n   ([[5, '1.0271'], [11, '1.2757'], [10, '1.0041'], [14, '1.1151'], [2, '1.2167']], 14, 0), [14, '1.1151']),\n  ('regression staleness-boundary 2',\n   ([[13, '1.1719'], [0, '1.0347'], [20, '1.2239'], [9, '1.1422'], [3, '1.0957']], 1, 1), [0, '1.0347']),\n  ('partial repair guard 1',\n   ([[1, '1.0230'], [14, '1.0591'], [3, '1.2010'], [13, '1.0135'], [3, '1.1001'], [13, '1.1421']], 12, 3),\n   'ERR:stale'),\n  ('partial repair guard 2',\n   ([[5, '1.0556'], [2, '1.2743'], [17, '1.2317'], [7, '1.0015'], [4, '1.2457'], [7, '1.1125']], 16, 5), 'ERR:stale'),\n  ('control: unlimited age', ([[0, '1.05']], 20, None), [0, '1.05']),\n  ('control: age boundary', ([[4, '1.11'], [12, '1.50']], 8, 4), [4, '1.11']),\n  ('control: empty feed', ([], 3, 5), 'ERR:no-rate'),\n  ('control: out of order feed', ([[6, '1.26'], [2, '1.22'], [6, '1.19']], 6, 1), [6, '1.19'])]]\nfor label, args, expected in cases[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, bounded teaching model with a stipulated toy contract; it makes no claim of conformance to any real regulation, standard, or institution's rules. 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-currency_rounding_and_fx_conversion-as-of-rate-selection-staleness-boundary","generated_at":"2026-09-29T14:47:00.340503+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Currency amounts must be rounded at the right stage and in the right unit, or ledgers, quotes and settlements drift by minor units.","repair":"Only ages strictly greater than max_age are stale.","root_cause":"The stale test uses >= max_age instead of > max_age.","sha256":"c3fa51f1d48caccd5071c70da4114c00d282669ff8874ea1a851521a71c5796d","title":"A rate exactly at the maximum age is declared stale · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.705,"exit_code":1,"observations":[{"actual":[4,"1.11"],"check":"regression staleness-boundary 1","expected":[4,"1.11"],"passed":true},{"actual":[7,"1.40"],"check":"regression staleness-boundary 2","expected":[7,"1.40"],"passed":true},{"actual":[1,"1.10"],"check":"partial repair guard 1","expected":"ERR:stale","passed":false},{"actual":[14,"1.0619"],"check":"partial repair guard 2","expected":"ERR:stale","passed":false},{"actual":[5,"1.21"],"check":"control: correction wins","expected":[5,"1.21"],"passed":true},{"actual":"ERR:no-rate","check":"control: only future","expected":"ERR:no-rate","passed":true},{"actual":[0,"1.05"],"check":"control: unlimited age","expected":[0,"1.05"],"passed":true},{"actual":"ERR:no-rate","check":"control: empty feed","expected":"ERR:no-rate","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression staleness-boundary 1\", \"actual\": [4, \"1.11\"], \"expected\": [4, \"1.11\"], \"passed\": true}, {\"check\": \"regression staleness-boundary 2\", \"actual\": [7, \"1.40\"], \"expected\": [7, \"1.40\"], \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": [1, \"1.10\"], \"expected\": \"ERR:stale\", \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [14, \"1.0619\"], \"expected\": \"ERR:stale\", \"passed\": false}, {\"check\": \"control: correction wins\", \"actual\": [5, \"1.21\"], \"expected\": [5, \"1.21\"], \"passed\": true}, {\"check\": \"control: only future\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}, {\"check\": \"control: unlimited age\", \"actual\": [0, \"1.05\"], \"expected\": [0, \"1.05\"], \"passed\": true}, {\"check\": \"control: empty feed\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.63,"exit_code":1,"observations":[{"actual":"ERR:stale","check":"regression staleness-boundary 1","expected":[4,"1.11"],"passed":false},{"actual":"ERR:stale","check":"regression staleness-boundary 2","expected":[7,"1.40"],"passed":false},{"actual":"ERR:stale","check":"partial repair guard 1","expected":"ERR:stale","passed":true},{"actual":"ERR:stale","check":"partial repair guard 2","expected":"ERR:stale","passed":true},{"actual":[5,"1.21"],"check":"control: correction wins","expected":[5,"1.21"],"passed":true},{"actual":"ERR:no-rate","check":"control: only future","expected":"ERR:no-rate","passed":true},{"actual":[0,"1.05"],"check":"control: unlimited age","expected":[0,"1.05"],"passed":true},{"actual":"ERR:no-rate","check":"control: empty feed","expected":"ERR:no-rate","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression staleness-boundary 1\", \"actual\": \"ERR:stale\", \"expected\": [4, \"1.11\"], \"passed\": false}, {\"check\": \"regression staleness-boundary 2\", \"actual\": \"ERR:stale\", \"expected\": [7, \"1.40\"], \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": \"ERR:stale\", \"expected\": \"ERR:stale\", \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": \"ERR:stale\", \"expected\": \"ERR:stale\", \"passed\": true}, {\"check\": \"control: correction wins\", \"actual\": [5, \"1.21\"], \"expected\": [5, \"1.21\"], \"passed\": true}, {\"check\": \"control: only future\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}, {\"check\": \"control: unlimited age\", \"actual\": [0, \"1.05\"], \"expected\": [0, \"1.05\"], \"passed\": true}, {\"check\": \"control: empty feed\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.054,"exit_code":0,"observations":[{"actual":[4,"1.11"],"check":"regression staleness-boundary 1","expected":[4,"1.11"],"passed":true},{"actual":[7,"1.40"],"check":"regression staleness-boundary 2","expected":[7,"1.40"],"passed":true},{"actual":"ERR:stale","check":"partial repair guard 1","expected":"ERR:stale","passed":true},{"actual":"ERR:stale","check":"partial repair guard 2","expected":"ERR:stale","passed":true},{"actual":[5,"1.21"],"check":"control: correction wins","expected":[5,"1.21"],"passed":true},{"actual":"ERR:no-rate","check":"control: only future","expected":"ERR:no-rate","passed":true},{"actual":[0,"1.05"],"check":"control: unlimited age","expected":[0,"1.05"],"passed":true},{"actual":"ERR:no-rate","check":"control: empty feed","expected":"ERR:no-rate","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression staleness-boundary 1\", \"actual\": [4, \"1.11\"], \"expected\": [4, \"1.11\"], \"passed\": true}, {\"check\": \"regression staleness-boundary 2\", \"actual\": [7, \"1.40\"], \"expected\": [7, \"1.40\"], \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": \"ERR:stale\", \"expected\": \"ERR:stale\", \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": \"ERR:stale\", \"expected\": \"ERR:stale\", \"passed\": true}, {\"check\": \"control: correction wins\", \"actual\": [5, \"1.21\"], \"expected\": [5, \"1.21\"], \"passed\": true}, {\"check\": \"control: only future\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}, {\"check\": \"control: unlimited age\", \"actual\": [0, \"1.05\"], \"expected\": [0, \"1.05\"], \"passed\": true}, {\"check\": \"control: empty feed\", \"actual\": \"ERR:no-rate\", \"expected\": \"ERR:no-rate\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}