diff --git a/evals/evolve.py b/evals/evolve.py index ea8c650..f773783 100644 --- a/evals/evolve.py +++ b/evals/evolve.py @@ -77,7 +77,11 @@ def find_latest_persona() -> tuple[int, PersonaSpec]: if match: versions.append((int(match.group(1)), path)) if not versions: - raise FileNotFoundError("No persona.vN.md artifacts found.") + raise FileNotFoundError( + f"No persona.vN.md artifacts found in {ARTIFACTS_DIR}. " + f"Seed persona.v1.md in that directory before running evolve, " + f"or override the location via ARTIFACTS_DIR before launching." + ) versions.sort(key=lambda x: x[0]) n, path = versions[-1] text = path.read_text(encoding="utf-8") diff --git a/evals/evolve_persona.py b/evals/evolve_persona.py index b630aef..4a691b3 100644 --- a/evals/evolve_persona.py +++ b/evals/evolve_persona.py @@ -115,7 +115,11 @@ def find_latest_persona() -> tuple[int, PersonaSpec]: if match: versions.append((int(match.group(1)), path)) if not versions: - raise FileNotFoundError("No persona.vN.md artifacts found.") + raise FileNotFoundError( + f"No persona.vN.md artifacts found in {ARTIFACTS_DIR}. " + f"Seed persona.v1.md in that directory before running evolve_persona, " + f"or override the location via ARTIFACTS_DIR before launching." + ) versions.sort(key=lambda x: x[0]) n, path = versions[-1] text = path.read_text(encoding="utf-8") diff --git a/src/spark_character/codex_provider.py b/src/spark_character/codex_provider.py index 99dab9b..406bd64 100644 --- a/src/spark_character/codex_provider.py +++ b/src/spark_character/codex_provider.py @@ -85,7 +85,10 @@ def call_codex( stderr = result.stderr.decode("utf-8", errors="replace") if result.stderr else "" raise RuntimeError(f"codex exec failed (rc={result.returncode}): {stderr.strip()[:300]}") if not out_path.exists(): - raise RuntimeError("codex exec did not write the expected output file.") + raise RuntimeError( + f"codex exec did not write the expected output file at {out_path}. " + f"Check codex binary version, sandbox/policy settings, or rerun with --debug to inspect the exec." + ) text = out_path.read_text(encoding="utf-8", errors="replace").strip() return text diff --git a/src/spark_character/persona.py b/src/spark_character/persona.py index dcc674a..1a37167 100644 --- a/src/spark_character/persona.py +++ b/src/spark_character/persona.py @@ -78,7 +78,9 @@ def detect_provider_kind(provider) -> str | None: def validate_persona_version(version: str) -> str: value = str(version or "").strip() if not PERSONA_VERSION_PATTERN.fullmatch(value): - raise ValueError("Persona version must match vN, for example v8.") + raise ValueError( + f"Persona version must match vN (for example v8); got {value!r}." + ) return value