{"abstract":"Bonds with a short last period overpay the final coupon.","category":"Bond day-count conventions","checks":8,"contract":"Inputs the last regular coupon date prev, maturity (prev < maturity <= prev + 2 periods), months per period and annual rate. Quasi dates are prev shifted forward k*months with the prev day clamped to month length. c = 100*rate/freq. Short final period (maturity <= q1): c*days(prev,mat)/days(prev,q1). Long final period: c*(1 + days(q1,mat)/days(q1,q2)). Round to 6 decimals.","evaluation_group":"w2-bond_day_count_conventions-final-stub-coupon","failed_approach":"Adding one day to the notional period length pro-rates against the wrong denominator.","family":"w2-bond_day_count_conventions-final-stub-coupon-short-final-stub","id":"FA-61216","implementations":{"attempt":{"sha256":"d6a18180664763457d19e6a4b4be10834bc9ec97a47a80757170804b3955f4d9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(prev, maturity, months, rate):\n    def mlen(y, m):\n        if m == 2:\n            return 29 if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 else 28\n        return 30 if m in (4, 6, 9, 11) else 31\n    P = datetime.date(*prev)\n    M = datetime.date(*maturity)\n    freq = 12 // months\n    def fwd(k):\n        t = P.year * 12 + P.month - 1 + k * months\n        y, m = t // 12, t % 12 + 1\n        return datetime.date(y, m, min(P.day, mlen(y, m)))\n    c = 100 * Fraction(str(rate)) / freq\n    q1 = fwd(1)\n    if M <= q1:\n        frac = Fraction((M - P).days, (q1 - P).days + 1)\n    else:\n        q2 = fwd(2)\n        frac = 1 + Fraction((M - q1).days, (q2 - q1).days)\n    return round(float(c * frac), 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression short final stub 1', [[2013, 9, 23], [2014, 3, 12], 6, 0.03], 1.40884], ['regression short final stub 2', [[2042, 5, 10], [2042, 5, 27], 6, 0.0725], 0.334918], ['partial repair probe 1', [[2015, 10, 31], [2016, 1, 31], 3, 0.045], 1.125], ['partial repair probe 2', [[2020, 5, 23], [2020, 11, 23], 6, 0.0725], 3.625], ['normal control 1', [[2018, 2, 28], [2018, 7, 19], 3, 0.03], 1.173913], ['normal control 2', [[2028, 2, 21], [2029, 5, 25], 12, 0.045], 5.646575], ['normal control 3', [[2014, 3, 1], [2014, 10, 2], 6, 0.05], 2.928177], ['normal control 4', [[2007, 7, 17], [2007, 8, 28], 1, 0.05], 0.564516]], [['regression short final stub 1', [[2045, 11, 25], [2045, 11, 26], 1, 0.05], 0.013889], ['regression short final stub 2', [[2044, 5, 31], [2044, 6, 29], 3, 0.03], 0.236413], ['partial repair probe 1', [[2014, 2, 28], [2014, 8, 28], 6, 0.05], 2.5], ['partial repair probe 2', [[2024, 8, 24], [2025, 8, 24], 12, 0.0725], 7.25], ['normal control 1', [[2007, 2, 22], [2007, 3, 31], 1, 0.045], 0.483871], ['normal control 2', [[2017, 10, 31], [2017, 12, 21], 1, 0.05], 0.698925], ['normal control 3', [[2038, 1, 22], [2038, 12, 2], 6, 0.03], 2.584239], ['normal control 4', [[2025, 9, 29], [2025, 11, 22], 1, 0.05], 0.739247]], [['regression short final stub 1', [[2041, 3, 31], [2041, 4, 17], 3, 0.0725], 0.338599], ['regression short final stub 2', [[2024, 10, 27], [2024, 11, 1], 1, 0.0725], 0.097446], ['partial repair probe 1', [[2013, 12, 31], [2014, 6, 30], 6, 0.03], 1.5], ['partial repair probe 2', [[2045, 1, 31], [2045, 2, 28], 1, 0.0725], 0.604167], ['normal control 1', [[2018, 6, 17], [2018, 7, 28], 1, 0.03], 0.33871], ['normal control 2', [[2027, 1, 3], [2027, 10, 30], 6, 0.045], 3.705163], ['normal control 3', [[2041, 2, 11], [2041, 4, 5], 1, 0.0725], 1.091398], ['normal control 4', [[2033, 1, 31], [2034, 1, 1], 6, 0.0725], 6.658967]], [['regression short final stub 1', [[2006, 7, 31], [2006, 9, 19], 6, 0.0725], 0.985054], ['regression short final stub 2', [[2013, 12, 16], [2014, 1, 7], 6, 0.03], 0.181319], ['partial repair probe 1', [[2018, 3, 2], [2019, 3, 2], 12, 0.05], 5.0], ['partial repair probe 2', [[2026, 3, 6], [2026, 4, 6], 1, 0.03], 0.25], ['normal control 1', [[2006, 6, 22], [2007, 1, 17], 6, 0.045], 2.571429], ['normal control 2', [[2034, 12, 27], [2035, 2, 24], 1, 0.0725], 1.149866], ['normal control 3', [[2045, 11, 21], [2046, 5, 8], 3, 0.05], 2.317416], ['normal control 4', [[2043, 1, 17], [2043, 3, 16], 1, 0.05], 0.818452]], [['regression short final stub 1', [[2012, 10, 28], [2012, 11, 25], 6, 0.0725], 0.557692], ['regression short final stub 2', [[2045, 8, 30], [2045, 9, 13], 3, 0.03], 0.11413], ['partial repair probe 1', [[2035, 1, 30], [2035, 7, 30], 6, 0.045], 2.25], ['partial repair probe 2', [[2015, 6, 30], [2016, 6, 30], 12, 0.03], 3.0], ['normal control 1', [[2018, 2, 28], [2018, 7, 27], 3, 0.045], 1.858696], ['normal control 2', [[2030, 12, 29], [2032, 6, 14], 12, 0.0725], 10.577869], ['normal control 3', [[2026, 3, 30], [2027, 6, 18], 12, 0.05], 6.092896], ['normal control 4', [[2038, 12, 13], [2039, 5, 4], 3, 0.05], 1.956522]]]\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":"c705a878ee217134fad2a7c75ba2a101ba492e3dcf19f8967b5edf0bcd7de1ea","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(prev, maturity, months, rate):\n    def mlen(y, m):\n        if m == 2:\n            return 29 if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 else 28\n        return 30 if m in (4, 6, 9, 11) else 31\n    P = datetime.date(*prev)\n    M = datetime.date(*maturity)\n    freq = 12 // months\n    def fwd(k):\n        t = P.year * 12 + P.month - 1 + k * months\n        y, m = t // 12, t % 12 + 1\n        return datetime.date(y, m, min(P.day, mlen(y, m)))\n    c = 100 * Fraction(str(rate)) / freq\n    q1 = fwd(1)\n    if M <= q1:\n        frac = Fraction(1)\n    else:\n        q2 = fwd(2)\n        frac = 1 + Fraction((M - q1).days, (q2 - q1).days)\n    return round(float(c * frac), 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression short final stub 1', [[2013, 9, 23], [2014, 3, 12], 6, 0.03], 1.40884], ['regression short final stub 2', [[2042, 5, 10], [2042, 5, 27], 6, 0.0725], 0.334918], ['partial repair probe 1', [[2015, 10, 31], [2016, 1, 31], 3, 0.045], 1.125], ['partial repair probe 2', [[2020, 5, 23], [2020, 11, 23], 6, 0.0725], 3.625], ['normal control 1', [[2018, 2, 28], [2018, 7, 19], 3, 0.03], 1.173913], ['normal control 2', [[2028, 2, 21], [2029, 5, 25], 12, 0.045], 5.646575], ['normal control 3', [[2014, 3, 1], [2014, 10, 2], 6, 0.05], 2.928177], ['normal control 4', [[2007, 7, 17], [2007, 8, 28], 1, 0.05], 0.564516]], [['regression short final stub 1', [[2045, 11, 25], [2045, 11, 26], 1, 0.05], 0.013889], ['regression short final stub 2', [[2044, 5, 31], [2044, 6, 29], 3, 0.03], 0.236413], ['partial repair probe 1', [[2014, 2, 28], [2014, 8, 28], 6, 0.05], 2.5], ['partial repair probe 2', [[2024, 8, 24], [2025, 8, 24], 12, 0.0725], 7.25], ['normal control 1', [[2007, 2, 22], [2007, 3, 31], 1, 0.045], 0.483871], ['normal control 2', [[2017, 10, 31], [2017, 12, 21], 1, 0.05], 0.698925], ['normal control 3', [[2038, 1, 22], [2038, 12, 2], 6, 0.03], 2.584239], ['normal control 4', [[2025, 9, 29], [2025, 11, 22], 1, 0.05], 0.739247]], [['regression short final stub 1', [[2041, 3, 31], [2041, 4, 17], 3, 0.0725], 0.338599], ['regression short final stub 2', [[2024, 10, 27], [2024, 11, 1], 1, 0.0725], 0.097446], ['partial repair probe 1', [[2013, 12, 31], [2014, 6, 30], 6, 0.03], 1.5], ['partial repair probe 2', [[2045, 1, 31], [2045, 2, 28], 1, 0.0725], 0.604167], ['normal control 1', [[2018, 6, 17], [2018, 7, 28], 1, 0.03], 0.33871], ['normal control 2', [[2027, 1, 3], [2027, 10, 30], 6, 0.045], 3.705163], ['normal control 3', [[2041, 2, 11], [2041, 4, 5], 1, 0.0725], 1.091398], ['normal control 4', [[2033, 1, 31], [2034, 1, 1], 6, 0.0725], 6.658967]], [['regression short final stub 1', [[2006, 7, 31], [2006, 9, 19], 6, 0.0725], 0.985054], ['regression short final stub 2', [[2013, 12, 16], [2014, 1, 7], 6, 0.03], 0.181319], ['partial repair probe 1', [[2018, 3, 2], [2019, 3, 2], 12, 0.05], 5.0], ['partial repair probe 2', [[2026, 3, 6], [2026, 4, 6], 1, 0.03], 0.25], ['normal control 1', [[2006, 6, 22], [2007, 1, 17], 6, 0.045], 2.571429], ['normal control 2', [[2034, 12, 27], [2035, 2, 24], 1, 0.0725], 1.149866], ['normal control 3', [[2045, 11, 21], [2046, 5, 8], 3, 0.05], 2.317416], ['normal control 4', [[2043, 1, 17], [2043, 3, 16], 1, 0.05], 0.818452]], [['regression short final stub 1', [[2012, 10, 28], [2012, 11, 25], 6, 0.0725], 0.557692], ['regression short final stub 2', [[2045, 8, 30], [2045, 9, 13], 3, 0.03], 0.11413], ['partial repair probe 1', [[2035, 1, 30], [2035, 7, 30], 6, 0.045], 2.25], ['partial repair probe 2', [[2015, 6, 30], [2016, 6, 30], 12, 0.03], 3.0], ['normal control 1', [[2018, 2, 28], [2018, 7, 27], 3, 0.045], 1.858696], ['normal control 2', [[2030, 12, 29], [2032, 6, 14], 12, 0.0725], 10.577869], ['normal control 3', [[2026, 3, 30], [2027, 6, 18], 12, 0.05], 6.092896], ['normal control 4', [[2038, 12, 13], [2039, 5, 4], 3, 0.05], 1.956522]]]\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":"9489994585ae0f24281890250d3a61651d2469b6346d1faca86f68b62f051082","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport datetime\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(prev, maturity, months, rate):\n    def mlen(y, m):\n        if m == 2:\n            return 29 if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0 else 28\n        return 30 if m in (4, 6, 9, 11) else 31\n    P = datetime.date(*prev)\n    M = datetime.date(*maturity)\n    freq = 12 // months\n    def fwd(k):\n        t = P.year * 12 + P.month - 1 + k * months\n        y, m = t // 12, t % 12 + 1\n        return datetime.date(y, m, min(P.day, mlen(y, m)))\n    c = 100 * Fraction(str(rate)) / freq\n    q1 = fwd(1)\n    if M <= q1:\n        frac = Fraction((M - P).days, (q1 - P).days)\n    else:\n        q2 = fwd(2)\n        frac = 1 + Fraction((M - q1).days, (q2 - q1).days)\n    return round(float(c * frac), 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression short final stub 1', [[2013, 9, 23], [2014, 3, 12], 6, 0.03], 1.40884], ['regression short final stub 2', [[2042, 5, 10], [2042, 5, 27], 6, 0.0725], 0.334918], ['partial repair probe 1', [[2015, 10, 31], [2016, 1, 31], 3, 0.045], 1.125], ['partial repair probe 2', [[2020, 5, 23], [2020, 11, 23], 6, 0.0725], 3.625], ['normal control 1', [[2018, 2, 28], [2018, 7, 19], 3, 0.03], 1.173913], ['normal control 2', [[2028, 2, 21], [2029, 5, 25], 12, 0.045], 5.646575], ['normal control 3', [[2014, 3, 1], [2014, 10, 2], 6, 0.05], 2.928177], ['normal control 4', [[2007, 7, 17], [2007, 8, 28], 1, 0.05], 0.564516]], [['regression short final stub 1', [[2045, 11, 25], [2045, 11, 26], 1, 0.05], 0.013889], ['regression short final stub 2', [[2044, 5, 31], [2044, 6, 29], 3, 0.03], 0.236413], ['partial repair probe 1', [[2014, 2, 28], [2014, 8, 28], 6, 0.05], 2.5], ['partial repair probe 2', [[2024, 8, 24], [2025, 8, 24], 12, 0.0725], 7.25], ['normal control 1', [[2007, 2, 22], [2007, 3, 31], 1, 0.045], 0.483871], ['normal control 2', [[2017, 10, 31], [2017, 12, 21], 1, 0.05], 0.698925], ['normal control 3', [[2038, 1, 22], [2038, 12, 2], 6, 0.03], 2.584239], ['normal control 4', [[2025, 9, 29], [2025, 11, 22], 1, 0.05], 0.739247]], [['regression short final stub 1', [[2041, 3, 31], [2041, 4, 17], 3, 0.0725], 0.338599], ['regression short final stub 2', [[2024, 10, 27], [2024, 11, 1], 1, 0.0725], 0.097446], ['partial repair probe 1', [[2013, 12, 31], [2014, 6, 30], 6, 0.03], 1.5], ['partial repair probe 2', [[2045, 1, 31], [2045, 2, 28], 1, 0.0725], 0.604167], ['normal control 1', [[2018, 6, 17], [2018, 7, 28], 1, 0.03], 0.33871], ['normal control 2', [[2027, 1, 3], [2027, 10, 30], 6, 0.045], 3.705163], ['normal control 3', [[2041, 2, 11], [2041, 4, 5], 1, 0.0725], 1.091398], ['normal control 4', [[2033, 1, 31], [2034, 1, 1], 6, 0.0725], 6.658967]], [['regression short final stub 1', [[2006, 7, 31], [2006, 9, 19], 6, 0.0725], 0.985054], ['regression short final stub 2', [[2013, 12, 16], [2014, 1, 7], 6, 0.03], 0.181319], ['partial repair probe 1', [[2018, 3, 2], [2019, 3, 2], 12, 0.05], 5.0], ['partial repair probe 2', [[2026, 3, 6], [2026, 4, 6], 1, 0.03], 0.25], ['normal control 1', [[2006, 6, 22], [2007, 1, 17], 6, 0.045], 2.571429], ['normal control 2', [[2034, 12, 27], [2035, 2, 24], 1, 0.0725], 1.149866], ['normal control 3', [[2045, 11, 21], [2046, 5, 8], 3, 0.05], 2.317416], ['normal control 4', [[2043, 1, 17], [2043, 3, 16], 1, 0.05], 0.818452]], [['regression short final stub 1', [[2012, 10, 28], [2012, 11, 25], 6, 0.0725], 0.557692], ['regression short final stub 2', [[2045, 8, 30], [2045, 9, 13], 3, 0.03], 0.11413], ['partial repair probe 1', [[2035, 1, 30], [2035, 7, 30], 6, 0.045], 2.25], ['partial repair probe 2', [[2015, 6, 30], [2016, 6, 30], 12, 0.03], 3.0], ['normal control 1', [[2018, 2, 28], [2018, 7, 27], 3, 0.045], 1.858696], ['normal control 2', [[2030, 12, 29], [2032, 6, 14], 12, 0.0725], 10.577869], ['normal control 3', [[2026, 3, 30], [2027, 6, 18], 12, 0.05], 6.092896], ['normal control 4', [[2038, 12, 13], [2039, 5, 4], 3, 0.05], 1.956522]]]\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 explicitly in the contract field; no claim of conformance to any published convention text. 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-bond_day_count_conventions-final-stub-coupon-short-final-stub","generated_at":"2026-09-29T14:46:53.115691+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Bond accrual and pricing systems depend on exact day-count arithmetic; a single-day error changes settlement cash.","repair":"Pro-rate a short final coupon by days(prev, maturity) over the notional period length.","root_cause":"The final coupon is always treated as a regular period coupon.","sha256":"1f52637ebb6f504393923f414c26c9effd64a80c9ec39bf84ae0731123a41c1a","title":"Irregular final coupon amount: a short final period pays a full regular coupon · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.115,"exit_code":1,"observations":[{"actual":1.401099,"check":"regression short final stub 1","expected":1.40884,"passed":false},{"actual":0.333108,"check":"regression short final stub 2","expected":0.334918,"passed":false},{"actual":1.112903,"check":"partial repair probe 1","expected":1.125,"passed":false},{"actual":3.605405,"check":"partial repair probe 2","expected":3.625,"passed":false},{"actual":1.173913,"check":"normal control 1","expected":1.173913,"passed":true},{"actual":5.646575,"check":"normal control 2","expected":5.646575,"passed":true},{"actual":2.928177,"check":"normal control 3","expected":2.928177,"passed":true},{"actual":0.564516,"check":"normal control 4","expected":0.564516,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression short final stub 1\", \"actual\": 1.401099, \"expected\": 1.40884, \"passed\": false}, {\"check\": \"regression short final stub 2\", \"actual\": 0.333108, \"expected\": 0.334918, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 1.112903, \"expected\": 1.125, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 3.605405, \"expected\": 3.625, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 1.173913, \"expected\": 1.173913, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 5.646575, \"expected\": 5.646575, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 2.928177, \"expected\": 2.928177, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0.564516, \"expected\": 0.564516, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.432,"exit_code":1,"observations":[{"actual":1.5,"check":"regression short final stub 1","expected":1.40884,"passed":false},{"actual":3.625,"check":"regression short final stub 2","expected":0.334918,"passed":false},{"actual":1.125,"check":"partial repair probe 1","expected":1.125,"passed":true},{"actual":3.625,"check":"partial repair probe 2","expected":3.625,"passed":true},{"actual":1.173913,"check":"normal control 1","expected":1.173913,"passed":true},{"actual":5.646575,"check":"normal control 2","expected":5.646575,"passed":true},{"actual":2.928177,"check":"normal control 3","expected":2.928177,"passed":true},{"actual":0.564516,"check":"normal control 4","expected":0.564516,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression short final stub 1\", \"actual\": 1.5, \"expected\": 1.40884, \"passed\": false}, {\"check\": \"regression short final stub 2\", \"actual\": 3.625, \"expected\": 0.334918, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 1.125, \"expected\": 1.125, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 3.625, \"expected\": 3.625, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 1.173913, \"expected\": 1.173913, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 5.646575, \"expected\": 5.646575, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 2.928177, \"expected\": 2.928177, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0.564516, \"expected\": 0.564516, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.599,"exit_code":0,"observations":[{"actual":1.40884,"check":"regression short final stub 1","expected":1.40884,"passed":true},{"actual":0.334918,"check":"regression short final stub 2","expected":0.334918,"passed":true},{"actual":1.125,"check":"partial repair probe 1","expected":1.125,"passed":true},{"actual":3.625,"check":"partial repair probe 2","expected":3.625,"passed":true},{"actual":1.173913,"check":"normal control 1","expected":1.173913,"passed":true},{"actual":5.646575,"check":"normal control 2","expected":5.646575,"passed":true},{"actual":2.928177,"check":"normal control 3","expected":2.928177,"passed":true},{"actual":0.564516,"check":"normal control 4","expected":0.564516,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression short final stub 1\", \"actual\": 1.40884, \"expected\": 1.40884, \"passed\": true}, {\"check\": \"regression short final stub 2\", \"actual\": 0.334918, \"expected\": 0.334918, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 1.125, \"expected\": 1.125, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 3.625, \"expected\": 3.625, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 1.173913, \"expected\": 1.173913, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 5.646575, \"expected\": 5.646575, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 2.928177, \"expected\": 2.928177, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 0.564516, \"expected\": 0.564516, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}