{"abstract":"Balancing collapses to the original ragged wrap.","category":"Typography line breaking","checks":8,"contract":"Input [words, width]. Let L be the greedy line count at width ([\"overflow\"] if a word is wider). Find the smallest width w (>= longest word) whose greedy wrap needs no more than L lines, then return the greedy wrap at w.","evaluation_group":"w2-typography-line-breaking-balanced-headline","failed_approach":"Allowing one extra line makes the headline taller.","family":"w2-typography-line-breaking-balanced-headline-line-count-target","id":"FA-80286","implementations":{"attempt":{"sha256":"ffc1079f01086578852321c2b0688dbb297ebbf0a0f81e1762a9ec754deede2e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    words, width = x\n    def lines_for(w):\n        count, cur = 0, -1\n        for t in words:\n            if len(t) > w:\n                return None\n            if cur == -1:\n                cur = len(t)\n                count = 1\n            elif cur + 1 + len(t) <= w:\n                cur += 1 + len(t)\n            else:\n                count += 1\n                cur = len(t)\n        return count\n    target = lines_for(width)\n    if target is None:\n        return ['overflow']\n    lo = max(len(t) for t in words)\n    hi = width\n    while lo < hi:\n        mid = (lo + hi) // 2\n        c = lines_for(mid)\n        if c is not None and c <= target + 1:\n            hi = mid\n        else:\n            lo = mid + 1\n    out, cur = [], ''\n    for t in words:\n        cand = t if not cur else cur + ' ' + t\n        if len(cand) <= lo:\n            cur = cand\n        else:\n            out.append(cur)\n            cur = t\n    out.append(cur)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('regression: line count target', [['the', 'type', 'of', 'kerning', 'at', 'measure', 'ink', 'of', 'grid'], 17], ['the type of', 'kerning at', 'measure ink', 'of grid']), ('partial-repair probe', [['grid', 'serif', 'type', 'on', 'on'], 26], ['grid serif type on on']), ('partial-repair probe', [['measure', 'measure', 'of', 'a', 'on', 'at'], 11], ['measure', 'measure of', 'a on at']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'baseline'], 13], ['kerning', 'baseline']), ('control layout', [['grid', 'baseline', 'at', 'type', 'at', 'is', 'baseline', 'is'], 6], ['overflow']), ('control layout', [['grid', 'is', 'kerning', 'grid'], 10], ['grid is', 'kerning', 'grid'])], [('regression: line count target', [['is', 'grid', 'type', 'ink', 'x', 'grid', 'grid'], 16], ['is grid type', 'ink x grid grid']), ('regression: line count target', [['grid', 'baseline', 'grid', 'measure', 'x', 'is'], 20], ['grid baseline', 'grid measure x is']), ('partial-repair probe', [['grid', 'is', 'type', 'ink', 'serif', 'x'], 25], ['grid is type ink serif x']), ('partial-repair probe', [['a', 'of', 'is'], 27], ['a of is']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['baseline', 'kerning', 'ink', 'is', 'baseline'], 10], ['baseline', 'kerning', 'ink is', 'baseline']), ('control layout', [['x', 'of', 'kerning', 'ink'], 9], ['x of', 'kerning', 'ink'])], [('regression: line count target', [['a', 'measure', 'serif', 'x', 'at', 'a', 'serif'], 23], ['a measure serif', 'x at a serif']), ('regression: line count target', [['measure', 'serif', 'at', 'at', 'kerning', 'x'], 23], ['measure serif', 'at at kerning x']), ('regression: line count target', [['grid', 'grid', 'on', 'measure', 'measure', 'of', 'grid'], 19], ['grid grid on', 'measure measure', 'of grid']), ('regression: line count target', [['type', 'measure', 'baseline', 'type', 'a'], 25], ['type measure', 'baseline type a']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['measure', 'x', 'serif', 'a', 'a', 'x', 'is', 'of', 'x'], 6], ['overflow']), ('control layout', [['kerning', 'on', 'the'], 9], ['kerning', 'on the'])], [('regression: line count target', [['grid', 'grid', 'measure', 'x'], 18], ['grid grid', 'measure x']), ('regression: line count target', [['is', 'measure', 'the', 'grid', 'is', 'a', 'kerning', 'baseline'], 22], ['is measure the grid', 'is a kerning baseline']), ('partial-repair probe', [['at', 'a', 'ink', 'at', 'ink'], 20], ['at a ink at ink']), ('partial-repair probe', [['baseline', 'grid', 'type', 'kerning', 'grid'], 10], ['baseline', 'grid type', 'kerning', 'grid']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['x', 'baseline', 'a', 'measure', 'is'], 5], ['overflow']), ('control layout', [['is', 'ink', 'on', 'serif', 'serif', 'baseline', 'ink', 'baseline', 'baseline'], 5], ['overflow'])], [('regression: line count target', [['ink', 'grid', 'serif', 'type', 'baseline', 'the', 'baseline'], 29], ['ink grid serif type', 'baseline the baseline']), ('regression: line count target', [['x', 'on', 'measure', 'baseline', 'on', 'the'], 23], ['x on measure', 'baseline on the']), ('partial-repair probe', [['the', 'of', 'ink', 'ink', 'grid', 'is'], 27], ['the of ink ink grid is']), ('partial-repair probe', [['the', 'of', 'the', 'baseline'], 28], ['the of the baseline']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'type', 'is', 'is', 'is', 'measure', 'measure', 'type', 'at'], 7], ['kerning', 'type is', 'is is', 'measure', 'measure', 'type at']), ('control layout', [['kerning', 'the'], 6], ['overflow'])]]\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":"e28dc27d07e7af41d7061c5545bfc7485585b961f5535a28503076f5dacc378d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    words, width = x\n    def lines_for(w):\n        count, cur = 0, -1\n        for t in words:\n            if len(t) > w:\n                return None\n            if cur == -1:\n                cur = len(t)\n                count = 1\n            elif cur + 1 + len(t) <= w:\n                cur += 1 + len(t)\n            else:\n                count += 1\n                cur = len(t)\n        return count\n    target = lines_for(width)\n    if target is None:\n        return ['overflow']\n    lo = max(len(t) for t in words)\n    hi = width\n    while lo < hi:\n        mid = (lo + hi) // 2\n        c = lines_for(mid)\n        if c is not None and c < target:\n            hi = mid\n        else:\n            lo = mid + 1\n    out, cur = [], ''\n    for t in words:\n        cand = t if not cur else cur + ' ' + t\n        if len(cand) <= lo:\n            cur = cand\n        else:\n            out.append(cur)\n            cur = t\n    out.append(cur)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('regression: line count target', [['the', 'type', 'of', 'kerning', 'at', 'measure', 'ink', 'of', 'grid'], 17], ['the type of', 'kerning at', 'measure ink', 'of grid']), ('partial-repair probe', [['grid', 'serif', 'type', 'on', 'on'], 26], ['grid serif type on on']), ('partial-repair probe', [['measure', 'measure', 'of', 'a', 'on', 'at'], 11], ['measure', 'measure of', 'a on at']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'baseline'], 13], ['kerning', 'baseline']), ('control layout', [['grid', 'baseline', 'at', 'type', 'at', 'is', 'baseline', 'is'], 6], ['overflow']), ('control layout', [['grid', 'is', 'kerning', 'grid'], 10], ['grid is', 'kerning', 'grid'])], [('regression: line count target', [['is', 'grid', 'type', 'ink', 'x', 'grid', 'grid'], 16], ['is grid type', 'ink x grid grid']), ('regression: line count target', [['grid', 'baseline', 'grid', 'measure', 'x', 'is'], 20], ['grid baseline', 'grid measure x is']), ('partial-repair probe', [['grid', 'is', 'type', 'ink', 'serif', 'x'], 25], ['grid is type ink serif x']), ('partial-repair probe', [['a', 'of', 'is'], 27], ['a of is']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['baseline', 'kerning', 'ink', 'is', 'baseline'], 10], ['baseline', 'kerning', 'ink is', 'baseline']), ('control layout', [['x', 'of', 'kerning', 'ink'], 9], ['x of', 'kerning', 'ink'])], [('regression: line count target', [['a', 'measure', 'serif', 'x', 'at', 'a', 'serif'], 23], ['a measure serif', 'x at a serif']), ('regression: line count target', [['measure', 'serif', 'at', 'at', 'kerning', 'x'], 23], ['measure serif', 'at at kerning x']), ('regression: line count target', [['grid', 'grid', 'on', 'measure', 'measure', 'of', 'grid'], 19], ['grid grid on', 'measure measure', 'of grid']), ('regression: line count target', [['type', 'measure', 'baseline', 'type', 'a'], 25], ['type measure', 'baseline type a']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['measure', 'x', 'serif', 'a', 'a', 'x', 'is', 'of', 'x'], 6], ['overflow']), ('control layout', [['kerning', 'on', 'the'], 9], ['kerning', 'on the'])], [('regression: line count target', [['grid', 'grid', 'measure', 'x'], 18], ['grid grid', 'measure x']), ('regression: line count target', [['is', 'measure', 'the', 'grid', 'is', 'a', 'kerning', 'baseline'], 22], ['is measure the grid', 'is a kerning baseline']), ('partial-repair probe', [['at', 'a', 'ink', 'at', 'ink'], 20], ['at a ink at ink']), ('partial-repair probe', [['baseline', 'grid', 'type', 'kerning', 'grid'], 10], ['baseline', 'grid type', 'kerning', 'grid']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['x', 'baseline', 'a', 'measure', 'is'], 5], ['overflow']), ('control layout', [['is', 'ink', 'on', 'serif', 'serif', 'baseline', 'ink', 'baseline', 'baseline'], 5], ['overflow'])], [('regression: line count target', [['ink', 'grid', 'serif', 'type', 'baseline', 'the', 'baseline'], 29], ['ink grid serif type', 'baseline the baseline']), ('regression: line count target', [['x', 'on', 'measure', 'baseline', 'on', 'the'], 23], ['x on measure', 'baseline on the']), ('partial-repair probe', [['the', 'of', 'ink', 'ink', 'grid', 'is'], 27], ['the of ink ink grid is']), ('partial-repair probe', [['the', 'of', 'the', 'baseline'], 28], ['the of the baseline']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'type', 'is', 'is', 'is', 'measure', 'measure', 'type', 'at'], 7], ['kerning', 'type is', 'is is', 'measure', 'measure', 'type at']), ('control layout', [['kerning', 'the'], 6], ['overflow'])]]\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":"183cad133d66d1dcc9df7adb9a15ea154b160be1f63cc9281207bc6f124a5ca2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    words, width = x\n    def lines_for(w):\n        count, cur = 0, -1\n        for t in words:\n            if len(t) > w:\n                return None\n            if cur == -1:\n                cur = len(t)\n                count = 1\n            elif cur + 1 + len(t) <= w:\n                cur += 1 + len(t)\n            else:\n                count += 1\n                cur = len(t)\n        return count\n    target = lines_for(width)\n    if target is None:\n        return ['overflow']\n    lo = max(len(t) for t in words)\n    hi = width\n    while lo < hi:\n        mid = (lo + hi) // 2\n        c = lines_for(mid)\n        if c is not None and c <= target:\n            hi = mid\n        else:\n            lo = mid + 1\n    out, cur = [], ''\n    for t in words:\n        cand = t if not cur else cur + ' ' + t\n        if len(cand) <= lo:\n            cur = cand\n        else:\n            out.append(cur)\n            cur = t\n    out.append(cur)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('regression: line count target', [['the', 'type', 'of', 'kerning', 'at', 'measure', 'ink', 'of', 'grid'], 17], ['the type of', 'kerning at', 'measure ink', 'of grid']), ('partial-repair probe', [['grid', 'serif', 'type', 'on', 'on'], 26], ['grid serif type on on']), ('partial-repair probe', [['measure', 'measure', 'of', 'a', 'on', 'at'], 11], ['measure', 'measure of', 'a on at']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'baseline'], 13], ['kerning', 'baseline']), ('control layout', [['grid', 'baseline', 'at', 'type', 'at', 'is', 'baseline', 'is'], 6], ['overflow']), ('control layout', [['grid', 'is', 'kerning', 'grid'], 10], ['grid is', 'kerning', 'grid'])], [('regression: line count target', [['is', 'grid', 'type', 'ink', 'x', 'grid', 'grid'], 16], ['is grid type', 'ink x grid grid']), ('regression: line count target', [['grid', 'baseline', 'grid', 'measure', 'x', 'is'], 20], ['grid baseline', 'grid measure x is']), ('partial-repair probe', [['grid', 'is', 'type', 'ink', 'serif', 'x'], 25], ['grid is type ink serif x']), ('partial-repair probe', [['a', 'of', 'is'], 27], ['a of is']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['baseline', 'kerning', 'ink', 'is', 'baseline'], 10], ['baseline', 'kerning', 'ink is', 'baseline']), ('control layout', [['x', 'of', 'kerning', 'ink'], 9], ['x of', 'kerning', 'ink'])], [('regression: line count target', [['a', 'measure', 'serif', 'x', 'at', 'a', 'serif'], 23], ['a measure serif', 'x at a serif']), ('regression: line count target', [['measure', 'serif', 'at', 'at', 'kerning', 'x'], 23], ['measure serif', 'at at kerning x']), ('regression: line count target', [['grid', 'grid', 'on', 'measure', 'measure', 'of', 'grid'], 19], ['grid grid on', 'measure measure', 'of grid']), ('regression: line count target', [['type', 'measure', 'baseline', 'type', 'a'], 25], ['type measure', 'baseline type a']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['measure', 'x', 'serif', 'a', 'a', 'x', 'is', 'of', 'x'], 6], ['overflow']), ('control layout', [['kerning', 'on', 'the'], 9], ['kerning', 'on the'])], [('regression: line count target', [['grid', 'grid', 'measure', 'x'], 18], ['grid grid', 'measure x']), ('regression: line count target', [['is', 'measure', 'the', 'grid', 'is', 'a', 'kerning', 'baseline'], 22], ['is measure the grid', 'is a kerning baseline']), ('partial-repair probe', [['at', 'a', 'ink', 'at', 'ink'], 20], ['at a ink at ink']), ('partial-repair probe', [['baseline', 'grid', 'type', 'kerning', 'grid'], 10], ['baseline', 'grid type', 'kerning', 'grid']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('control layout', [['x', 'baseline', 'a', 'measure', 'is'], 5], ['overflow']), ('control layout', [['is', 'ink', 'on', 'serif', 'serif', 'baseline', 'ink', 'baseline', 'baseline'], 5], ['overflow'])], [('regression: line count target', [['ink', 'grid', 'serif', 'type', 'baseline', 'the', 'baseline'], 29], ['ink grid serif type', 'baseline the baseline']), ('regression: line count target', [['x', 'on', 'measure', 'baseline', 'on', 'the'], 23], ['x on measure', 'baseline on the']), ('partial-repair probe', [['the', 'of', 'ink', 'ink', 'grid', 'is'], 27], ['the of ink ink grid is']), ('partial-repair probe', [['the', 'of', 'the', 'baseline'], 28], ['the of the baseline']), ('two balanced lines', [['the', 'type', 'grid', 'is', 'on', 'serif'], 22], ['the type grid', 'is on serif']), ('word exactly the width', [['baseline', 'x'], 8], ['baseline', 'x']), ('control layout', [['kerning', 'type', 'is', 'is', 'is', 'measure', 'measure', 'type', 'at'], 7], ['kerning', 'type is', 'is is', 'measure', 'measure', 'type at']), ('control layout', [['kerning', 'the'], 6], ['overflow'])]]\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-balanced-headline-line-count-target","generated_at":"2026-09-29T14:49:52.292670+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":"Accept widths that keep the same line count.","root_cause":"The search demands strictly fewer lines than the greedy wrap.","sha256":"8de08a83be2d9a86fa9434dce4b7622fc34635abd044e53e58123a7785995c47","title":"Balanced headline wrapping: line count target · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.227,"exit_code":1,"observations":[{"actual":["the type","grid is","on serif"],"check":"two balanced lines","expected":["the type grid","is on serif"],"passed":false},{"actual":["the type","of kerning","at measure","ink of","grid"],"check":"regression: line count target","expected":["the type of","kerning at","measure ink","of grid"],"passed":false},{"actual":["grid serif","type on on"],"check":"partial-repair probe","expected":["grid serif type on on"],"passed":false},{"actual":["measure","measure","of a on","at"],"check":"partial-repair probe","expected":["measure","measure of","a on at"],"passed":false},{"actual":["baseline","x"],"check":"word exactly the width","expected":["baseline","x"],"passed":true},{"actual":["kerning","baseline"],"check":"control layout","expected":["kerning","baseline"],"passed":true},{"actual":["overflow"],"check":"control layout","expected":["overflow"],"passed":true},{"actual":["grid is","kerning","grid"],"check":"control layout","expected":["grid is","kerning","grid"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two balanced lines\", \"actual\": [\"the type\", \"grid is\", \"on serif\"], \"expected\": [\"the type grid\", \"is on serif\"], \"passed\": false}, {\"check\": \"regression: line count target\", \"actual\": [\"the type\", \"of kerning\", \"at measure\", \"ink of\", \"grid\"], \"expected\": [\"the type of\", \"kerning at\", \"measure ink\", \"of grid\"], \"passed\": false}, {\"check\": \"partial-repair probe\", \"actual\": [\"grid serif\", \"type on on\"], \"expected\": [\"grid serif type on on\"], \"passed\": false}, {\"check\": \"partial-repair probe\", \"actual\": [\"measure\", \"measure\", \"of a on\", \"at\"], \"expected\": [\"measure\", \"measure of\", \"a on at\"], \"passed\": false}, {\"check\": \"word exactly the width\", \"actual\": [\"baseline\", \"x\"], \"expected\": [\"baseline\", \"x\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"kerning\", \"baseline\"], \"expected\": [\"kerning\", \"baseline\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"overflow\"], \"expected\": [\"overflow\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"grid is\", \"kerning\", \"grid\"], \"expected\": [\"grid is\", \"kerning\", \"grid\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.489,"exit_code":1,"observations":[{"actual":["the type grid is on","serif"],"check":"two balanced lines","expected":["the type grid","is on serif"],"passed":false},{"actual":["the type of","kerning at","measure ink of","grid"],"check":"regression: line count target","expected":["the type of","kerning at","measure ink","of grid"],"passed":false},{"actual":["grid serif type on on"],"check":"partial-repair probe","expected":["grid serif type on on"],"passed":true},{"actual":["measure","measure of","a on at"],"check":"partial-repair probe","expected":["measure","measure of","a on at"],"passed":true},{"actual":["baseline","x"],"check":"word exactly the width","expected":["baseline","x"],"passed":true},{"actual":["kerning","baseline"],"check":"control layout","expected":["kerning","baseline"],"passed":true},{"actual":["overflow"],"check":"control layout","expected":["overflow"],"passed":true},{"actual":["grid is","kerning","grid"],"check":"control layout","expected":["grid is","kerning","grid"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two balanced lines\", \"actual\": [\"the type grid is on\", \"serif\"], \"expected\": [\"the type grid\", \"is on serif\"], \"passed\": false}, {\"check\": \"regression: line count target\", \"actual\": [\"the type of\", \"kerning at\", \"measure ink of\", \"grid\"], \"expected\": [\"the type of\", \"kerning at\", \"measure ink\", \"of grid\"], \"passed\": false}, {\"check\": \"partial-repair probe\", \"actual\": [\"grid serif type on on\"], \"expected\": [\"grid serif type on on\"], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [\"measure\", \"measure of\", \"a on at\"], \"expected\": [\"measure\", \"measure of\", \"a on at\"], \"passed\": true}, {\"check\": \"word exactly the width\", \"actual\": [\"baseline\", \"x\"], \"expected\": [\"baseline\", \"x\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"kerning\", \"baseline\"], \"expected\": [\"kerning\", \"baseline\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"overflow\"], \"expected\": [\"overflow\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"grid is\", \"kerning\", \"grid\"], \"expected\": [\"grid is\", \"kerning\", \"grid\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.578,"exit_code":0,"observations":[{"actual":["the type grid","is on serif"],"check":"two balanced lines","expected":["the type grid","is on serif"],"passed":true},{"actual":["the type of","kerning at","measure ink","of grid"],"check":"regression: line count target","expected":["the type of","kerning at","measure ink","of grid"],"passed":true},{"actual":["grid serif type on on"],"check":"partial-repair probe","expected":["grid serif type on on"],"passed":true},{"actual":["measure","measure of","a on at"],"check":"partial-repair probe","expected":["measure","measure of","a on at"],"passed":true},{"actual":["baseline","x"],"check":"word exactly the width","expected":["baseline","x"],"passed":true},{"actual":["kerning","baseline"],"check":"control layout","expected":["kerning","baseline"],"passed":true},{"actual":["overflow"],"check":"control layout","expected":["overflow"],"passed":true},{"actual":["grid is","kerning","grid"],"check":"control layout","expected":["grid is","kerning","grid"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two balanced lines\", \"actual\": [\"the type grid\", \"is on serif\"], \"expected\": [\"the type grid\", \"is on serif\"], \"passed\": true}, {\"check\": \"regression: line count target\", \"actual\": [\"the type of\", \"kerning at\", \"measure ink\", \"of grid\"], \"expected\": [\"the type of\", \"kerning at\", \"measure ink\", \"of grid\"], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [\"grid serif type on on\"], \"expected\": [\"grid serif type on on\"], \"passed\": true}, {\"check\": \"partial-repair probe\", \"actual\": [\"measure\", \"measure of\", \"a on at\"], \"expected\": [\"measure\", \"measure of\", \"a on at\"], \"passed\": true}, {\"check\": \"word exactly the width\", \"actual\": [\"baseline\", \"x\"], \"expected\": [\"baseline\", \"x\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"kerning\", \"baseline\"], \"expected\": [\"kerning\", \"baseline\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"overflow\"], \"expected\": [\"overflow\"], \"passed\": true}, {\"check\": \"control layout\", \"actual\": [\"grid is\", \"kerning\", \"grid\"], \"expected\": [\"grid is\", \"kerning\", \"grid\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}