{"abstract":"CRLF input leaves stray carriage returns, while a cleanup step merges records separated by CR alone.","category":"Parsing","checks":8,"contract":"Split records on CRLF, CR, or LF only. Preserve empty records between separators, omit one final terminator-created empty element, and map empty input to []. Unicode line-separator characters are ordinary content.","contract_signature":"text","evaluation_group":"model-3bab199ab9bfea98","failed_approach":"Deleting all carriage returns fixes CRLF fixtures but erases lone-CR record boundaries.","family":"parse-record-line-endings","id":"FA-206","implementations":{"attempt":{"sha256":"0d3b59a3f859d096cd9d816f3f88e9ad14fab97deb86839ad3cf0917e783a17e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport re\nN = 1\nobservations = []\ndef solve(text):\n    text = text.replace('\\r', '')\n    if not text:\n        return []\n    fields = text.split('\\n')\n    return fields[:-1] if text.endswith('\\n') else fields\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nlabel = 'record' * N\ncheck('CRLF is one separator', solve(label + '\\r\\nend\\r\\n'), [label, 'end'])\ncheck('lone CR remains a boundary', solve(label + '\\rend\\r'), [label, 'end'])\ncheck('LF records', solve(label + '\\nend\\n'), [label, 'end'])\ncheck('mixed blank records', solve(label + '\\r\\n\\r\\nend'), [label, '', 'end'])\ncheck('Unicode separator is not a record boundary', solve(label + '\\u2028end'), [label + '\\u2028end'])\ncheck('empty document', solve(''), [])\ncheck('one empty record', solve('\\r'), [''])\ncheck('two terminators preserve one blank record', solve(label + '\\n\\n'), [label, ''])\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":"ec437ce9dc41d0915adff5b0ab1571e8cfedbdcd4b9aacfa00202aed62bf5099","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport re\nN = 1\nobservations = []\ndef solve(text):\n    if not text:\n        return []\n    fields = text.split('\\n')\n    return fields[:-1] if text.endswith('\\n') else fields\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nlabel = 'record' * N\ncheck('CRLF is one separator', solve(label + '\\r\\nend\\r\\n'), [label, 'end'])\ncheck('lone CR remains a boundary', solve(label + '\\rend\\r'), [label, 'end'])\ncheck('LF records', solve(label + '\\nend\\n'), [label, 'end'])\ncheck('mixed blank records', solve(label + '\\r\\n\\r\\nend'), [label, '', 'end'])\ncheck('Unicode separator is not a record boundary', solve(label + '\\u2028end'), [label + '\\u2028end'])\ncheck('empty document', solve(''), [])\ncheck('one empty record', solve('\\r'), [''])\ncheck('two terminators preserve one blank record', solve(label + '\\n\\n'), [label, ''])\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":" 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":"parse-record-line-endings","generated_at":"2026-09-29T14:36:51.079215+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Cross-platform text imports encounter several newline conventions. Blind normalization can lose records or unexpectedly split Unicode content.","root_cause":"The parser treats line endings as removable characters instead of alternative record separators.","sha256":"313e321fe0188f45a7371fd0f38328063c83b77c8ce0d2ab8bffa86bbf09c5d1","title":"Removing carriage returns joins separate records · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":32.27,"exit_code":1,"observations":[{"actual":["record","end"],"check":"CRLF is one separator","expected":["record","end"],"passed":true},{"actual":["recordend"],"check":"lone CR remains a boundary","expected":["record","end"],"passed":false},{"actual":["record","end"],"check":"LF records","expected":["record","end"],"passed":true},{"actual":["record","","end"],"check":"mixed blank records","expected":["record","","end"],"passed":true},{"actual":["record end"],"check":"Unicode separator is not a record boundary","expected":["record end"],"passed":true},{"actual":[],"check":"empty document","expected":[],"passed":true},{"actual":[],"check":"one empty record","expected":[""],"passed":false},{"actual":["record",""],"check":"two terminators preserve one blank record","expected":["record",""],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"CRLF is one separator\", \"actual\": [\"record\", \"end\"], \"expected\": [\"record\", \"end\"], \"passed\": true}, {\"check\": \"lone CR remains a boundary\", \"actual\": [\"recordend\"], \"expected\": [\"record\", \"end\"], \"passed\": false}, {\"check\": \"LF records\", \"actual\": [\"record\", \"end\"], \"expected\": [\"record\", \"end\"], \"passed\": true}, {\"check\": \"mixed blank records\", \"actual\": [\"record\", \"\", \"end\"], \"expected\": [\"record\", \"\", \"end\"], \"passed\": true}, {\"check\": \"Unicode separator is not a record boundary\", \"actual\": [\"record end\"], \"expected\": [\"record end\"], \"passed\": true}, {\"check\": \"empty document\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"one empty record\", \"actual\": [], \"expected\": [\"\"], \"passed\": false}, {\"check\": \"two terminators preserve one blank record\", \"actual\": [\"record\", \"\"], \"expected\": [\"record\", \"\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":30.348,"exit_code":1,"observations":[{"actual":["record\r","end\r"],"check":"CRLF is one separator","expected":["record","end"],"passed":false},{"actual":["record\rend\r"],"check":"lone CR remains a boundary","expected":["record","end"],"passed":false},{"actual":["record","end"],"check":"LF records","expected":["record","end"],"passed":true},{"actual":["record\r","\r","end"],"check":"mixed blank records","expected":["record","","end"],"passed":false},{"actual":["record end"],"check":"Unicode separator is not a record boundary","expected":["record end"],"passed":true},{"actual":[],"check":"empty document","expected":[],"passed":true},{"actual":["\r"],"check":"one empty record","expected":[""],"passed":false},{"actual":["record",""],"check":"two terminators preserve one blank record","expected":["record",""],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"CRLF is one separator\", \"actual\": [\"record\\r\", \"end\\r\"], \"expected\": [\"record\", \"end\"], \"passed\": false}, {\"check\": \"lone CR remains a boundary\", \"actual\": [\"record\\rend\\r\"], \"expected\": [\"record\", \"end\"], \"passed\": false}, {\"check\": \"LF records\", \"actual\": [\"record\", \"end\"], \"expected\": [\"record\", \"end\"], \"passed\": true}, {\"check\": \"mixed blank records\", \"actual\": [\"record\\r\", \"\\r\", \"end\"], \"expected\": [\"record\", \"\", \"end\"], \"passed\": false}, {\"check\": \"Unicode separator is not a record boundary\", \"actual\": [\"record end\"], \"expected\": [\"record end\"], \"passed\": true}, {\"check\": \"empty document\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"one empty record\", \"actual\": [\"\\r\"], \"expected\": [\"\"], \"passed\": false}, {\"check\": \"two terminators preserve one blank record\", \"actual\": [\"record\", \"\"], \"expected\": [\"record\", \"\"], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}