Normalize CRLF/CR newlines to LF This makes diff parsing deterministic because OpenEvolve diff regexes use '\n'
(text: str)
| 105 | |
| 106 | |
| 107 | def _normalize_newlines(text: str) -> str: |
| 108 | """ |
| 109 | Normalize CRLF/CR newlines to LF |
| 110 | |
| 111 | This makes diff parsing deterministic because OpenEvolve diff regexes use '\n' |
| 112 | """ |
| 113 | return text.replace("\r\n", "\n").replace("\r", "\n").rstrip() |
| 114 | |
| 115 | |
| 116 | def _write_answer(qdir: Path, task_id: str, answer_text: str) -> None: |