{"abstract":"A match won on the last hole is shown as \"A wins 1&0\".","category":"Sports scoring and tiebreakers","checks":10,"contract":"Eighteen-hole match play. holes is a string of hole results: A, B or H (halved). The match closes as soon as the lead exceeds the holes remaining: \"X wins L&R\" (L lead, R remaining), or \"X wins L up\" if it closes on the 18th. Later characters are ignored. After 18 holes level: \"halved\". Unfinished: \"all square\", \"X dormie R\" when the lead equals the holes remaining, otherwise \"X L up\".","evaluation_group":"w2-sports-scoring-golf-match-play-status","failed_approach":"Applying the \"up\" form with one hole remaining turns a 2&1 win into \"2 up\".","family":"w2-sports-scoring-golf-match-play-status-final-hole-closure","id":"FA-84191","implementations":{"attempt":{"sha256":"94410daee768c847f004d0fc22e989d52b9be8615dd6e31db2e944c48b21b33d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes):\n    lead = 0\n    played = 0\n    for h in holes:\n        played += 1\n        if h == 'A':\n            lead += 1\n        elif h == 'B':\n            lead -= 1\n        remaining = 18 - played\n        if abs(lead) > remaining:\n            side = 'A' if lead > 0 else 'B'\n            if remaining <= 1:\n                return '%s wins %d up' % (side, abs(lead))\n            return '%s wins %d&%d' % (side, abs(lead), remaining)\n    if played == 18:\n        return 'halved'\n    remaining = 18 - played\n    if lead == 0:\n        return 'all square'\n    side = 'A' if lead > 0 else 'B'\n    if abs(lead) == remaining:\n        return '%s dormie %d' % (side, remaining)\n    return '%s %d up' % (side, abs(lead))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBABAHABBABABHHABHHABH',), 'B wins 2&1'),\n  ('regression: final hole closure', ('HABBABHAHAABBBBHAHBAAA',), 'B wins 1 up'),\n  ('variant scenario 1', ('AAAHAHHBABAHA',), 'A dormie 5'),\n  ('variant scenario 2', ('HHBBAAAAABHABAABBB',), 'A wins 4&3')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BABABABHABBBHAAHHAHAA',), 'B wins 0&-1'),\n  ('regression: final hole closure', ('AHBHABBAABHBHAABHABAAB',), 'A wins 1 up'),\n  ('variant scenario 1', ('BBBBHBBBHBA',), 'B dormie 7'),\n  ('variant scenario 2', ('ABHBBHBBAAAAA',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BAAABHAABAHABBBBBAB',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('HABHHABBBHABHBAAHBA',), 'B wins 2 up'),\n  ('variant scenario 1', ('AHABBABAHBAAABAAAA',), 'A wins 4&2'),\n  ('variant scenario 2', ('AABAAHHAAABBBBHABABHBB',), 'A wins 3&2')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BHBBBHAABHBAABAAHABBBA',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('ABHHBABABBAHABAHBBB',), 'B wins 2 up'),\n  ('variant scenario 1', ('HBHHHHBAA',), 'all square'),\n  ('variant scenario 2', ('HAHHABBBAAHAB',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBBABBAHBBAABAHABBAABA',), 'B wins 3&1'),\n  ('regression: final hole closure', ('HHABABAAHBBABBBAABABA',), 'B wins 1 up'),\n  ('variant scenario 1', ('ABHAABABABAH',), 'A 2 up'),\n  ('variant scenario 2', ('AHBAAABBAAAH',), 'A 4 up')]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"b8865ba7e69248066f08a4f471a893293b0cbdb1d7f0c3f099eeaa947cd3a9de","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes):\n    lead = 0\n    played = 0\n    for h in holes:\n        played += 1\n        if h == 'A':\n            lead += 1\n        elif h == 'B':\n            lead -= 1\n        remaining = 18 - played\n        if abs(lead) > remaining:\n            side = 'A' if lead > 0 else 'B'\n            if False:\n                return '%s wins %d up' % (side, abs(lead))\n            return '%s wins %d&%d' % (side, abs(lead), remaining)\n    if played == 18:\n        return 'halved'\n    remaining = 18 - played\n    if lead == 0:\n        return 'all square'\n    side = 'A' if lead > 0 else 'B'\n    if abs(lead) == remaining:\n        return '%s dormie %d' % (side, remaining)\n    return '%s %d up' % (side, abs(lead))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBABAHABBABABHHABHHABH',), 'B wins 2&1'),\n  ('regression: final hole closure', ('HABBABHAHAABBBBHAHBAAA',), 'B wins 1 up'),\n  ('variant scenario 1', ('AAAHAHHBABAHA',), 'A dormie 5'),\n  ('variant scenario 2', ('HHBBAAAAABHABAABBB',), 'A wins 4&3')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BABABABHABBBHAAHHAHAA',), 'B wins 0&-1'),\n  ('regression: final hole closure', ('AHBHABBAABHBHAABHABAAB',), 'A wins 1 up'),\n  ('variant scenario 1', ('BBBBHBBBHBA',), 'B dormie 7'),\n  ('variant scenario 2', ('ABHBBHBBAAAAA',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BAAABHAABAHABBBBBAB',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('HABHHABBBHABHBAAHBA',), 'B wins 2 up'),\n  ('variant scenario 1', ('AHABBABAHBAAABAAAA',), 'A wins 4&2'),\n  ('variant scenario 2', ('AABAAHHAAABBBBHABABHBB',), 'A wins 3&2')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BHBBBHAABHBAABAAHABBBA',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('ABHHBABABBAHABAHBBB',), 'B wins 2 up'),\n  ('variant scenario 1', ('HBHHHHBAA',), 'all square'),\n  ('variant scenario 2', ('HAHHABBBAAHAB',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBBABBAHBBAABAHABBAABA',), 'B wins 3&1'),\n  ('regression: final hole closure', ('HHABABAAHBBABBBAABABA',), 'B wins 1 up'),\n  ('variant scenario 1', ('ABHAABABABAH',), 'A 2 up'),\n  ('variant scenario 2', ('AHBAAABBAAAH',), 'A 4 up')]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"1d9e61a718e8a4739681f595fb90fe4a26376f3c5d1d64076ce4c80a4f2e99cd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes):\n    lead = 0\n    played = 0\n    for h in holes:\n        played += 1\n        if h == 'A':\n            lead += 1\n        elif h == 'B':\n            lead -= 1\n        remaining = 18 - played\n        if abs(lead) > remaining:\n            side = 'A' if lead > 0 else 'B'\n            if remaining == 0:\n                return '%s wins %d up' % (side, abs(lead))\n            return '%s wins %d&%d' % (side, abs(lead), remaining)\n    if played == 18:\n        return 'halved'\n    remaining = 18 - played\n    if lead == 0:\n        return 'all square'\n    side = 'A' if lead > 0 else 'B'\n    if abs(lead) == remaining:\n        return '%s dormie %d' % (side, remaining)\n    return '%s %d up' % (side, abs(lead))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBABAHABBABABHHABHHABH',), 'B wins 2&1'),\n  ('regression: final hole closure', ('HABBABHAHAABBBBHAHBAAA',), 'B wins 1 up'),\n  ('variant scenario 1', ('AAAHAHHBABAHA',), 'A dormie 5'),\n  ('variant scenario 2', ('HHBBAAAAABHABAABBB',), 'A wins 4&3')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BABABABHABBBHAAHHAHAA',), 'B wins 0&-1'),\n  ('regression: final hole closure', ('AHBHABBAABHBHAABHABAAB',), 'A wins 1 up'),\n  ('variant scenario 1', ('BBBBHBBBHBA',), 'B dormie 7'),\n  ('variant scenario 2', ('ABHBBHBBAAAAA',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BAAABHAABAHABBBBBAB',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('HABHHABBBHABHBAAHBA',), 'B wins 2 up'),\n  ('variant scenario 1', ('AHABBABAHBAAABAAAA',), 'A wins 4&2'),\n  ('variant scenario 2', ('AABAAHHAAABBBBHABABHBB',), 'A wins 3&2')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BHBBBHAABHBAABAAHABBBA',), 'B wins 1&-1'),\n  ('regression: final hole closure', ('ABHHBABABBAHABAHBBB',), 'B wins 2 up'),\n  ('variant scenario 1', ('HBHHHHBAA',), 'all square'),\n  ('variant scenario 2', ('HAHHABBBAAHAB',), 'A 1 up')],\n [('control early lead', ('AAH',), 'A 2 up'),\n  ('boundary dormie', ('AAAHHHHHHHHHHHH',), 'A dormie 3'),\n  ('boundary closure three and two', ('BBBHHHHHHHHHHHHH',), 'B wins 3&2'),\n  ('boundary one up at eighteen', ('AHHHHHHHHHHHHHHHHH',), 'A wins 1 up'),\n  ('control halved match', ('ABABABABABABABABAB',), 'halved'),\n  ('control all square', ('HAB',), 'all square'),\n  ('regression: final hole closure', ('BBBABBAHBBAABAHABBAABA',), 'B wins 3&1'),\n  ('regression: final hole closure', ('HHABABAAHBBABBBAABABA',), 'B wins 1 up'),\n  ('variant scenario 1', ('ABHAABABABAH',), 'A 2 up'),\n  ('variant scenario 2', ('AHBAAABBAAAH',), 'A 4 up')]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any governing body rulebook or operator house 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-sports-scoring-golf-match-play-status-final-hole-closure","generated_at":"2026-09-29T14:50:28.534456+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ryder-Cup style boards and match-play brackets display closure notation like 3&2 and dormie.","repair":"Use the \"L up\" form when the match closes on the 18th.","root_cause":"There is no special case for closure with zero holes remaining.","sha256":"a8afbc7d761dfb491ec79fb366e0d022cd0658ecbeb50f57daf005cef3d1bdf9","title":"Win on the 18th printed as \"1&0\" · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.562,"exit_code":1,"observations":[{"actual":"A 2 up","check":"control early lead","expected":"A 2 up","passed":true},{"actual":"A dormie 3","check":"boundary dormie","expected":"A dormie 3","passed":true},{"actual":"B wins 3&2","check":"boundary closure three and two","expected":"B wins 3&2","passed":true},{"actual":"A wins 1 up","check":"boundary one up at eighteen","expected":"A wins 1 up","passed":true},{"actual":"halved","check":"control halved match","expected":"halved","passed":true},{"actual":"all square","check":"control all square","expected":"all square","passed":true},{"actual":"B wins 2 up","check":"regression: final hole closure","expected":"B wins 2&1","passed":false},{"actual":"B wins 1 up","check":"regression: final hole closure","expected":"B wins 1 up","passed":true},{"actual":"A dormie 5","check":"variant scenario 1","expected":"A dormie 5","passed":true},{"actual":"A wins 4&3","check":"variant scenario 2","expected":"A wins 4&3","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control early lead\", \"actual\": \"A 2 up\", \"expected\": \"A 2 up\", \"passed\": true}, {\"check\": \"boundary dormie\", \"actual\": \"A dormie 3\", \"expected\": \"A dormie 3\", \"passed\": true}, {\"check\": \"boundary closure three and two\", \"actual\": \"B wins 3&2\", \"expected\": \"B wins 3&2\", \"passed\": true}, {\"check\": \"boundary one up at eighteen\", \"actual\": \"A wins 1 up\", \"expected\": \"A wins 1 up\", \"passed\": true}, {\"check\": \"control halved match\", \"actual\": \"halved\", \"expected\": \"halved\", \"passed\": true}, {\"check\": \"control all square\", \"actual\": \"all square\", \"expected\": \"all square\", \"passed\": true}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 2 up\", \"expected\": \"B wins 2&1\", \"passed\": false}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 1 up\", \"expected\": \"B wins 1 up\", \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": \"A dormie 5\", \"expected\": \"A dormie 5\", \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"A wins 4&3\", \"expected\": \"A wins 4&3\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.449,"exit_code":1,"observations":[{"actual":"A 2 up","check":"control early lead","expected":"A 2 up","passed":true},{"actual":"A dormie 3","check":"boundary dormie","expected":"A dormie 3","passed":true},{"actual":"B wins 3&2","check":"boundary closure three and two","expected":"B wins 3&2","passed":true},{"actual":"A wins 1&0","check":"boundary one up at eighteen","expected":"A wins 1 up","passed":false},{"actual":"halved","check":"control halved match","expected":"halved","passed":true},{"actual":"all square","check":"control all square","expected":"all square","passed":true},{"actual":"B wins 2&1","check":"regression: final hole closure","expected":"B wins 2&1","passed":true},{"actual":"B wins 1&0","check":"regression: final hole closure","expected":"B wins 1 up","passed":false},{"actual":"A dormie 5","check":"variant scenario 1","expected":"A dormie 5","passed":true},{"actual":"A wins 4&3","check":"variant scenario 2","expected":"A wins 4&3","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control early lead\", \"actual\": \"A 2 up\", \"expected\": \"A 2 up\", \"passed\": true}, {\"check\": \"boundary dormie\", \"actual\": \"A dormie 3\", \"expected\": \"A dormie 3\", \"passed\": true}, {\"check\": \"boundary closure three and two\", \"actual\": \"B wins 3&2\", \"expected\": \"B wins 3&2\", \"passed\": true}, {\"check\": \"boundary one up at eighteen\", \"actual\": \"A wins 1&0\", \"expected\": \"A wins 1 up\", \"passed\": false}, {\"check\": \"control halved match\", \"actual\": \"halved\", \"expected\": \"halved\", \"passed\": true}, {\"check\": \"control all square\", \"actual\": \"all square\", \"expected\": \"all square\", \"passed\": true}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 2&1\", \"expected\": \"B wins 2&1\", \"passed\": true}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 1&0\", \"expected\": \"B wins 1 up\", \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": \"A dormie 5\", \"expected\": \"A dormie 5\", \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"A wins 4&3\", \"expected\": \"A wins 4&3\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.584,"exit_code":0,"observations":[{"actual":"A 2 up","check":"control early lead","expected":"A 2 up","passed":true},{"actual":"A dormie 3","check":"boundary dormie","expected":"A dormie 3","passed":true},{"actual":"B wins 3&2","check":"boundary closure three and two","expected":"B wins 3&2","passed":true},{"actual":"A wins 1 up","check":"boundary one up at eighteen","expected":"A wins 1 up","passed":true},{"actual":"halved","check":"control halved match","expected":"halved","passed":true},{"actual":"all square","check":"control all square","expected":"all square","passed":true},{"actual":"B wins 2&1","check":"regression: final hole closure","expected":"B wins 2&1","passed":true},{"actual":"B wins 1 up","check":"regression: final hole closure","expected":"B wins 1 up","passed":true},{"actual":"A dormie 5","check":"variant scenario 1","expected":"A dormie 5","passed":true},{"actual":"A wins 4&3","check":"variant scenario 2","expected":"A wins 4&3","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control early lead\", \"actual\": \"A 2 up\", \"expected\": \"A 2 up\", \"passed\": true}, {\"check\": \"boundary dormie\", \"actual\": \"A dormie 3\", \"expected\": \"A dormie 3\", \"passed\": true}, {\"check\": \"boundary closure three and two\", \"actual\": \"B wins 3&2\", \"expected\": \"B wins 3&2\", \"passed\": true}, {\"check\": \"boundary one up at eighteen\", \"actual\": \"A wins 1 up\", \"expected\": \"A wins 1 up\", \"passed\": true}, {\"check\": \"control halved match\", \"actual\": \"halved\", \"expected\": \"halved\", \"passed\": true}, {\"check\": \"control all square\", \"actual\": \"all square\", \"expected\": \"all square\", \"passed\": true}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 2&1\", \"expected\": \"B wins 2&1\", \"passed\": true}, {\"check\": \"regression: final hole closure\", \"actual\": \"B wins 1 up\", \"expected\": \"B wins 1 up\", \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": \"A dormie 5\", \"expected\": \"A dormie 5\", \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": \"A wins 4&3\", \"expected\": \"A wins 4&3\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}