{"abstract":"The waistband has no wearing ease.","category":"Knitting and sewing pattern grading","checks":8,"contract":"kind full/half/quarter covers fraction 1, 1/2, 1/4 of a circle (else \"error: kind\"). Waist radius r = (waist+ease)/(2*pi*fraction); cut radius = r - sa (seam extends into the waist hole). Hem circumference = 2*pi*fraction*(r + length). Fabric span needed = 2*(cut_r + length + hem) for full and half, (cut_r + length + hem) for quarter. Return floats rounded to 1 decimal: [r, cut_r, hem_circumference, span].","evaluation_group":"w2-knitting_and_sewing_pattern_grading-circle-skirt","failed_approach":"Half the ease leaves the waist tight.","family":"w2-knitting_and_sewing_pattern_grading-circle-skirt-ease-application","id":"FA-97811","implementations":{"attempt":{"sha256":"1d9ae682c345740e11b078b2dc0cba96d0ce18a9a1d17d843879b42f572bb3bb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(waist, kind, ease, sa, length, hem):\n    FR = {'full': 1, 'half': 0.5, 'quarter': 0.25}\n    if kind not in FR:\n        return 'error: kind'\n    W = waist + ease / 2\n    r = W / (2 * math.pi * FR[kind])\n    cut_r = r - sa\n    hem_c = 2 * math.pi * FR[kind] * (r + length)\n    span = 2 * (cut_r + length + hem) if kind != 'quarter' else cut_r + length + hem\n    return [round(r, 1), round(cut_r, 1), round(hem_c, 1), round(span, 1)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'half', 2, 1.5, 55, 3], [24.4, 22.9, 249.3, 161.7]],\n  ['repair check: ease application', [60, 'full', 1, 1.5, 55, 2], [9.7, 8.2, 406.6, 130.4]],\n  ['generated control 1', [74.5, 'gored', 1, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 55, 2], 'error: kind'],\n  ['generated control 3', [66, 'gored', 0, 1, 55, 2], 'error: kind']],\n [['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['regression: ease application', [92, 'quarter', 1, 1, 55, 2], [59.2, 58.2, 179.4, 115.2]],\n  ['repair check: ease application', [80, 'full', 1, 1, 70, 2], [12.9, 11.9, 520.8, 167.8]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [92, 'gored', 0, 1.5, 55, 3], 'error: kind'],\n  ['generated control 3', [92, 'gored', 2, 1.5, 55, 2], 'error: kind']],\n [['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['regression: ease application', [80, 'half', 1, 1, 70, 3], [25.8, 24.8, 300.9, 195.6]],\n  ['repair check: ease application', [70, 'half', 2, 1, 55, 3], [22.9, 21.9, 244.8, 159.8]],\n  ['generated control 1', [70, 'quarter', 0, 1.5, 55, 3], [44.6, 43.1, 156.4, 101.1]],\n  ['generated control 2', [66, 'gored', 0, 1.5, 55, 2], 'error: kind'],\n  ['generated control 3', [74.5, 'gored', 0, 1, 40, 2], 'error: kind']],\n [['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['regression: ease application', [92, 'full', 1, 1.5, 40, 3], [14.8, 13.3, 344.3, 112.6]],\n  ['repair check: ease application', [80, 'half', 2, 1, 40, 3], [26.1, 25.1, 207.7, 136.2]],\n  ['generated control 1', [70, 'gored', 0, 1, 40, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 40, 2], 'error: kind'],\n  ['generated control 3', [60, 'quarter', 1, 1.5, 40, 3], [38.8, 37.3, 123.8, 80.3]]],\n [['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'full', 2, 1, 40, 3], [12.2, 11.2, 327.8, 108.4]],\n  ['repair check: ease application', [70, 'quarter', 1, 1, 70, 3], [45.2, 44.2, 181.0, 117.2]],\n  ['generated control 1', [92, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [66, 'full', 2, 1.5, 55, 3], [10.8, 9.3, 413.6, 134.6]],\n  ['generated control 3', [92, 'full', 1, 1, 70, 3], [14.8, 13.8, 532.8, 173.6]]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"23177fedacf2859a2cde4b8e3fab88c1114d86dfd97a6d0b3b53453e301e3e09","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(waist, kind, ease, sa, length, hem):\n    FR = {'full': 1, 'half': 0.5, 'quarter': 0.25}\n    if kind not in FR:\n        return 'error: kind'\n    W = waist\n    r = W / (2 * math.pi * FR[kind])\n    cut_r = r - sa\n    hem_c = 2 * math.pi * FR[kind] * (r + length)\n    span = 2 * (cut_r + length + hem) if kind != 'quarter' else cut_r + length + hem\n    return [round(r, 1), round(cut_r, 1), round(hem_c, 1), round(span, 1)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'half', 2, 1.5, 55, 3], [24.4, 22.9, 249.3, 161.7]],\n  ['repair check: ease application', [60, 'full', 1, 1.5, 55, 2], [9.7, 8.2, 406.6, 130.4]],\n  ['generated control 1', [74.5, 'gored', 1, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 55, 2], 'error: kind'],\n  ['generated control 3', [66, 'gored', 0, 1, 55, 2], 'error: kind']],\n [['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['regression: ease application', [92, 'quarter', 1, 1, 55, 2], [59.2, 58.2, 179.4, 115.2]],\n  ['repair check: ease application', [80, 'full', 1, 1, 70, 2], [12.9, 11.9, 520.8, 167.8]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [92, 'gored', 0, 1.5, 55, 3], 'error: kind'],\n  ['generated control 3', [92, 'gored', 2, 1.5, 55, 2], 'error: kind']],\n [['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['regression: ease application', [80, 'half', 1, 1, 70, 3], [25.8, 24.8, 300.9, 195.6]],\n  ['repair check: ease application', [70, 'half', 2, 1, 55, 3], [22.9, 21.9, 244.8, 159.8]],\n  ['generated control 1', [70, 'quarter', 0, 1.5, 55, 3], [44.6, 43.1, 156.4, 101.1]],\n  ['generated control 2', [66, 'gored', 0, 1.5, 55, 2], 'error: kind'],\n  ['generated control 3', [74.5, 'gored', 0, 1, 40, 2], 'error: kind']],\n [['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['regression: ease application', [92, 'full', 1, 1.5, 40, 3], [14.8, 13.3, 344.3, 112.6]],\n  ['repair check: ease application', [80, 'half', 2, 1, 40, 3], [26.1, 25.1, 207.7, 136.2]],\n  ['generated control 1', [70, 'gored', 0, 1, 40, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 40, 2], 'error: kind'],\n  ['generated control 3', [60, 'quarter', 1, 1.5, 40, 3], [38.8, 37.3, 123.8, 80.3]]],\n [['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'full', 2, 1, 40, 3], [12.2, 11.2, 327.8, 108.4]],\n  ['repair check: ease application', [70, 'quarter', 1, 1, 70, 3], [45.2, 44.2, 181.0, 117.2]],\n  ['generated control 1', [92, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [66, 'full', 2, 1.5, 55, 3], [10.8, 9.3, 413.6, 134.6]],\n  ['generated control 3', [92, 'full', 1, 1, 70, 3], [14.8, 13.8, 532.8, 173.6]]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"92c60ce2e3f80048e3ae6eb3d2ff8670a564454c55a4b980aa2c226bb036ff4c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(waist, kind, ease, sa, length, hem):\n    FR = {'full': 1, 'half': 0.5, 'quarter': 0.25}\n    if kind not in FR:\n        return 'error: kind'\n    W = waist + ease\n    r = W / (2 * math.pi * FR[kind])\n    cut_r = r - sa\n    hem_c = 2 * math.pi * FR[kind] * (r + length)\n    span = 2 * (cut_r + length + hem) if kind != 'quarter' else cut_r + length + hem\n    return [round(r, 1), round(cut_r, 1), round(hem_c, 1), round(span, 1)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'half', 2, 1.5, 55, 3], [24.4, 22.9, 249.3, 161.7]],\n  ['repair check: ease application', [60, 'full', 1, 1.5, 55, 2], [9.7, 8.2, 406.6, 130.4]],\n  ['generated control 1', [74.5, 'gored', 1, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 55, 2], 'error: kind'],\n  ['generated control 3', [66, 'gored', 0, 1, 55, 2], 'error: kind']],\n [['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['regression: ease application', [92, 'quarter', 1, 1, 55, 2], [59.2, 58.2, 179.4, 115.2]],\n  ['repair check: ease application', [80, 'full', 1, 1, 70, 2], [12.9, 11.9, 520.8, 167.8]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [92, 'gored', 0, 1.5, 55, 3], 'error: kind'],\n  ['generated control 3', [92, 'gored', 2, 1.5, 55, 2], 'error: kind']],\n [['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['regression: ease application', [80, 'half', 1, 1, 70, 3], [25.8, 24.8, 300.9, 195.6]],\n  ['repair check: ease application', [70, 'half', 2, 1, 55, 3], [22.9, 21.9, 244.8, 159.8]],\n  ['generated control 1', [70, 'quarter', 0, 1.5, 55, 3], [44.6, 43.1, 156.4, 101.1]],\n  ['generated control 2', [66, 'gored', 0, 1.5, 55, 2], 'error: kind'],\n  ['generated control 3', [74.5, 'gored', 0, 1, 40, 2], 'error: kind']],\n [['gored rejected', [70, 'gored', 0, 1, 50, 2], 'error: kind'],\n  ['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['regression: ease application', [92, 'full', 1, 1.5, 40, 3], [14.8, 13.3, 344.3, 112.6]],\n  ['repair check: ease application', [80, 'half', 2, 1, 40, 3], [26.1, 25.1, 207.7, 136.2]],\n  ['generated control 1', [70, 'gored', 0, 1, 40, 2], 'error: kind'],\n  ['generated control 2', [70, 'gored', 2, 1, 40, 2], 'error: kind'],\n  ['generated control 3', [60, 'quarter', 1, 1.5, 40, 3], [38.8, 37.3, 123.8, 80.3]]],\n [['full circle', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]],\n  ['half circle', [66, 'half', 0, 1, 40, 3], [21.0, 20.0, 191.7, 126.0]],\n  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: ease application', [74.5, 'full', 2, 1, 40, 3], [12.2, 11.2, 327.8, 108.4]],\n  ['repair check: ease application', [70, 'quarter', 1, 1, 70, 3], [45.2, 44.2, 181.0, 117.2]],\n  ['generated control 1', [92, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 2', [66, 'full', 2, 1.5, 55, 3], [10.8, 9.3, 413.6, 134.6]],\n  ['generated control 3', [92, 'full', 1, 1, 70, 3], [14.8, 13.8, 532.8, 173.6]]]]\nfor label, args, expected in fixtures[N - 1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic toy contract stated in full here; it is a bounded teaching model, not an authoritative reference or standards implementation. 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-knitting_and_sewing_pattern_grading-circle-skirt-ease-application","generated_at":"2026-09-29T14:52:35.829043+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Circle skirt drafting converts waist size into a radius and checks the fabric width needed.","repair":"Add ease before computing the radius.","root_cause":"Ease is not added to the waist measurement.","sha256":"a03c76615872fcf4bddfc6951b838a13c3c7099d548259726b40031e25b22c63","title":"Circle skirt drafter: ease application · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.273,"exit_code":1,"observations":[{"actual":[11.3,9.8,416.6,133.6],"check":"full circle","expected":[11.5,10.0,417.6,133.9],"passed":false},{"actual":[21.0,20.0,191.7,126.0],"check":"half circle","expected":[21.0,20.0,191.7,126.0],"passed":true},{"actual":[51.2,49.7,190.5,121.7],"check":"quarter","expected":[51.6,50.1,191.0,122.1],"passed":false},{"actual":[24.0,22.5,248.3,161.1],"check":"regression: ease application","expected":[24.4,22.9,249.3,161.7],"passed":false},{"actual":[9.6,8.1,406.1,130.3],"check":"repair check: ease application","expected":[9.7,8.2,406.6,130.4],"passed":false},{"actual":"error: kind","check":"generated control 1","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 2","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 3","expected":"error: kind","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full circle\", \"actual\": [11.3, 9.8, 416.6, 133.6], \"expected\": [11.5, 10.0, 417.6, 133.9], \"passed\": false}, {\"check\": \"half circle\", \"actual\": [21.0, 20.0, 191.7, 126.0], \"expected\": [21.0, 20.0, 191.7, 126.0], \"passed\": true}, {\"check\": \"quarter\", \"actual\": [51.2, 49.7, 190.5, 121.7], \"expected\": [51.6, 50.1, 191.0, 122.1], \"passed\": false}, {\"check\": \"regression: ease application\", \"actual\": [24.0, 22.5, 248.3, 161.1], \"expected\": [24.4, 22.9, 249.3, 161.7], \"passed\": false}, {\"check\": \"repair check: ease application\", \"actual\": [9.6, 8.1, 406.1, 130.3], \"expected\": [9.7, 8.2, 406.6, 130.4], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.334,"exit_code":1,"observations":[{"actual":[11.1,9.6,415.6,133.3],"check":"full circle","expected":[11.5,10.0,417.6,133.9],"passed":false},{"actual":[21.0,20.0,191.7,126.0],"check":"half circle","expected":[21.0,20.0,191.7,126.0],"passed":true},{"actual":[50.9,49.4,190.0,121.4],"check":"quarter","expected":[51.6,50.1,191.0,122.1],"passed":false},{"actual":[23.7,22.2,247.3,160.4],"check":"regression: ease application","expected":[24.4,22.9,249.3,161.7],"passed":false},{"actual":[9.5,8.0,405.6,130.1],"check":"repair check: ease application","expected":[9.7,8.2,406.6,130.4],"passed":false},{"actual":"error: kind","check":"generated control 1","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 2","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 3","expected":"error: kind","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full circle\", \"actual\": [11.1, 9.6, 415.6, 133.3], \"expected\": [11.5, 10.0, 417.6, 133.9], \"passed\": false}, {\"check\": \"half circle\", \"actual\": [21.0, 20.0, 191.7, 126.0], \"expected\": [21.0, 20.0, 191.7, 126.0], \"passed\": true}, {\"check\": \"quarter\", \"actual\": [50.9, 49.4, 190.0, 121.4], \"expected\": [51.6, 50.1, 191.0, 122.1], \"passed\": false}, {\"check\": \"regression: ease application\", \"actual\": [23.7, 22.2, 247.3, 160.4], \"expected\": [24.4, 22.9, 249.3, 161.7], \"passed\": false}, {\"check\": \"repair check: ease application\", \"actual\": [9.5, 8.0, 405.6, 130.1], \"expected\": [9.7, 8.2, 406.6, 130.4], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.123,"exit_code":0,"observations":[{"actual":[11.5,10.0,417.6,133.9],"check":"full circle","expected":[11.5,10.0,417.6,133.9],"passed":true},{"actual":[21.0,20.0,191.7,126.0],"check":"half circle","expected":[21.0,20.0,191.7,126.0],"passed":true},{"actual":[51.6,50.1,191.0,122.1],"check":"quarter","expected":[51.6,50.1,191.0,122.1],"passed":true},{"actual":[24.4,22.9,249.3,161.7],"check":"regression: ease application","expected":[24.4,22.9,249.3,161.7],"passed":true},{"actual":[9.7,8.2,406.6,130.4],"check":"repair check: ease application","expected":[9.7,8.2,406.6,130.4],"passed":true},{"actual":"error: kind","check":"generated control 1","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 2","expected":"error: kind","passed":true},{"actual":"error: kind","check":"generated control 3","expected":"error: kind","passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full circle\", \"actual\": [11.5, 10.0, 417.6, 133.9], \"expected\": [11.5, 10.0, 417.6, 133.9], \"passed\": true}, {\"check\": \"half circle\", \"actual\": [21.0, 20.0, 191.7, 126.0], \"expected\": [21.0, 20.0, 191.7, 126.0], \"passed\": true}, {\"check\": \"quarter\", \"actual\": [51.6, 50.1, 191.0, 122.1], \"expected\": [51.6, 50.1, 191.0, 122.1], \"passed\": true}, {\"check\": \"regression: ease application\", \"actual\": [24.4, 22.9, 249.3, 161.7], \"expected\": [24.4, 22.9, 249.3, 161.7], \"passed\": true}, {\"check\": \"repair check: ease application\", \"actual\": [9.7, 8.2, 406.6, 130.4], \"expected\": [9.7, 8.2, 406.6, 130.4], \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": \"error: kind\", \"expected\": \"error: kind\", \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}