Spaces:
Running
Running
| """Standalone runner for flow_free verification. | |
| Invoked as a subprocess by VerificationService so that the FlowFree solver | |
| (which compiles/runs a native binary, has no internal timeout, and can raise | |
| SystemExit on a missing compiler/binary) cannot hang or crash the web worker. | |
| Reads a JSON object {"problem_ascii": ..., "board_ascii": ...} on stdin and | |
| writes the verification result dict as JSON to stdout. | |
| """ | |
| from __future__ import annotations | |
| import json | |
| import sys | |
| from pathlib import Path | |
| ROOT_DIR = Path(__file__).resolve().parents[1] | |
| EVALS_SRC_DIR = ROOT_DIR / "evals" / "src" | |
| if str(EVALS_SRC_DIR) not in sys.path: | |
| sys.path.insert(0, str(EVALS_SRC_DIR)) | |
| def main() -> None: | |
| payload = json.loads(sys.stdin.read()) | |
| from evals_verifier import verify_flow_free # type: ignore | |
| result = verify_flow_free( | |
| payload.get("problem_ascii", ""), | |
| payload.get("board_ascii", ""), | |
| ) | |
| sys.stdout.write(json.dumps(result)) | |
| if __name__ == "__main__": | |
| main() | |