nexu-io/open-design · error · SystemExit
job manifest not found: {path}
Error message
job manifest not found: {path} What it means
Raised by load_manifest in generate_pet_images.py when <run_dir>/imagegen-jobs.json does not exist on disk. The fallback generator requires a pre-existing manifest to know which jobs to (re)generate, so a missing manifest is a hard stop.
Source
Thrown at skills/hatch-pet/scripts/generate_pet_images.py:44
"review",
]
CANONICAL_BASE_PATH = "references/canonical-base.png"
def parse_states(raw: str) -> list[str]:
if raw.strip().lower() == "all":
return ALL_STATES
states = [item.strip() for item in raw.split(",") if item.strip()]
unknown = sorted(set(states) - set(ALL_STATES))
if unknown:
raise SystemExit(f"unknown state(s): {', '.join(unknown)}")
return states
def load_manifest(run_dir: Path) -> dict[str, object]:
path = run_dir / "imagegen-jobs.json"
if not path.exists():
raise SystemExit(f"job manifest not found: {path}")
return json.loads(path.read_text(encoding="utf-8"))
def manifest_jobs(manifest: dict[str, object]) -> list[dict[str, object]]:
jobs = manifest.get("jobs")
if not isinstance(jobs, list):
raise SystemExit("invalid imagegen-jobs.json: jobs must be a list")
return [job for job in jobs if isinstance(job, dict)]
def select_jobs(
manifest: dict[str, object],
*,
states: list[str],
skip_base: bool,
job_ids: list[str],
) -> list[dict[str, object]]:
selected_ids = set(job_ids)View on GitHub (pinned to 5be4028344)
Solutions
- Confirm --run-dir points at the directory containing imagegen-jobs.json.
- Run the skill's job-creation/request step first so imagegen-jobs.json is written into run_dir.
- Restore imagegen-jobs.json from git or a backup if it was deleted mid-run.
Defensive patterns
Strategy: validation
Validate before calling
manifest = run_dir / 'imagegen-jobs.json'
if not manifest.exists():
raise FileNotFoundError(f'no manifest at {manifest}; run the job-creation step first') Prevention
- Confirm --run-dir contains imagegen-jobs.json before running generate_pet_images.py.
- Create the manifest via the skill's request/job-creation step first.
- Keep manifests under version control or backed up mid-run.
When it happens
Trigger: Path(run_dir/'imagegen-jobs.json').exists() is false. Typically a wrong --run-dir or a run that was never initialized by the job-creation step.
Common situations: Passing a --run-dir that does not contain the pet run; running generate_pet_images.py before the manifest was created; the manifest file was deleted or never written by a prior failed step.
Related errors
- unknown job id(s): {', '.join(sorted(missing))}
- job manifest not found: {path}
- [last30days] Cannot read --synthesis-file: {exc}
- [CompetitorsPlan] Cannot read plan file: {exc}
- running-left mirrored output is missing: {output}
AI-assisted analysis of nexu-io/open-design@5be4028344 (2026-08-12).
Data as JSON: /api/errors/407d05605a1e15f5.
Report an issue: GitHub.