{"abstract":"The tab workspace reports an incorrect clip hit.","category":"Tab interfaces","checks":7,"contract":"A tab has half-open body, close-button and resize-grip regions in local coordinates. Clip hit targets to its visible strip intersection and prioritize close over body.","evaluation_group":"s3-tabs-tab-hit-regions","failed_approach":"The partial repair x['clip_left']<=x['pointer']<=x['clip_right'] still violates a workspace boundary or normal case.","family":"s3-tab-interfaces-tab-hit-regions-clip-hit","id":"FA-36106","implementations":{"attempt":{"sha256":"7665776bbe73b499c256220cfa91623837530e48151de4aff7b24d37d3ac1193","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['pointer']-x['left']\n    r1 = x['left']<=x['pointer']<x['left']+x['width']\n    r2 = x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width']\n    r3 = x['clip_left']<=x['pointer']<=x['clip_right']\n    r4 = x['left']+x['width']-x['grip']<=x['pointer']<x['left']+x['width']\n    r5 = 'close' if x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width'] else 'body' if x['left']<=x['pointer']<x['left']+x['width'] else 'none'\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'pointer': 85, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [65, True, False, True, False, 'body']), ({'pointer': 100, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [80, True, True, True, False, 'close']), ({'pointer': 20, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [0, True, False, True, False, 'body']), ({'pointer': 120, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [100, False, False, True, False, 'none']), ({'pointer': 95, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 90, 'grip': 5}, [75, True, False, False, False, 'body']), ({'pointer': 117, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [97, True, True, True, True, 'close']), ({'pointer': 200, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [180, False, False, False, False, 'none'])], 2: [({'pointer': 170, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [130, True, False, True, False, 'body']), ({'pointer': 200, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [160, True, True, True, False, 'close']), ({'pointer': 40, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [0, True, False, True, False, 'body']), ({'pointer': 240, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [200, False, False, True, False, 'none']), ({'pointer': 190, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 180, 'grip': 10}, [150, True, False, False, False, 'body']), ({'pointer': 234, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [194, True, True, True, True, 'close']), ({'pointer': 400, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [360, False, False, False, False, 'none'])], 3: [({'pointer': 255, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [195, True, False, True, False, 'body']), ({'pointer': 300, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [240, True, True, True, False, 'close']), ({'pointer': 60, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [0, True, False, True, False, 'body']), ({'pointer': 360, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [300, False, False, True, False, 'none']), ({'pointer': 285, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 270, 'grip': 15}, [225, True, False, False, False, 'body']), ({'pointer': 351, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [291, True, True, True, True, 'close']), ({'pointer': 600, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [540, False, False, False, False, 'none'])], 4: [({'pointer': 340, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [260, True, False, True, False, 'body']), ({'pointer': 400, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [320, True, True, True, False, 'close']), ({'pointer': 80, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [0, True, False, True, False, 'body']), ({'pointer': 480, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [400, False, False, True, False, 'none']), ({'pointer': 380, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 360, 'grip': 20}, [300, True, False, False, False, 'body']), ({'pointer': 468, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [388, True, True, True, True, 'close']), ({'pointer': 800, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [720, False, False, False, False, 'none'])], 5: [({'pointer': 425, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [325, True, False, True, False, 'body']), ({'pointer': 500, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [400, True, True, True, False, 'close']), ({'pointer': 100, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [0, True, False, True, False, 'body']), ({'pointer': 600, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [500, False, False, True, False, 'none']), ({'pointer': 475, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 450, 'grip': 25}, [375, True, False, False, False, 'body']), ({'pointer': 585, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [485, True, True, True, True, 'close']), ({'pointer': 1000, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [900, False, False, False, False, 'none'])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"8b9d3b3485152e9834290d308756b3d82804dbb3e54511d8f70389274a8ac172","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['pointer']-x['left']\n    r1 = x['left']<=x['pointer']<x['left']+x['width']\n    r2 = x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width']\n    r3 = True\n    r4 = x['left']+x['width']-x['grip']<=x['pointer']<x['left']+x['width']\n    r5 = 'close' if x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width'] else 'body' if x['left']<=x['pointer']<x['left']+x['width'] else 'none'\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'pointer': 85, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [65, True, False, True, False, 'body']), ({'pointer': 100, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [80, True, True, True, False, 'close']), ({'pointer': 20, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [0, True, False, True, False, 'body']), ({'pointer': 120, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [100, False, False, True, False, 'none']), ({'pointer': 95, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 90, 'grip': 5}, [75, True, False, False, False, 'body']), ({'pointer': 117, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [97, True, True, True, True, 'close']), ({'pointer': 200, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [180, False, False, False, False, 'none'])], 2: [({'pointer': 170, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [130, True, False, True, False, 'body']), ({'pointer': 200, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [160, True, True, True, False, 'close']), ({'pointer': 40, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [0, True, False, True, False, 'body']), ({'pointer': 240, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [200, False, False, True, False, 'none']), ({'pointer': 190, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 180, 'grip': 10}, [150, True, False, False, False, 'body']), ({'pointer': 234, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [194, True, True, True, True, 'close']), ({'pointer': 400, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [360, False, False, False, False, 'none'])], 3: [({'pointer': 255, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [195, True, False, True, False, 'body']), ({'pointer': 300, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [240, True, True, True, False, 'close']), ({'pointer': 60, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [0, True, False, True, False, 'body']), ({'pointer': 360, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [300, False, False, True, False, 'none']), ({'pointer': 285, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 270, 'grip': 15}, [225, True, False, False, False, 'body']), ({'pointer': 351, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [291, True, True, True, True, 'close']), ({'pointer': 600, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [540, False, False, False, False, 'none'])], 4: [({'pointer': 340, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [260, True, False, True, False, 'body']), ({'pointer': 400, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [320, True, True, True, False, 'close']), ({'pointer': 80, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [0, True, False, True, False, 'body']), ({'pointer': 480, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [400, False, False, True, False, 'none']), ({'pointer': 380, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 360, 'grip': 20}, [300, True, False, False, False, 'body']), ({'pointer': 468, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [388, True, True, True, True, 'close']), ({'pointer': 800, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [720, False, False, False, False, 'none'])], 5: [({'pointer': 425, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [325, True, False, True, False, 'body']), ({'pointer': 500, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [400, True, True, True, False, 'close']), ({'pointer': 100, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [0, True, False, True, False, 'body']), ({'pointer': 600, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [500, False, False, True, False, 'none']), ({'pointer': 475, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 450, 'grip': 25}, [375, True, False, False, False, 'body']), ({'pointer': 585, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [485, True, True, True, True, 'close']), ({'pointer': 1000, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [900, False, False, False, False, 'none'])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"ea54c7b96a27843470ed3db5244d28ba43da860a0c8f3611e483871a7715c1f6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    r0 = x['pointer']-x['left']\n    r1 = x['left']<=x['pointer']<x['left']+x['width']\n    r2 = x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width']\n    r3 = x['clip_left']<=x['pointer']<x['clip_right']\n    r4 = x['left']+x['width']-x['grip']<=x['pointer']<x['left']+x['width']\n    r5 = 'close' if x['left']+x['close_start']<=x['pointer']<x['left']+x['close_start']+x['close_width'] else 'body' if x['left']<=x['pointer']<x['left']+x['width'] else 'none'\n    return [r0,r1,r2,r3,r4,r5]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = {1: [({'pointer': 85, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [65, True, False, True, False, 'body']), ({'pointer': 100, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [80, True, True, True, False, 'close']), ({'pointer': 20, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [0, True, False, True, False, 'body']), ({'pointer': 120, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [100, False, False, True, False, 'none']), ({'pointer': 95, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 90, 'grip': 5}, [75, True, False, False, False, 'body']), ({'pointer': 117, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [97, True, True, True, True, 'close']), ({'pointer': 200, 'left': 20, 'width': 100, 'close_start': 80, 'close_width': 20, 'clip_left': 0, 'clip_right': 200, 'grip': 5}, [180, False, False, False, False, 'none'])], 2: [({'pointer': 170, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [130, True, False, True, False, 'body']), ({'pointer': 200, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [160, True, True, True, False, 'close']), ({'pointer': 40, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [0, True, False, True, False, 'body']), ({'pointer': 240, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [200, False, False, True, False, 'none']), ({'pointer': 190, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 180, 'grip': 10}, [150, True, False, False, False, 'body']), ({'pointer': 234, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [194, True, True, True, True, 'close']), ({'pointer': 400, 'left': 40, 'width': 200, 'close_start': 160, 'close_width': 40, 'clip_left': 0, 'clip_right': 400, 'grip': 10}, [360, False, False, False, False, 'none'])], 3: [({'pointer': 255, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [195, True, False, True, False, 'body']), ({'pointer': 300, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [240, True, True, True, False, 'close']), ({'pointer': 60, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [0, True, False, True, False, 'body']), ({'pointer': 360, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [300, False, False, True, False, 'none']), ({'pointer': 285, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 270, 'grip': 15}, [225, True, False, False, False, 'body']), ({'pointer': 351, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [291, True, True, True, True, 'close']), ({'pointer': 600, 'left': 60, 'width': 300, 'close_start': 240, 'close_width': 60, 'clip_left': 0, 'clip_right': 600, 'grip': 15}, [540, False, False, False, False, 'none'])], 4: [({'pointer': 340, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [260, True, False, True, False, 'body']), ({'pointer': 400, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [320, True, True, True, False, 'close']), ({'pointer': 80, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [0, True, False, True, False, 'body']), ({'pointer': 480, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [400, False, False, True, False, 'none']), ({'pointer': 380, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 360, 'grip': 20}, [300, True, False, False, False, 'body']), ({'pointer': 468, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [388, True, True, True, True, 'close']), ({'pointer': 800, 'left': 80, 'width': 400, 'close_start': 320, 'close_width': 80, 'clip_left': 0, 'clip_right': 800, 'grip': 20}, [720, False, False, False, False, 'none'])], 5: [({'pointer': 425, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [325, True, False, True, False, 'body']), ({'pointer': 500, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [400, True, True, True, False, 'close']), ({'pointer': 100, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [0, True, False, True, False, 'body']), ({'pointer': 600, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [500, False, False, True, False, 'none']), ({'pointer': 475, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 450, 'grip': 25}, [375, True, False, False, False, 'body']), ({'pointer': 585, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [485, True, True, True, True, 'close']), ({'pointer': 1000, 'left': 100, 'width': 500, 'close_start': 400, 'close_width': 100, 'clip_left': 0, 'clip_right': 1000, 'grip': 25}, [900, False, False, False, False, 'none'])]}\nfor i, (inputs, expected) in enumerate(fixtures[N]):\n    check(\"workspace regression \"+str(i), solve(inputs), 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":"Finite stipulated workspace snapshots only. Independent result fields describe observable obligations, not a full UI runtime. 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":"s3-tab-interfaces-tab-hit-regions-clip-hit","generated_at":"2026-09-29T14:42:47.981538+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline tab/panel workspace behavior; no browser or desktop framework is emulated.","repair":"Use the stipulated workspace rule: x['clip_left']<=x['pointer']<x['clip_right'].","root_cause":"The clip hit decision uses True instead of x['clip_left']<=x['pointer']<x['clip_right'].","sha256":"113f6c75ea0ad68fba5137880e27f0e61e7cf99f9b7aa8d269db620e3e41350a","title":"Tab hit regions: clip hit · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.492,"exit_code":1,"observations":[{"actual":[65,true,false,true,false,"body"],"check":"workspace regression 0","expected":[65,true,false,true,false,"body"],"passed":true},{"actual":[80,true,true,true,false,"close"],"check":"workspace regression 1","expected":[80,true,true,true,false,"close"],"passed":true},{"actual":[0,true,false,true,false,"body"],"check":"workspace regression 2","expected":[0,true,false,true,false,"body"],"passed":true},{"actual":[100,false,false,true,false,"none"],"check":"workspace regression 3","expected":[100,false,false,true,false,"none"],"passed":true},{"actual":[75,true,false,false,false,"body"],"check":"workspace regression 4","expected":[75,true,false,false,false,"body"],"passed":true},{"actual":[97,true,true,true,true,"close"],"check":"workspace regression 5","expected":[97,true,true,true,true,"close"],"passed":true},{"actual":[180,false,false,true,false,"none"],"check":"workspace regression 6","expected":[180,false,false,false,false,"none"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [65, true, false, true, false, \"body\"], \"expected\": [65, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [80, true, true, true, false, \"close\"], \"expected\": [80, true, true, true, false, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [0, true, false, true, false, \"body\"], \"expected\": [0, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [100, false, false, true, false, \"none\"], \"expected\": [100, false, false, true, false, \"none\"], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [75, true, false, false, false, \"body\"], \"expected\": [75, true, false, false, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [97, true, true, true, true, \"close\"], \"expected\": [97, true, true, true, true, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 6\", \"actual\": [180, false, false, true, false, \"none\"], \"expected\": [180, false, false, false, false, \"none\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.568,"exit_code":1,"observations":[{"actual":[65,true,false,true,false,"body"],"check":"workspace regression 0","expected":[65,true,false,true,false,"body"],"passed":true},{"actual":[80,true,true,true,false,"close"],"check":"workspace regression 1","expected":[80,true,true,true,false,"close"],"passed":true},{"actual":[0,true,false,true,false,"body"],"check":"workspace regression 2","expected":[0,true,false,true,false,"body"],"passed":true},{"actual":[100,false,false,true,false,"none"],"check":"workspace regression 3","expected":[100,false,false,true,false,"none"],"passed":true},{"actual":[75,true,false,true,false,"body"],"check":"workspace regression 4","expected":[75,true,false,false,false,"body"],"passed":false},{"actual":[97,true,true,true,true,"close"],"check":"workspace regression 5","expected":[97,true,true,true,true,"close"],"passed":true},{"actual":[180,false,false,true,false,"none"],"check":"workspace regression 6","expected":[180,false,false,false,false,"none"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [65, true, false, true, false, \"body\"], \"expected\": [65, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [80, true, true, true, false, \"close\"], \"expected\": [80, true, true, true, false, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [0, true, false, true, false, \"body\"], \"expected\": [0, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [100, false, false, true, false, \"none\"], \"expected\": [100, false, false, true, false, \"none\"], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [75, true, false, true, false, \"body\"], \"expected\": [75, true, false, false, false, \"body\"], \"passed\": false}, {\"check\": \"workspace regression 5\", \"actual\": [97, true, true, true, true, \"close\"], \"expected\": [97, true, true, true, true, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 6\", \"actual\": [180, false, false, true, false, \"none\"], \"expected\": [180, false, false, false, false, \"none\"], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.66,"exit_code":0,"observations":[{"actual":[65,true,false,true,false,"body"],"check":"workspace regression 0","expected":[65,true,false,true,false,"body"],"passed":true},{"actual":[80,true,true,true,false,"close"],"check":"workspace regression 1","expected":[80,true,true,true,false,"close"],"passed":true},{"actual":[0,true,false,true,false,"body"],"check":"workspace regression 2","expected":[0,true,false,true,false,"body"],"passed":true},{"actual":[100,false,false,true,false,"none"],"check":"workspace regression 3","expected":[100,false,false,true,false,"none"],"passed":true},{"actual":[75,true,false,false,false,"body"],"check":"workspace regression 4","expected":[75,true,false,false,false,"body"],"passed":true},{"actual":[97,true,true,true,true,"close"],"check":"workspace regression 5","expected":[97,true,true,true,true,"close"],"passed":true},{"actual":[180,false,false,false,false,"none"],"check":"workspace regression 6","expected":[180,false,false,false,false,"none"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"workspace regression 0\", \"actual\": [65, true, false, true, false, \"body\"], \"expected\": [65, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 1\", \"actual\": [80, true, true, true, false, \"close\"], \"expected\": [80, true, true, true, false, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 2\", \"actual\": [0, true, false, true, false, \"body\"], \"expected\": [0, true, false, true, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 3\", \"actual\": [100, false, false, true, false, \"none\"], \"expected\": [100, false, false, true, false, \"none\"], \"passed\": true}, {\"check\": \"workspace regression 4\", \"actual\": [75, true, false, false, false, \"body\"], \"expected\": [75, true, false, false, false, \"body\"], \"passed\": true}, {\"check\": \"workspace regression 5\", \"actual\": [97, true, true, true, true, \"close\"], \"expected\": [97, true, true, true, true, \"close\"], \"passed\": true}, {\"check\": \"workspace regression 6\", \"actual\": [180, false, false, false, false, \"none\"], \"expected\": [180, false, false, false, false, \"none\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}