Syntax-check (Python only), then write via safety layer.
(fname, code)
| 550 | _CODE_EXTS = ('.py', '.js', '.ts', '.html', '.css', '.json') |
| 551 | |
| 552 | def _safe_write(fname, code): |
| 553 | """Syntax-check (Python only), then write via safety layer.""" |
| 554 | if fname.endswith('.py'): |
| 555 | try: |
| 556 | from core.linter import check_syntax |
| 557 | if check_syntax(code.rstrip(), fname): |
| 558 | return False # syntax error — skip |
| 559 | except Exception: |
| 560 | pass |
| 561 | fpath = os.path.join(os.getcwd(), fname) |
| 562 | result = tool_write_file(fpath, code.rstrip() + '\n') |
| 563 | if result.startswith("[ERROR]") or result.startswith("[CANCELLED]"): |
| 564 | warning(f"Failed to write {fname} from peer: {result}") |
| 565 | return False |
| 566 | files_written.append(fname) |
| 567 | success(f"Written {fname} from peer review ({len(code)} chars)") |
| 568 | return True |
| 569 | |
| 570 | # ── Primary: filename header immediately before a fenced code block ────── |
| 571 | _block_re = re.compile( |
no test coverage detected