{"abstract":"Hem circumference ignores the waist hole.","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":"Using the cut radius shrinks the finished hem.","family":"w2-knitting_and_sewing_pattern_grading-circle-skirt-hem-circumference-radius","id":"FA-97806","implementations":{"attempt":{"sha256":"31a0830e2b68ab00820a612783c61d9cadb53c77afe992c4a663301b0dd74f37","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] * (cut_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: hem circumference radius', [60, 'quarter', 2, 1.5, 55, 2], [39.5, 38.0, 148.4, 95.0]],\n  ['repair check: hem circumference radius', [74.5, 'half', 1, 1.5, 70, 2], [24.0, 22.5, 295.4, 189.1]],\n  ['generated control 1', [66, 'full', 0, 1.5, 40, 2], [10.5, 9.0, 317.3, 102.0]],\n  ['generated control 2', [92, 'quarter', 2, 1.5, 55, 3], [59.8, 58.3, 180.4, 116.3]],\n  ['generated control 3', [80, 'half', 1, 1.5, 55, 2], [25.8, 24.3, 253.8, 162.6]]],\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: hem circumference radius', [92, 'quarter', 2, 1, 40, 3], [59.8, 58.8, 156.8, 101.8]],\n  ['repair check: hem circumference radius', [92, 'quarter', 0, 1, 40, 2], [58.6, 57.6, 154.8, 99.6]],\n  ['generated control 1', [70, 'half', 1, 1, 55, 2], [22.6, 21.6, 243.8, 157.2]],\n  ['generated control 2', [80, 'gored', 2, 1.5, 70, 2], 'error: kind'],\n  ['generated control 3', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]]],\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: hem circumference radius', [70, 'full', 1, 1.5, 70, 3], [11.3, 9.8, 510.8, 165.6]],\n  ['repair check: hem circumference radius', [60, 'half', 0, 1, 70, 2], [19.1, 18.1, 279.9, 180.2]],\n  ['generated control 1', [92, 'gored', 1, 1.5, 40, 2], 'error: kind'],\n  ['generated control 2', [60, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 3', [80, 'full', 1, 1.5, 55, 2], [12.9, 11.4, 426.6, 136.8]]],\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: hem circumference radius', [74.5, 'half', 0, 1, 70, 2], [23.7, 22.7, 294.4, 189.4]],\n  ['repair check: hem circumference radius', [80, 'half', 0, 1, 70, 3], [25.5, 24.5, 299.9, 194.9]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [60, 'full', 1, 1.5, 40, 3], [9.7, 8.2, 312.3, 102.4]],\n  ['generated control 3', [66, 'gored', 1, 1, 40, 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  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: hem circumference radius', [74.5, 'full', 2, 1.5, 40, 3], [12.2, 10.7, 327.8, 107.4]],\n  ['repair check: hem circumference radius', [92, 'quarter', 1, 1, 40, 2], [59.2, 58.2, 155.8, 100.2]],\n  ['generated control 1', [70, 'gored', 1, 1.5, 70, 3], 'error: kind'],\n  ['generated control 2', [70, 'half', 2, 1, 55, 2], [22.9, 21.9, 244.8, 157.8]],\n  ['generated control 3', [74.5, 'full', 1, 1.5, 55, 2], [12.0, 10.5, 421.1, 135.0]]]]\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":"b992b8cb1e67bcc6f0cc6517c8e119f2d37716ef81f45b1fac5f9969d20ef9b0","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] * 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: hem circumference radius', [60, 'quarter', 2, 1.5, 55, 2], [39.5, 38.0, 148.4, 95.0]],\n  ['repair check: hem circumference radius', [74.5, 'half', 1, 1.5, 70, 2], [24.0, 22.5, 295.4, 189.1]],\n  ['generated control 1', [66, 'full', 0, 1.5, 40, 2], [10.5, 9.0, 317.3, 102.0]],\n  ['generated control 2', [92, 'quarter', 2, 1.5, 55, 3], [59.8, 58.3, 180.4, 116.3]],\n  ['generated control 3', [80, 'half', 1, 1.5, 55, 2], [25.8, 24.3, 253.8, 162.6]]],\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: hem circumference radius', [92, 'quarter', 2, 1, 40, 3], [59.8, 58.8, 156.8, 101.8]],\n  ['repair check: hem circumference radius', [92, 'quarter', 0, 1, 40, 2], [58.6, 57.6, 154.8, 99.6]],\n  ['generated control 1', [70, 'half', 1, 1, 55, 2], [22.6, 21.6, 243.8, 157.2]],\n  ['generated control 2', [80, 'gored', 2, 1.5, 70, 2], 'error: kind'],\n  ['generated control 3', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]]],\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: hem circumference radius', [70, 'full', 1, 1.5, 70, 3], [11.3, 9.8, 510.8, 165.6]],\n  ['repair check: hem circumference radius', [60, 'half', 0, 1, 70, 2], [19.1, 18.1, 279.9, 180.2]],\n  ['generated control 1', [92, 'gored', 1, 1.5, 40, 2], 'error: kind'],\n  ['generated control 2', [60, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 3', [80, 'full', 1, 1.5, 55, 2], [12.9, 11.4, 426.6, 136.8]]],\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: hem circumference radius', [74.5, 'half', 0, 1, 70, 2], [23.7, 22.7, 294.4, 189.4]],\n  ['repair check: hem circumference radius', [80, 'half', 0, 1, 70, 3], [25.5, 24.5, 299.9, 194.9]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [60, 'full', 1, 1.5, 40, 3], [9.7, 8.2, 312.3, 102.4]],\n  ['generated control 3', [66, 'gored', 1, 1, 40, 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  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: hem circumference radius', [74.5, 'full', 2, 1.5, 40, 3], [12.2, 10.7, 327.8, 107.4]],\n  ['repair check: hem circumference radius', [92, 'quarter', 1, 1, 40, 2], [59.2, 58.2, 155.8, 100.2]],\n  ['generated control 1', [70, 'gored', 1, 1.5, 70, 3], 'error: kind'],\n  ['generated control 2', [70, 'half', 2, 1, 55, 2], [22.9, 21.9, 244.8, 157.8]],\n  ['generated control 3', [74.5, 'full', 1, 1.5, 55, 2], [12.0, 10.5, 421.1, 135.0]]]]\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":"95be89a3083cf594e920136e73b0b7fabc01e6d700a08e482c325e667d3e57e9","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: hem circumference radius', [60, 'quarter', 2, 1.5, 55, 2], [39.5, 38.0, 148.4, 95.0]],\n  ['repair check: hem circumference radius', [74.5, 'half', 1, 1.5, 70, 2], [24.0, 22.5, 295.4, 189.1]],\n  ['generated control 1', [66, 'full', 0, 1.5, 40, 2], [10.5, 9.0, 317.3, 102.0]],\n  ['generated control 2', [92, 'quarter', 2, 1.5, 55, 3], [59.8, 58.3, 180.4, 116.3]],\n  ['generated control 3', [80, 'half', 1, 1.5, 55, 2], [25.8, 24.3, 253.8, 162.6]]],\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: hem circumference radius', [92, 'quarter', 2, 1, 40, 3], [59.8, 58.8, 156.8, 101.8]],\n  ['repair check: hem circumference radius', [92, 'quarter', 0, 1, 40, 2], [58.6, 57.6, 154.8, 99.6]],\n  ['generated control 1', [70, 'half', 1, 1, 55, 2], [22.6, 21.6, 243.8, 157.2]],\n  ['generated control 2', [80, 'gored', 2, 1.5, 70, 2], 'error: kind'],\n  ['generated control 3', [70, 'full', 2, 1.5, 55, 2], [11.5, 10.0, 417.6, 133.9]]],\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: hem circumference radius', [70, 'full', 1, 1.5, 70, 3], [11.3, 9.8, 510.8, 165.6]],\n  ['repair check: hem circumference radius', [60, 'half', 0, 1, 70, 2], [19.1, 18.1, 279.9, 180.2]],\n  ['generated control 1', [92, 'gored', 1, 1.5, 40, 2], 'error: kind'],\n  ['generated control 2', [60, 'gored', 0, 1, 70, 2], 'error: kind'],\n  ['generated control 3', [80, 'full', 1, 1.5, 55, 2], [12.9, 11.4, 426.6, 136.8]]],\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: hem circumference radius', [74.5, 'half', 0, 1, 70, 2], [23.7, 22.7, 294.4, 189.4]],\n  ['repair check: hem circumference radius', [80, 'half', 0, 1, 70, 3], [25.5, 24.5, 299.9, 194.9]],\n  ['generated control 1', [66, 'gored', 1, 1, 55, 3], 'error: kind'],\n  ['generated control 2', [60, 'full', 1, 1.5, 40, 3], [9.7, 8.2, 312.3, 102.4]],\n  ['generated control 3', [66, 'gored', 1, 1, 40, 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  ['quarter', [80, 'quarter', 1, 1.5, 70, 2], [51.6, 50.1, 191.0, 122.1]],\n  ['regression: hem circumference radius', [74.5, 'full', 2, 1.5, 40, 3], [12.2, 10.7, 327.8, 107.4]],\n  ['repair check: hem circumference radius', [92, 'quarter', 1, 1, 40, 2], [59.2, 58.2, 155.8, 100.2]],\n  ['generated control 1', [70, 'gored', 1, 1.5, 70, 3], 'error: kind'],\n  ['generated control 2', [70, 'half', 2, 1, 55, 2], [22.9, 21.9, 244.8, 157.8]],\n  ['generated control 3', [74.5, 'full', 1, 1.5, 55, 2], [12.0, 10.5, 421.1, 135.0]]]]\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-hem-circumference-radius","generated_at":"2026-09-29T14:52:35.742793+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":"Hem radius = waist radius + length.","root_cause":"The hem radius is taken as the skirt length alone.","sha256":"b8150aa2638aff5ba799f077dff57ab715fdfd6acc8de9f60e23c26bc30cea86","title":"Circle skirt drafter: hem circumference radius · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.822,"exit_code":1,"observations":[{"actual":[11.5,10.0,408.2,133.9],"check":"full circle","expected":[11.5,10.0,417.6,133.9],"passed":false},{"actual":[21.0,20.0,188.5,126.0],"check":"half circle","expected":[21.0,20.0,191.7,126.0],"passed":false},{"actual":[51.6,50.1,188.6,122.1],"check":"quarter","expected":[51.6,50.1,191.0,122.1],"passed":false},{"actual":[39.5,38.0,146.0,95.0],"check":"regression: hem circumference radius","expected":[39.5,38.0,148.4,95.0],"passed":false},{"actual":[24.0,22.5,290.7,189.1],"check":"repair check: hem circumference radius","expected":[24.0,22.5,295.4,189.1],"passed":false},{"actual":[10.5,9.0,307.9,102.0],"check":"generated control 1","expected":[10.5,9.0,317.3,102.0],"passed":false},{"actual":[59.8,58.3,178.0,116.3],"check":"generated control 2","expected":[59.8,58.3,180.4,116.3],"passed":false},{"actual":[25.8,24.3,249.1,162.6],"check":"generated control 3","expected":[25.8,24.3,253.8,162.6],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full circle\", \"actual\": [11.5, 10.0, 408.2, 133.9], \"expected\": [11.5, 10.0, 417.6, 133.9], \"passed\": false}, {\"check\": \"half circle\", \"actual\": [21.0, 20.0, 188.5, 126.0], \"expected\": [21.0, 20.0, 191.7, 126.0], \"passed\": false}, {\"check\": \"quarter\", \"actual\": [51.6, 50.1, 188.6, 122.1], \"expected\": [51.6, 50.1, 191.0, 122.1], \"passed\": false}, {\"check\": \"regression: hem circumference radius\", \"actual\": [39.5, 38.0, 146.0, 95.0], \"expected\": [39.5, 38.0, 148.4, 95.0], \"passed\": false}, {\"check\": \"repair check: hem circumference radius\", \"actual\": [24.0, 22.5, 290.7, 189.1], \"expected\": [24.0, 22.5, 295.4, 189.1], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [10.5, 9.0, 307.9, 102.0], \"expected\": [10.5, 9.0, 317.3, 102.0], \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": [59.8, 58.3, 178.0, 116.3], \"expected\": [59.8, 58.3, 180.4, 116.3], \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": [25.8, 24.3, 249.1, 162.6], \"expected\": [25.8, 24.3, 253.8, 162.6], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.964,"exit_code":1,"observations":[{"actual":[11.5,10.0,345.6,133.9],"check":"full circle","expected":[11.5,10.0,417.6,133.9],"passed":false},{"actual":[21.0,20.0,125.7,126.0],"check":"half circle","expected":[21.0,20.0,191.7,126.0],"passed":false},{"actual":[51.6,50.1,110.0,122.1],"check":"quarter","expected":[51.6,50.1,191.0,122.1],"passed":false},{"actual":[39.5,38.0,86.4,95.0],"check":"regression: hem circumference radius","expected":[39.5,38.0,148.4,95.0],"passed":false},{"actual":[24.0,22.5,219.9,189.1],"check":"repair check: hem circumference radius","expected":[24.0,22.5,295.4,189.1],"passed":false},{"actual":[10.5,9.0,251.3,102.0],"check":"generated control 1","expected":[10.5,9.0,317.3,102.0],"passed":false},{"actual":[59.8,58.3,86.4,116.3],"check":"generated control 2","expected":[59.8,58.3,180.4,116.3],"passed":false},{"actual":[25.8,24.3,172.8,162.6],"check":"generated control 3","expected":[25.8,24.3,253.8,162.6],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"full circle\", \"actual\": [11.5, 10.0, 345.6, 133.9], \"expected\": [11.5, 10.0, 417.6, 133.9], \"passed\": false}, {\"check\": \"half circle\", \"actual\": [21.0, 20.0, 125.7, 126.0], \"expected\": [21.0, 20.0, 191.7, 126.0], \"passed\": false}, {\"check\": \"quarter\", \"actual\": [51.6, 50.1, 110.0, 122.1], \"expected\": [51.6, 50.1, 191.0, 122.1], \"passed\": false}, {\"check\": \"regression: hem circumference radius\", \"actual\": [39.5, 38.0, 86.4, 95.0], \"expected\": [39.5, 38.0, 148.4, 95.0], \"passed\": false}, {\"check\": \"repair check: hem circumference radius\", \"actual\": [24.0, 22.5, 219.9, 189.1], \"expected\": [24.0, 22.5, 295.4, 189.1], \"passed\": false}, {\"check\": \"generated control 1\", \"actual\": [10.5, 9.0, 251.3, 102.0], \"expected\": [10.5, 9.0, 317.3, 102.0], \"passed\": false}, {\"check\": \"generated control 2\", \"actual\": [59.8, 58.3, 86.4, 116.3], \"expected\": [59.8, 58.3, 180.4, 116.3], \"passed\": false}, {\"check\": \"generated control 3\", \"actual\": [25.8, 24.3, 172.8, 162.6], \"expected\": [25.8, 24.3, 253.8, 162.6], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.628,"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":[39.5,38.0,148.4,95.0],"check":"regression: hem circumference radius","expected":[39.5,38.0,148.4,95.0],"passed":true},{"actual":[24.0,22.5,295.4,189.1],"check":"repair check: hem circumference radius","expected":[24.0,22.5,295.4,189.1],"passed":true},{"actual":[10.5,9.0,317.3,102.0],"check":"generated control 1","expected":[10.5,9.0,317.3,102.0],"passed":true},{"actual":[59.8,58.3,180.4,116.3],"check":"generated control 2","expected":[59.8,58.3,180.4,116.3],"passed":true},{"actual":[25.8,24.3,253.8,162.6],"check":"generated control 3","expected":[25.8,24.3,253.8,162.6],"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: hem circumference radius\", \"actual\": [39.5, 38.0, 148.4, 95.0], \"expected\": [39.5, 38.0, 148.4, 95.0], \"passed\": true}, {\"check\": \"repair check: hem circumference radius\", \"actual\": [24.0, 22.5, 295.4, 189.1], \"expected\": [24.0, 22.5, 295.4, 189.1], \"passed\": true}, {\"check\": \"generated control 1\", \"actual\": [10.5, 9.0, 317.3, 102.0], \"expected\": [10.5, 9.0, 317.3, 102.0], \"passed\": true}, {\"check\": \"generated control 2\", \"actual\": [59.8, 58.3, 180.4, 116.3], \"expected\": [59.8, 58.3, 180.4, 116.3], \"passed\": true}, {\"check\": \"generated control 3\", \"actual\": [25.8, 24.3, 253.8, 162.6], \"expected\": [25.8, 24.3, 253.8, 162.6], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}