{"abstract":"Odd units go to the winners farthest from the button, and an even split pays everyone an extra unit.","category":"Poker hand evaluation","checks":8,"contract":"Input: {\"pot\", \"winners\", \"seats\" (clockwise), \"button\", \"unit\" (smallest chip in play; pot is a multiple of it)}. Split the pot equally in whole units; each leftover unit goes to one winner, starting with the first winner clockwise from the button (the button itself is last). Return {winner: amount} sorted by name.","contract_signature":"x","evaluation_group":"w2-poker_hand_evaluation-odd-chip-award","failed_approach":"Ordering winners by absolute seat index ignores where the button is.","family":"w2-poker_hand_evaluation-odd-chip-award-leftover-unit-slice","id":"FA-82046","implementations":{"attempt":{"sha256":"7562c61334b012e4118459a983f92fdf54e4db7db789b3fa4fe5a21ae9e7b3f3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pot=x['pot']; unit=x['unit']; winners=x['winners']; seats=x['seats']\n    k=len(winners)\n    units=pot//unit\n    share=units//k\n    rem=units-share*k\n    out={w:share*unit for w in winners}\n    start=(seats.index(x['button'])+1)%len(seats)\n    order=seats[start:]+seats[:start]\n    for w in [s for s in sorted(winners, key=seats.index) if s in winners][:rem]:\n        out[w]+=unit\n    return dict(sorted(out.items()))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200})],\n [('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2})],\n [('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})],\n [('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})],\n [('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, 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":"a78ac7e5289bd95097fa3104775d70e365afb809677f81235243da3a991d4d62","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    pot=x['pot']; unit=x['unit']; winners=x['winners']; seats=x['seats']\n    k=len(winners)\n    units=pot//unit\n    share=units//k\n    rem=units-share*k\n    out={w:share*unit for w in winners}\n    start=(seats.index(x['button'])+1)%len(seats)\n    order=seats[start:]+seats[:start]\n    for w in [s for s in order if s in winners][-rem:]:\n        out[w]+=unit\n    return dict(sorted(out.items()))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200})],\n [('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2})],\n [('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})],\n [('three-way odd units',\n   {'button': 'c',\n    'pot': 110,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 5,\n    'winners': ['b', 'd', 'e']},\n   {'b': 35, 'd': 40, 'e': 35}),\n  ('two-way one unit',\n   {'button': 'b', 'pot': 25, 'seats': ['a', 'b', 'c', 'd'], 'unit': 5, 'winners': ['a', 'c']},\n   {'a': 10, 'c': 15}),\n  ('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})],\n [('button is a winner',\n   {'button': 'd', 'pot': 7, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'd']},\n   {'a': 4, 'd': 3}),\n  ('even split',\n   {'button': 'c', 'pot': 100, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['a', 'b']},\n   {'a': 50, 'b': 50}),\n  ('single winner',\n   {'button': 'a', 'pot': 35, 'seats': ['a', 'b', 'c'], 'unit': 5, 'winners': ['c']}, {'c': 35}),\n  ('wrap past last seat',\n   {'button': 'd',\n    'pot': 11,\n    'seats': ['a', 'b', 'c', 'd', 'e'],\n    'unit': 1,\n    'winners': ['a', 'e', 'b']},\n   {'a': 4, 'b': 3, 'e': 4}),\n  ('four-way three odd',\n   {'button': 'b',\n    'pot': 19,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 1,\n    'winners': ['a', 'b', 'c', 'd']},\n   {'a': 5, 'b': 4, 'c': 5, 'd': 5}),\n  ('large unit',\n   {'button': 'a',\n    'pot': 300,\n    'seats': ['a', 'b', 'c', 'd', 'e', 'f'],\n    'unit': 100,\n    'winners': ['f', 'a']},\n   {'a': 100, 'f': 200}),\n  ('button left winner',\n   {'button': 'a', 'pot': 5, 'seats': ['a', 'b', 'c'], 'unit': 1, 'winners': ['b', 'c']},\n   {'b': 3, 'c': 2}),\n  ('winner right of button',\n   {'button': 'b', 'pot': 5, 'seats': ['a', 'b', 'c', 'd'], 'unit': 1, 'winners': ['a', 'c']},\n   {'a': 2, 'c': 3})]]\nfor label, args, expected in fixtures[N-1]:\n    try:\n        actual = solve(args)\n    except Exception as exc:\n        actual = 'error:' + type(exc).__name__\n    check(label, actual, 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 model with an explicitly stated contract; no claim of conformance to any casino or tournament rulebook. 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-poker_hand_evaluation-odd-chip-award-leftover-unit-slice","generated_at":"2026-09-29T14:50:08.536912+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Odd-chip placement is where split pots disagree between dealers and software.","root_cause":"The remainder is taken with a negative slice; with no remainder [-0:] selects every winner.","sha256":"12c8f8bc05e58bf818606788182043fed3c10ab4e02dd1c2ed329b37e632b59d","title":"Leftover units go to the last winners in order · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":38.82,"exit_code":1,"observations":[{"actual":{"b":40,"d":35,"e":35},"check":"three-way odd units","expected":{"b":35,"d":40,"e":35},"passed":false},{"actual":{"a":15,"c":10},"check":"two-way one unit","expected":{"a":10,"c":15},"passed":false},{"actual":{"a":4,"d":3},"check":"button is a winner","expected":{"a":4,"d":3},"passed":true},{"actual":{"a":50,"b":50},"check":"even split","expected":{"a":50,"b":50},"passed":true},{"actual":{"c":35},"check":"single winner","expected":{"c":35},"passed":true},{"actual":{"a":4,"b":4,"e":3},"check":"wrap past last seat","expected":{"a":4,"b":3,"e":4},"passed":false},{"actual":{"a":5,"b":5,"c":5,"d":4},"check":"four-way three odd","expected":{"a":5,"b":4,"c":5,"d":5},"passed":false},{"actual":{"a":200,"f":100},"check":"large unit","expected":{"a":100,"f":200},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"three-way odd units\", \"actual\": {\"b\": 40, \"d\": 35, \"e\": 35}, \"expected\": {\"b\": 35, \"d\": 40, \"e\": 35}, \"passed\": false}, {\"check\": \"two-way one unit\", \"actual\": {\"a\": 15, \"c\": 10}, \"expected\": {\"a\": 10, \"c\": 15}, \"passed\": false}, {\"check\": \"button is a winner\", \"actual\": {\"a\": 4, \"d\": 3}, \"expected\": {\"a\": 4, \"d\": 3}, \"passed\": true}, {\"check\": \"even split\", \"actual\": {\"a\": 50, \"b\": 50}, \"expected\": {\"a\": 50, \"b\": 50}, \"passed\": true}, {\"check\": \"single winner\", \"actual\": {\"c\": 35}, \"expected\": {\"c\": 35}, \"passed\": true}, {\"check\": \"wrap past last seat\", \"actual\": {\"a\": 4, \"b\": 4, \"e\": 3}, \"expected\": {\"a\": 4, \"b\": 3, \"e\": 4}, \"passed\": false}, {\"check\": \"four-way three odd\", \"actual\": {\"a\": 5, \"b\": 5, \"c\": 5, \"d\": 4}, \"expected\": {\"a\": 5, \"b\": 4, \"c\": 5, \"d\": 5}, \"passed\": false}, {\"check\": \"large unit\", \"actual\": {\"a\": 200, \"f\": 100}, \"expected\": {\"a\": 100, \"f\": 200}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.913,"exit_code":1,"observations":[{"actual":{"b":40,"d":35,"e":35},"check":"three-way odd units","expected":{"b":35,"d":40,"e":35},"passed":false},{"actual":{"a":15,"c":10},"check":"two-way one unit","expected":{"a":10,"c":15},"passed":false},{"actual":{"a":3,"d":4},"check":"button is a winner","expected":{"a":4,"d":3},"passed":false},{"actual":{"a":55,"b":55},"check":"even split","expected":{"a":50,"b":50},"passed":false},{"actual":{"c":40},"check":"single winner","expected":{"c":35},"passed":false},{"actual":{"a":4,"b":4,"e":3},"check":"wrap past last seat","expected":{"a":4,"b":3,"e":4},"passed":false},{"actual":{"a":5,"b":5,"c":4,"d":5},"check":"four-way three odd","expected":{"a":5,"b":4,"c":5,"d":5},"passed":false},{"actual":{"a":200,"f":100},"check":"large unit","expected":{"a":100,"f":200},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"three-way odd units\", \"actual\": {\"b\": 40, \"d\": 35, \"e\": 35}, \"expected\": {\"b\": 35, \"d\": 40, \"e\": 35}, \"passed\": false}, {\"check\": \"two-way one unit\", \"actual\": {\"a\": 15, \"c\": 10}, \"expected\": {\"a\": 10, \"c\": 15}, \"passed\": false}, {\"check\": \"button is a winner\", \"actual\": {\"a\": 3, \"d\": 4}, \"expected\": {\"a\": 4, \"d\": 3}, \"passed\": false}, {\"check\": \"even split\", \"actual\": {\"a\": 55, \"b\": 55}, \"expected\": {\"a\": 50, \"b\": 50}, \"passed\": false}, {\"check\": \"single winner\", \"actual\": {\"c\": 40}, \"expected\": {\"c\": 35}, \"passed\": false}, {\"check\": \"wrap past last seat\", \"actual\": {\"a\": 4, \"b\": 4, \"e\": 3}, \"expected\": {\"a\": 4, \"b\": 3, \"e\": 4}, \"passed\": false}, {\"check\": \"four-way three odd\", \"actual\": {\"a\": 5, \"b\": 5, \"c\": 4, \"d\": 5}, \"expected\": {\"a\": 5, \"b\": 4, \"c\": 5, \"d\": 5}, \"passed\": false}, {\"check\": \"large unit\", \"actual\": {\"a\": 200, \"f\": 100}, \"expected\": {\"a\": 100, \"f\": 200}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}