"\x00" in script_path raises TypeError when a caller passes a non-str (e.g. a pathlib.Path, which is not iterable) — the guard itself would crash the scheduler. All current call sites pass plain str, but the guard must be crash-proof: str() first, then check. Adds a regression test running a real script through _run_job_script with a Path argument, which fails with TypeError on the pre-fix guard.