{"abstract":"The first line pays adjacency demerits it should not.","category":"Typography line breaking","checks":8,"contract":"Input [word widths, [space, stretch, shrink] per gap, line width, line penalty]. A line i..j has gaps=j-i-1. The last line has zero badness when not overfull. Other lines use ratio shortfall/(stretch*gaps) or /(shrink*gaps); zero stretch with slack or compression past shrink is infeasible; badness=min(10000, floor(100|r|^3+1/2)) and must be <=1000. Fitness 0 tight (r<-1/2), 1 decent (r<=1/2), 2 loose (r<=1), 3 very loose; last line decent. Demerits (lp+b)^2 plus 3000 when adjacent fitness classes differ by more than 1, starting from decent. Return [min total demerits, break list] (ties: first found) or [\"infeasible\"].","evaluation_group":"w2-typography-line-breaking-total-fit-demerits","failed_approach":"Seeding with very loose penalises the opposite set of first lines.","family":"w2-typography-line-breaking-total-fit-demerits-initial-fitness-class","id":"FA-79901","implementations":{"attempt":{"sha256":"144c87b98e65d40f6b4baccbcf4f1578d5c70aba561f71f04c8326fdf9191952","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    words, glue, width, lp = x\n    sp, st, sh = glue\n    n = len(words)\n    def rate(i, j):\n        gaps = j - i - 1\n        nat = sum(words[i:j]) + sp * gaps\n        short = width - nat\n        if j == n and short >= 0:\n            return 0, 1\n        if short > 0:\n            if st * gaps == 0:\n                return None\n            r = Fraction(short, st * gaps)\n        elif short < 0:\n            if -short > sh * gaps:\n                return None\n            r = Fraction(short, sh * gaps)\n        else:\n            r = Fraction(0)\n        b = min(10000, math.floor(100 * abs(r) ** 3 + Fraction(1, 2)))\n        if b > 1000:\n            return None\n        fit = 0 if r < Fraction(-1, 2) else 1 if r <= Fraction(1, 2) else 2 if r <= 1 else 3\n        return b, fit\n    best = {(0, 3): (0, [])}\n    for j in range(1, n + 1):\n        for i in range(j):\n            rated = rate(i, j)\n            if rated is None:\n                continue\n            b, fit = rated\n            for (pos, pfit), (dem, brk) in sorted(best.items()):\n                if pos != i:\n                    continue\n                d = dem + (lp + b) ** 2\n                if abs(fit - pfit) > 1:\n                    d += 3000\n                key = (j, fit)\n                if key not in best or d < best[key][0]:\n                    best[key] = (d, brk + [j])\n    finals = [v for (pos, f), v in best.items() if pos == n]\n    if not finals:\n        return ['infeasible']\n    d, brk = min(finals)\n    return [d, brk]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: initial fitness class', [[7, 6, 7, 4, 4, 2], [2, 1, 2], 16, 10], [17904, [2, 5, 6]]), ('regression: initial fitness class', [[4, 2, 3, 4], [2, 1, 0], 15, 10], [12200, [3, 4]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('partial-repair probe', [[2, 3, 3], [1, 3, 1], 12, 10], [100, [3]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('control layout', [[4, 7, 7, 7, 3, 6, 6], [3, 2, 1], 15, 10], ['infeasible']), ('control layout', [[4, 3, 7, 7, 7], [1, 1, 1], 11, 10], ['infeasible'])], [('regression: initial fitness class', [[4, 1, 1, 6, 4], [3, 1, 0], 24, 10], [12200, [4, 5]]), ('regression: initial fitness class', [[3, 3, 4, 3, 2], [3, 3, 0], 12, 50], [31400, [2, 4, 5]]), ('partial-repair probe', [[1, 6, 7, 3, 5, 6, 7], [2, 1, 1], 18, 50], [7500, [3, 6, 7]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[1, 4, 7, 1, 7, 3, 2, 4], [2, 1, 0], 14, 10], ['infeasible']), ('control layout', [[4, 6, 6, 4, 1, 5, 4], [2, 1, 0], 17, 50], ['infeasible'])], [('regression: initial fitness class', [[1, 5, 4, 4], [1, 2, 0], 15, 10], [2804, [3, 4]]), ('regression: initial fitness class', [[1, 3, 1, 3, 5, 5, 3, 3], [3, 2, 0], 23, 10], [24300, [4, 7, 8]]), ('partial-repair probe', [[6, 2, 2, 4], [3, 2, 2], 20, 10], [529, [4]]), ('partial-repair probe', [[6, 3, 6, 2, 1, 4, 3], [2, 2, 1], 20, 10], [244, [3, 7]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[6, 1, 6, 5, 5, 2, 6], [2, 2, 0], 16, 1], ['infeasible']), ('control layout', [[1, 7, 7, 7, 5, 1, 2, 4], [1, 2, 0], 14, 1], ['infeasible'])], [('regression: initial fitness class', [[3, 3, 4, 4], [3, 3, 2], 12, 10], [12200, [2, 4]]), ('regression: initial fitness class', [[2, 7, 5, 2, 5], [3, 2, 0], 14, 10], [671300, [2, 4, 5]]), ('partial-repair probe', [[5, 3, 3, 2, 5], [1, 3, 2], 22, 10], [100, [5]]), ('partial-repair probe', [[4, 1, 6, 6, 3, 1, 1, 3], [3, 2, 0], 18, 10], [773, [3, 6, 8]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[7, 4, 7, 2, 4, 2, 1], [2, 1, 0], 17, 10], ['infeasible']), ('control layout', [[2, 6, 7, 3, 1, 5, 5, 1], [1, 1, 1], 9, 1], ['infeasible'])], [('regression: initial fitness class', [[2, 6, 2, 3, 4, 3, 5], [1, 1, 0], 14, 10], [24300, [3, 6, 7]]), ('regression: initial fitness class', [[3, 6, 1, 7, 2], [1, 1, 0], 22, 10], [1700, [4, 5]]), ('partial-repair probe', [[1, 3, 7], [3, 2, 2], 11, 1], [647602, [2, 3]]), ('partial-repair probe', [[3, 7, 7, 6, 1, 6, 1], [2, 1, 2], 20, 1], [10, [3, 7]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[2, 6, 3, 3, 7, 7], [3, 3, 1], 12, 1], ['infeasible']), ('control layout', [[3, 7, 1, 4, 7, 4], [3, 2, 0], 11, 10], ['infeasible'])]]\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":"5642a44a62e90bf3f320847267851ef80adcabc083e7901cd4f37ee194c7711f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    words, glue, width, lp = x\n    sp, st, sh = glue\n    n = len(words)\n    def rate(i, j):\n        gaps = j - i - 1\n        nat = sum(words[i:j]) + sp * gaps\n        short = width - nat\n        if j == n and short >= 0:\n            return 0, 1\n        if short > 0:\n            if st * gaps == 0:\n                return None\n            r = Fraction(short, st * gaps)\n        elif short < 0:\n            if -short > sh * gaps:\n                return None\n            r = Fraction(short, sh * gaps)\n        else:\n            r = Fraction(0)\n        b = min(10000, math.floor(100 * abs(r) ** 3 + Fraction(1, 2)))\n        if b > 1000:\n            return None\n        fit = 0 if r < Fraction(-1, 2) else 1 if r <= Fraction(1, 2) else 2 if r <= 1 else 3\n        return b, fit\n    best = {(0, 0): (0, [])}\n    for j in range(1, n + 1):\n        for i in range(j):\n            rated = rate(i, j)\n            if rated is None:\n                continue\n            b, fit = rated\n            for (pos, pfit), (dem, brk) in sorted(best.items()):\n                if pos != i:\n                    continue\n                d = dem + (lp + b) ** 2\n                if abs(fit - pfit) > 1:\n                    d += 3000\n                key = (j, fit)\n                if key not in best or d < best[key][0]:\n                    best[key] = (d, brk + [j])\n    finals = [v for (pos, f), v in best.items() if pos == n]\n    if not finals:\n        return ['infeasible']\n    d, brk = min(finals)\n    return [d, brk]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: initial fitness class', [[7, 6, 7, 4, 4, 2], [2, 1, 2], 16, 10], [17904, [2, 5, 6]]), ('regression: initial fitness class', [[4, 2, 3, 4], [2, 1, 0], 15, 10], [12200, [3, 4]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('partial-repair probe', [[2, 3, 3], [1, 3, 1], 12, 10], [100, [3]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('control layout', [[4, 7, 7, 7, 3, 6, 6], [3, 2, 1], 15, 10], ['infeasible']), ('control layout', [[4, 3, 7, 7, 7], [1, 1, 1], 11, 10], ['infeasible'])], [('regression: initial fitness class', [[4, 1, 1, 6, 4], [3, 1, 0], 24, 10], [12200, [4, 5]]), ('regression: initial fitness class', [[3, 3, 4, 3, 2], [3, 3, 0], 12, 50], [31400, [2, 4, 5]]), ('partial-repair probe', [[1, 6, 7, 3, 5, 6, 7], [2, 1, 1], 18, 50], [7500, [3, 6, 7]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[1, 4, 7, 1, 7, 3, 2, 4], [2, 1, 0], 14, 10], ['infeasible']), ('control layout', [[4, 6, 6, 4, 1, 5, 4], [2, 1, 0], 17, 50], ['infeasible'])], [('regression: initial fitness class', [[1, 5, 4, 4], [1, 2, 0], 15, 10], [2804, [3, 4]]), ('regression: initial fitness class', [[1, 3, 1, 3, 5, 5, 3, 3], [3, 2, 0], 23, 10], [24300, [4, 7, 8]]), ('partial-repair probe', [[6, 2, 2, 4], [3, 2, 2], 20, 10], [529, [4]]), ('partial-repair probe', [[6, 3, 6, 2, 1, 4, 3], [2, 2, 1], 20, 10], [244, [3, 7]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[6, 1, 6, 5, 5, 2, 6], [2, 2, 0], 16, 1], ['infeasible']), ('control layout', [[1, 7, 7, 7, 5, 1, 2, 4], [1, 2, 0], 14, 1], ['infeasible'])], [('regression: initial fitness class', [[3, 3, 4, 4], [3, 3, 2], 12, 10], [12200, [2, 4]]), ('regression: initial fitness class', [[2, 7, 5, 2, 5], [3, 2, 0], 14, 10], [671300, [2, 4, 5]]), ('partial-repair probe', [[5, 3, 3, 2, 5], [1, 3, 2], 22, 10], [100, [5]]), ('partial-repair probe', [[4, 1, 6, 6, 3, 1, 1, 3], [3, 2, 0], 18, 10], [773, [3, 6, 8]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[7, 4, 7, 2, 4, 2, 1], [2, 1, 0], 17, 10], ['infeasible']), ('control layout', [[2, 6, 7, 3, 1, 5, 5, 1], [1, 1, 1], 9, 1], ['infeasible'])], [('regression: initial fitness class', [[2, 6, 2, 3, 4, 3, 5], [1, 1, 0], 14, 10], [24300, [3, 6, 7]]), ('regression: initial fitness class', [[3, 6, 1, 7, 2], [1, 1, 0], 22, 10], [1700, [4, 5]]), ('partial-repair probe', [[1, 3, 7], [3, 2, 2], 11, 1], [647602, [2, 3]]), ('partial-repair probe', [[3, 7, 7, 6, 1, 6, 1], [2, 1, 2], 20, 1], [10, [3, 7]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[2, 6, 3, 3, 7, 7], [3, 3, 1], 12, 1], ['infeasible']), ('control layout', [[3, 7, 1, 4, 7, 4], [3, 2, 0], 11, 10], ['infeasible'])]]\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":"b8991de38736e64e7105765fdfa5ab57f15e4d52b96916c3c0b9f415406cfe64","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    words, glue, width, lp = x\n    sp, st, sh = glue\n    n = len(words)\n    def rate(i, j):\n        gaps = j - i - 1\n        nat = sum(words[i:j]) + sp * gaps\n        short = width - nat\n        if j == n and short >= 0:\n            return 0, 1\n        if short > 0:\n            if st * gaps == 0:\n                return None\n            r = Fraction(short, st * gaps)\n        elif short < 0:\n            if -short > sh * gaps:\n                return None\n            r = Fraction(short, sh * gaps)\n        else:\n            r = Fraction(0)\n        b = min(10000, math.floor(100 * abs(r) ** 3 + Fraction(1, 2)))\n        if b > 1000:\n            return None\n        fit = 0 if r < Fraction(-1, 2) else 1 if r <= Fraction(1, 2) else 2 if r <= 1 else 3\n        return b, fit\n    best = {(0, 1): (0, [])}\n    for j in range(1, n + 1):\n        for i in range(j):\n            rated = rate(i, j)\n            if rated is None:\n                continue\n            b, fit = rated\n            for (pos, pfit), (dem, brk) in sorted(best.items()):\n                if pos != i:\n                    continue\n                d = dem + (lp + b) ** 2\n                if abs(fit - pfit) > 1:\n                    d += 3000\n                key = (j, fit)\n                if key not in best or d < best[key][0]:\n                    best[key] = (d, brk + [j])\n    finals = [v for (pos, f), v in best.items() if pos == n]\n    if not finals:\n        return ['infeasible']\n    d, brk = min(finals)\n    return [d, brk]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: initial fitness class', [[7, 6, 7, 4, 4, 2], [2, 1, 2], 16, 10], [17904, [2, 5, 6]]), ('regression: initial fitness class', [[4, 2, 3, 4], [2, 1, 0], 15, 10], [12200, [3, 4]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('partial-repair probe', [[2, 3, 3], [1, 3, 1], 12, 10], [100, [3]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('control layout', [[4, 7, 7, 7, 3, 6, 6], [3, 2, 1], 15, 10], ['infeasible']), ('control layout', [[4, 3, 7, 7, 7], [1, 1, 1], 11, 10], ['infeasible'])], [('regression: initial fitness class', [[4, 1, 1, 6, 4], [3, 1, 0], 24, 10], [12200, [4, 5]]), ('regression: initial fitness class', [[3, 3, 4, 3, 2], [3, 3, 0], 12, 50], [31400, [2, 4, 5]]), ('partial-repair probe', [[1, 6, 7, 3, 5, 6, 7], [2, 1, 1], 18, 50], [7500, [3, 6, 7]]), ('partial-repair probe', [[2, 5, 1], [1, 1, 2], 12, 1], [1, [3]]), ('tight then loose lines', [[3, 3, 3, 3, 3, 3, 3], [2, 2, 1], 11, 1], [20403, [3, 6, 7]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[1, 4, 7, 1, 7, 3, 2, 4], [2, 1, 0], 14, 10], ['infeasible']), ('control layout', [[4, 6, 6, 4, 1, 5, 4], [2, 1, 0], 17, 50], ['infeasible'])], [('regression: initial fitness class', [[1, 5, 4, 4], [1, 2, 0], 15, 10], [2804, [3, 4]]), ('regression: initial fitness class', [[1, 3, 1, 3, 5, 5, 3, 3], [3, 2, 0], 23, 10], [24300, [4, 7, 8]]), ('partial-repair probe', [[6, 2, 2, 4], [3, 2, 2], 20, 10], [529, [4]]), ('partial-repair probe', [[6, 3, 6, 2, 1, 4, 3], [2, 2, 1], 20, 10], [244, [3, 7]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('control layout', [[6, 1, 6, 5, 5, 2, 6], [2, 2, 0], 16, 1], ['infeasible']), ('control layout', [[1, 7, 7, 7, 5, 1, 2, 4], [1, 2, 0], 14, 1], ['infeasible'])], [('regression: initial fitness class', [[3, 3, 4, 4], [3, 3, 2], 12, 10], [12200, [2, 4]]), ('regression: initial fitness class', [[2, 7, 5, 2, 5], [3, 2, 0], 14, 10], [671300, [2, 4, 5]]), ('partial-repair probe', [[5, 3, 3, 2, 5], [1, 3, 2], 22, 10], [100, [5]]), ('partial-repair probe', [[4, 1, 6, 6, 3, 1, 1, 3], [3, 2, 0], 18, 10], [773, [3, 6, 8]]), ('single word paragraph', [[7], [2, 2, 1], 10, 10], [100, [1]]), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[7, 4, 7, 2, 4, 2, 1], [2, 1, 0], 17, 10], ['infeasible']), ('control layout', [[2, 6, 7, 3, 1, 5, 5, 1], [1, 1, 1], 9, 1], ['infeasible'])], [('regression: initial fitness class', [[2, 6, 2, 3, 4, 3, 5], [1, 1, 0], 14, 10], [24300, [3, 6, 7]]), ('regression: initial fitness class', [[3, 6, 1, 7, 2], [1, 1, 0], 22, 10], [1700, [4, 5]]), ('partial-repair probe', [[1, 3, 7], [3, 2, 2], 11, 1], [647602, [2, 3]]), ('partial-repair probe', [[3, 7, 7, 6, 1, 6, 1], [2, 1, 2], 20, 1], [10, [3, 7]]), ('last line overfull', [[5, 5, 5], [1, 1, 0], 9, 10], ['infeasible']), ('two-line paragraph with loose first line', [[4, 5, 3, 6], [2, 2, 1], 14, 10], [12200, [3, 4]]), ('control layout', [[2, 6, 3, 3, 7, 7], [3, 3, 1], 12, 1], ['infeasible']), ('control layout', [[3, 7, 1, 4, 7, 4], [3, 2, 0], 11, 10], ['infeasible'])]]\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 typesetting model with integer widths and a stipulated rule set; it does not claim conformance to any engine. 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-typography-line-breaking-total-fit-demerits-initial-fitness-class","generated_at":"2026-09-29T14:49:48.863073+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Line breaking decides where paragraphs wrap on screen and in print; a wrong decision point shifts every following line.","repair":"Seed the start node with fitness class 1 (decent).","root_cause":"The paragraph start node is seeded with the tight class instead of decent.","sha256":"2e3296e92f508f2503c022c530db2182bc81e5efc5d438a784fbbcde8c4640b8","title":"Total-fit paragraph demerits: initial fitness class · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.833,"exit_code":1,"observations":[{"actual":[17904,[2,5,6]],"check":"regression: initial fitness class","expected":[17904,[2,5,6]],"passed":true},{"actual":[12200,[3,4]],"check":"regression: initial fitness class","expected":[12200,[3,4]],"passed":true},{"actual":[3001,[3]],"check":"partial-repair probe","expected":[1,[3]],"passed":false},{"actual":[3100,[3]],"check":"partial-repair probe","expected":[100,[3]],"passed":false},{"actual":["infeasible"],"check":"last line overfull","expected":["infeasible"],"passed":true},{"actual":[23403,[3,6,7]],"check":"tight then loose lines","expected":[20403,[3,6,7]],"passed":false},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: initial fitness class\", \"actual\": [17904, [2, 5, 6]], \"expected\": [17904, [2, 5, 6]], \"passed\": true}, {\"check\": \"regression: initial fitness class\", \"actual\": [12200, [3, 4]], \"expected\": [12200, [3, 4]], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [3001, [3]], \"expected\": [1, [3]], \"passed\": false}, {\"check\": \"partial-repair probe\", \"actual\": [3100, [3]], \"expected\": [100, [3]], \"passed\": false}, {\"check\": \"last line overfull\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"tight then loose lines\", \"actual\": [23403, [3, 6, 7]], \"expected\": [20403, [3, 6, 7]], \"passed\": false}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.742,"exit_code":1,"observations":[{"actual":[20904,[2,5,6]],"check":"regression: initial fitness class","expected":[17904,[2,5,6]],"passed":false},{"actual":[15200,[3,4]],"check":"regression: initial fitness class","expected":[12200,[3,4]],"passed":false},{"actual":[1,[3]],"check":"partial-repair probe","expected":[1,[3]],"passed":true},{"actual":[100,[3]],"check":"partial-repair probe","expected":[100,[3]],"passed":true},{"actual":["infeasible"],"check":"last line overfull","expected":["infeasible"],"passed":true},{"actual":[20403,[3,6,7]],"check":"tight then loose lines","expected":[20403,[3,6,7]],"passed":true},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: initial fitness class\", \"actual\": [20904, [2, 5, 6]], \"expected\": [17904, [2, 5, 6]], \"passed\": false}, {\"check\": \"regression: initial fitness class\", \"actual\": [15200, [3, 4]], \"expected\": [12200, [3, 4]], \"passed\": false}, {\"check\": \"partial-repair probe\", \"actual\": [1, [3]], \"expected\": [1, [3]], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [100, [3]], \"expected\": [100, [3]], \"passed\": true}, {\"check\": \"last line overfull\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"tight then loose lines\", \"actual\": [20403, [3, 6, 7]], \"expected\": [20403, [3, 6, 7]], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":46.789,"exit_code":0,"observations":[{"actual":[17904,[2,5,6]],"check":"regression: initial fitness class","expected":[17904,[2,5,6]],"passed":true},{"actual":[12200,[3,4]],"check":"regression: initial fitness class","expected":[12200,[3,4]],"passed":true},{"actual":[1,[3]],"check":"partial-repair probe","expected":[1,[3]],"passed":true},{"actual":[100,[3]],"check":"partial-repair probe","expected":[100,[3]],"passed":true},{"actual":["infeasible"],"check":"last line overfull","expected":["infeasible"],"passed":true},{"actual":[20403,[3,6,7]],"check":"tight then loose lines","expected":[20403,[3,6,7]],"passed":true},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true},{"actual":["infeasible"],"check":"control layout","expected":["infeasible"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: initial fitness class\", \"actual\": [17904, [2, 5, 6]], \"expected\": [17904, [2, 5, 6]], \"passed\": true}, {\"check\": \"regression: initial fitness class\", \"actual\": [12200, [3, 4]], \"expected\": [12200, [3, 4]], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [1, [3]], \"expected\": [1, [3]], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [100, [3]], \"expected\": [100, [3]], \"passed\": true}, {\"check\": \"last line overfull\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"tight then loose lines\", \"actual\": [20403, [3, 6, 7]], \"expected\": [20403, [3, 6, 7]], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"infeasible\"], \"expected\": [\"infeasible\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}