{"abstract":"The final words of every label disappear.","category":"Postal address normalization","checks":6,"contract":"Input [text, width, max_lines]. Words are whitespace-separated. A word longer than width first flushes the current line, then is emitted in width-sized chunks, the final remainder continuing as an ordinary word. Words join with single spaces while the line length stays <= width. Return {\"lines\": the first max_lines lines, \"overflow\": whether more than max_lines lines were needed}.","evaluation_group":"w2-postal-address-normalization-label-wrap","failed_approach":"Flushing only when the budget still has room hides the overflow caused by the last line.","family":"w2-postal-address-normalization-label-wrap-final-flush","id":"FA-96011","implementations":{"attempt":{"sha256":"9d433d61a8d1ff70f14a576539b7d6577bcfaba1936041a010ee1d5d51521bf9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    text, width, max_lines = x\n    lines, cur = [], ''\n    for w in text.split():\n        while len(w) > width:\n            if cur:\n                lines.append(cur)\n                cur = ''\n            lines.append(w[:width])\n            w = w[width:]\n        if not cur:\n            cur = w\n        elif len(cur) + 1 + len(w) <= width:\n            cur = cur + ' ' + w\n        else:\n            lines.append(cur)\n            cur = w\n    if cur and len(lines) < max_lines:\n        lines.append(cur)\n    return {'lines': lines[:max_lines], 'overflow': len(lines) > max_lines}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['exact fit including the separator', ['ATTN ZORBLE', 11, 3], {'lines': ['ATTN ZORBLE'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLET', 11, 3], {'lines': ['ATTN', 'ZORBLET'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETO', 11, 2], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETO DOCK ZORBLETON', 11, 3], {'lines': ['ATTN', 'ZORBLETO', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVAL', 11, 5], {'lines': ['SUITE', 'ZORBLETONVA', 'LEZORBLETON', 'VAL'], 'overflow': False}], ['repeated spaces collapse', ['1  FAKE   RD', 11, 2], {'lines': ['1 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLET', 12, 3], {'lines': ['ATTN ZORBLET'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETO', 12, 3], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETON', 12, 2], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETON DOCK ZORBLETONV', 12, 3], {'lines': ['ATTN', 'ZORBLETON', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZ', 12, 5], {'lines': ['SUITE', 'ZORBLETONVAL', 'EZORBLETONVA', 'LEZ'], 'overflow': False}], ['repeated spaces collapse', ['2  FAKE   RD', 12, 2], {'lines': ['2 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETO', 13, 3], {'lines': ['ATTN ZORBLETO'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETON', 13, 3], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONV', 13, 2], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONV DOCK ZORBLETONVA', 13, 3], {'lines': ['ATTN', 'ZORBLETONV', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZOR', 13, 5], {'lines': ['SUITE', 'ZORBLETONVALE', 'ZORBLETONVALE', 'ZOR'], 'overflow': False}], ['repeated spaces collapse', ['3  FAKE   RD', 13, 2], {'lines': ['3 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETON', 14, 3], {'lines': ['ATTN ZORBLETON'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONV', 14, 3], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVA', 14, 2], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVA DOCK ZORBLETONVAL', 14, 3], {'lines': ['ATTN', 'ZORBLETONVA', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBL', 14, 5], {'lines': ['SUITE', 'ZORBLETONVALEZ', 'ORBLETONVALEZO', 'RBL'], 'overflow': False}], ['repeated spaces collapse', ['4  FAKE   RD', 14, 2], {'lines': ['4 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETONV', 15, 3], {'lines': ['ATTN ZORBLETONV'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONVA', 15, 3], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVAL', 15, 2], {'lines': ['ATTN', 'ZORBLETONVAL'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVAL DOCK ZORBLETONVALE', 15, 3], {'lines': ['ATTN', 'ZORBLETONVAL', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBLET', 15, 5], {'lines': ['SUITE', 'ZORBLETONVALEZO', 'RBLETONVALEZORB', 'LET'], 'overflow': False}], ['repeated spaces collapse', ['5  FAKE   RD', 15, 2], {'lines': ['5 FAKE RD'], 'overflow': False}]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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":"6dfadaa262e3963ee7cf74dbbbb8c1751086b9ae55307453f0d30bb36c15c03c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    text, width, max_lines = x\n    lines, cur = [], ''\n    for w in text.split():\n        while len(w) > width:\n            if cur:\n                lines.append(cur)\n                cur = ''\n            lines.append(w[:width])\n            w = w[width:]\n        if not cur:\n            cur = w\n        elif len(cur) + 1 + len(w) <= width:\n            cur = cur + ' ' + w\n        else:\n            lines.append(cur)\n            cur = w\n    return {'lines': lines[:max_lines], 'overflow': len(lines) > max_lines}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['exact fit including the separator', ['ATTN ZORBLE', 11, 3], {'lines': ['ATTN ZORBLE'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLET', 11, 3], {'lines': ['ATTN', 'ZORBLET'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETO', 11, 2], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETO DOCK ZORBLETON', 11, 3], {'lines': ['ATTN', 'ZORBLETO', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVAL', 11, 5], {'lines': ['SUITE', 'ZORBLETONVA', 'LEZORBLETON', 'VAL'], 'overflow': False}], ['repeated spaces collapse', ['1  FAKE   RD', 11, 2], {'lines': ['1 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLET', 12, 3], {'lines': ['ATTN ZORBLET'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETO', 12, 3], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETON', 12, 2], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETON DOCK ZORBLETONV', 12, 3], {'lines': ['ATTN', 'ZORBLETON', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZ', 12, 5], {'lines': ['SUITE', 'ZORBLETONVAL', 'EZORBLETONVA', 'LEZ'], 'overflow': False}], ['repeated spaces collapse', ['2  FAKE   RD', 12, 2], {'lines': ['2 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETO', 13, 3], {'lines': ['ATTN ZORBLETO'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETON', 13, 3], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONV', 13, 2], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONV DOCK ZORBLETONVA', 13, 3], {'lines': ['ATTN', 'ZORBLETONV', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZOR', 13, 5], {'lines': ['SUITE', 'ZORBLETONVALE', 'ZORBLETONVALE', 'ZOR'], 'overflow': False}], ['repeated spaces collapse', ['3  FAKE   RD', 13, 2], {'lines': ['3 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETON', 14, 3], {'lines': ['ATTN ZORBLETON'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONV', 14, 3], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVA', 14, 2], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVA DOCK ZORBLETONVAL', 14, 3], {'lines': ['ATTN', 'ZORBLETONVA', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBL', 14, 5], {'lines': ['SUITE', 'ZORBLETONVALEZ', 'ORBLETONVALEZO', 'RBL'], 'overflow': False}], ['repeated spaces collapse', ['4  FAKE   RD', 14, 2], {'lines': ['4 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETONV', 15, 3], {'lines': ['ATTN ZORBLETONV'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONVA', 15, 3], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVAL', 15, 2], {'lines': ['ATTN', 'ZORBLETONVAL'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVAL DOCK ZORBLETONVALE', 15, 3], {'lines': ['ATTN', 'ZORBLETONVAL', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBLET', 15, 5], {'lines': ['SUITE', 'ZORBLETONVALEZO', 'RBLETONVALEZORB', 'LET'], 'overflow': False}], ['repeated spaces collapse', ['5  FAKE   RD', 15, 2], {'lines': ['5 FAKE RD'], 'overflow': False}]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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":"00140be3251941f06c3f328e5c46e4293f1547ba400ffaed34e27ba530d10916","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    text, width, max_lines = x\n    lines, cur = [], ''\n    for w in text.split():\n        while len(w) > width:\n            if cur:\n                lines.append(cur)\n                cur = ''\n            lines.append(w[:width])\n            w = w[width:]\n        if not cur:\n            cur = w\n        elif len(cur) + 1 + len(w) <= width:\n            cur = cur + ' ' + w\n        else:\n            lines.append(cur)\n            cur = w\n    if cur:\n        lines.append(cur)\n    return {'lines': lines[:max_lines], 'overflow': len(lines) > max_lines}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['exact fit including the separator', ['ATTN ZORBLE', 11, 3], {'lines': ['ATTN ZORBLE'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLET', 11, 3], {'lines': ['ATTN', 'ZORBLET'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETO', 11, 2], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETO DOCK ZORBLETON', 11, 3], {'lines': ['ATTN', 'ZORBLETO', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVAL', 11, 5], {'lines': ['SUITE', 'ZORBLETONVA', 'LEZORBLETON', 'VAL'], 'overflow': False}], ['repeated spaces collapse', ['1  FAKE   RD', 11, 2], {'lines': ['1 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLET', 12, 3], {'lines': ['ATTN ZORBLET'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETO', 12, 3], {'lines': ['ATTN', 'ZORBLETO'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETON', 12, 2], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETON DOCK ZORBLETONV', 12, 3], {'lines': ['ATTN', 'ZORBLETON', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZ', 12, 5], {'lines': ['SUITE', 'ZORBLETONVAL', 'EZORBLETONVA', 'LEZ'], 'overflow': False}], ['repeated spaces collapse', ['2  FAKE   RD', 12, 2], {'lines': ['2 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETO', 13, 3], {'lines': ['ATTN ZORBLETO'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETON', 13, 3], {'lines': ['ATTN', 'ZORBLETON'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONV', 13, 2], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONV DOCK ZORBLETONVA', 13, 3], {'lines': ['ATTN', 'ZORBLETONV', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZOR', 13, 5], {'lines': ['SUITE', 'ZORBLETONVALE', 'ZORBLETONVALE', 'ZOR'], 'overflow': False}], ['repeated spaces collapse', ['3  FAKE   RD', 13, 2], {'lines': ['3 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETON', 14, 3], {'lines': ['ATTN ZORBLETON'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONV', 14, 3], {'lines': ['ATTN', 'ZORBLETONV'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVA', 14, 2], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVA DOCK ZORBLETONVAL', 14, 3], {'lines': ['ATTN', 'ZORBLETONVA', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBL', 14, 5], {'lines': ['SUITE', 'ZORBLETONVALEZ', 'ORBLETONVALEZO', 'RBL'], 'overflow': False}], ['repeated spaces collapse', ['4  FAKE   RD', 14, 2], {'lines': ['4 FAKE RD'], 'overflow': False}]], [['exact fit including the separator', ['ATTN ZORBLETONV', 15, 3], {'lines': ['ATTN ZORBLETONV'], 'overflow': False}], ['one character over once the separator counts', ['ATTN ZORBLETONVA', 15, 3], {'lines': ['ATTN', 'ZORBLETONVA'], 'overflow': False}], ['exactly the line budget', ['ATTN ZORBLETONVAL', 15, 2], {'lines': ['ATTN', 'ZORBLETONVAL'], 'overflow': False}], ['more lines than the budget', ['ATTN ZORBLETONVAL DOCK ZORBLETONVALE', 15, 3], {'lines': ['ATTN', 'ZORBLETONVAL', 'DOCK'], 'overflow': True}], ['overlong word after a short word', ['SUITE ZORBLETONVALEZORBLETONVALEZORBLET', 15, 5], {'lines': ['SUITE', 'ZORBLETONVALEZO', 'RBLETONVALEZORB', 'LET'], 'overflow': False}], ['repeated spaces collapse', ['5  FAKE   RD', 15, 2], {'lines': ['5 FAKE RD'], 'overflow': False}]]]\nfor label, arg, expected in fixtures[N - 1]:\n    check(label, solve(arg), 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 over synthetic, obviously fictitious addresses. The rules are stipulated for this model only and make no claim of conformance with any postal authority standard. 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-postal-address-normalization-label-wrap-final-flush","generated_at":"2026-09-29T14:52:18.841024+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Label printers and carrier manifests cap line length and line count; an off-by-one silently truncates part of the address.","repair":"Append the pending line after the loop whenever it is non-empty.","root_cause":"The pending line is not appended after the loop.","sha256":"b8334723c0d89be52f51e257fe2e750291ca582420010171fc9a4c88e4634c2e","title":"Address label line wrapper: the last line is never emitted · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":38.187,"exit_code":1,"observations":[{"actual":{"lines":["ATTN ZORBLE"],"overflow":false},"check":"exact fit including the separator","expected":{"lines":["ATTN ZORBLE"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLET"],"overflow":false},"check":"one character over once the separator counts","expected":{"lines":["ATTN","ZORBLET"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLETO"],"overflow":false},"check":"exactly the line budget","expected":{"lines":["ATTN","ZORBLETO"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":false},"check":"more lines than the budget","expected":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":true},"passed":false},{"actual":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON","VAL"],"overflow":false},"check":"overlong word after a short word","expected":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON","VAL"],"overflow":false},"passed":true},{"actual":{"lines":["1 FAKE RD"],"overflow":false},"check":"repeated spaces collapse","expected":{"lines":["1 FAKE RD"],"overflow":false},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"exact fit including the separator\", \"actual\": {\"lines\": [\"ATTN ZORBLE\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN ZORBLE\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"one character over once the separator counts\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLET\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLET\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"exactly the line budget\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLETO\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"more lines than the budget\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": true}, \"passed\": false}, {\"check\": \"overlong word after a short word\", \"actual\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\", \"VAL\"], \"overflow\": false}, \"expected\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\", \"VAL\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"repeated spaces collapse\", \"actual\": {\"lines\": [\"1 FAKE RD\"], \"overflow\": false}, \"expected\": {\"lines\": [\"1 FAKE RD\"], \"overflow\": false}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.158,"exit_code":1,"observations":[{"actual":{"lines":[],"overflow":false},"check":"exact fit including the separator","expected":{"lines":["ATTN ZORBLE"],"overflow":false},"passed":false},{"actual":{"lines":["ATTN"],"overflow":false},"check":"one character over once the separator counts","expected":{"lines":["ATTN","ZORBLET"],"overflow":false},"passed":false},{"actual":{"lines":["ATTN"],"overflow":false},"check":"exactly the line budget","expected":{"lines":["ATTN","ZORBLETO"],"overflow":false},"passed":false},{"actual":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":false},"check":"more lines than the budget","expected":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":true},"passed":false},{"actual":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON"],"overflow":false},"check":"overlong word after a short word","expected":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON","VAL"],"overflow":false},"passed":false},{"actual":{"lines":[],"overflow":false},"check":"repeated spaces collapse","expected":{"lines":["1 FAKE RD"],"overflow":false},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"exact fit including the separator\", \"actual\": {\"lines\": [], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN ZORBLE\"], \"overflow\": false}, \"passed\": false}, {\"check\": \"one character over once the separator counts\", \"actual\": {\"lines\": [\"ATTN\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLET\"], \"overflow\": false}, \"passed\": false}, {\"check\": \"exactly the line budget\", \"actual\": {\"lines\": [\"ATTN\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\"], \"overflow\": false}, \"passed\": false}, {\"check\": \"more lines than the budget\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": true}, \"passed\": false}, {\"check\": \"overlong word after a short word\", \"actual\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\"], \"overflow\": false}, \"expected\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\", \"VAL\"], \"overflow\": false}, \"passed\": false}, {\"check\": \"repeated spaces collapse\", \"actual\": {\"lines\": [], \"overflow\": false}, \"expected\": {\"lines\": [\"1 FAKE RD\"], \"overflow\": false}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.185,"exit_code":0,"observations":[{"actual":{"lines":["ATTN ZORBLE"],"overflow":false},"check":"exact fit including the separator","expected":{"lines":["ATTN ZORBLE"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLET"],"overflow":false},"check":"one character over once the separator counts","expected":{"lines":["ATTN","ZORBLET"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLETO"],"overflow":false},"check":"exactly the line budget","expected":{"lines":["ATTN","ZORBLETO"],"overflow":false},"passed":true},{"actual":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":true},"check":"more lines than the budget","expected":{"lines":["ATTN","ZORBLETO","DOCK"],"overflow":true},"passed":true},{"actual":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON","VAL"],"overflow":false},"check":"overlong word after a short word","expected":{"lines":["SUITE","ZORBLETONVA","LEZORBLETON","VAL"],"overflow":false},"passed":true},{"actual":{"lines":["1 FAKE RD"],"overflow":false},"check":"repeated spaces collapse","expected":{"lines":["1 FAKE RD"],"overflow":false},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"exact fit including the separator\", \"actual\": {\"lines\": [\"ATTN ZORBLE\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN ZORBLE\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"one character over once the separator counts\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLET\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLET\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"exactly the line budget\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLETO\"], \"overflow\": false}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"more lines than the budget\", \"actual\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": true}, \"expected\": {\"lines\": [\"ATTN\", \"ZORBLETO\", \"DOCK\"], \"overflow\": true}, \"passed\": true}, {\"check\": \"overlong word after a short word\", \"actual\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\", \"VAL\"], \"overflow\": false}, \"expected\": {\"lines\": [\"SUITE\", \"ZORBLETONVA\", \"LEZORBLETON\", \"VAL\"], \"overflow\": false}, \"passed\": true}, {\"check\": \"repeated spaces collapse\", \"actual\": {\"lines\": [\"1 FAKE RD\"], \"overflow\": false}, \"expected\": {\"lines\": [\"1 FAKE RD\"], \"overflow\": false}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}