NousResearch/hermes-agent · error · GenerationError

base image not found: {base}

Error message

base image not found: {base}

What it means

Error "base image not found: {base}" thrown in NousResearch/hermes-agent.

Source

Thrown at agent/pet/generate/orchestrate.py:221

    style: str = "auto",
    on_progress: ProgressFn | None = None,
    provider: SpriteProvider | None = None,
    is_cancelled: Callable[[], bool] | None = None,
) -> HatchResult:
    """Turn an approved base image into a full, installed Hermes pet.

    Generates a grounded row strip per state, extracts frames, composes +
    validates the atlas, and registers it. The idle row falls back to the base
    look so the pet always renders. Raises :class:`GenerationError` on failure.

    *is_cancelled*, when supplied, is polled cooperatively: rows that haven't
    started are skipped, queued rows are cancelled, and once every row is done we
    abort (raising :class:`GenerationError`) before composing/saving so a stopped
    hatch never writes a half-built pet.
    """
    base = Path(base_image)
    if not base.is_file():
        raise GenerationError(f"base image not found: {base}")

    sprite = provider or imagegen.resolve_provider(require_references=True)
    progress = on_progress or (lambda *_: None)
    cancelled = is_cancelled or (lambda: False)
    label = concept or display_name or slug

    frames_by_state: dict[str, list] = {}
    total_rows = len(atlas.ROW_SPECS)
    logger.info("pet hatch %r: generating %d animation rows", slug, total_rows)

    # Generate every state's row strip concurrently — they're independent
    # grounded calls, so the hatch waits for the slowest row, not their sum. A
    # single row failing is tolerated (idle is guaranteed below).
    def _gen_row(spec: tuple[str, int, int]) -> tuple[str, list | None]:
        state, _row, count = spec
        if cancelled():
            return state, None
        t0 = time.monotonic()

View on GitHub (pinned to c896c09c42)

Solutions

  1. Restore or regenerate the base image at the expected path.
  2. Verify the generation pipeline wrote the base image before composing.

When it happens

Trigger: Thrown at agent/pet/generate/orchestrate.py:221 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/79dccdddfdae3bf3. Report an issue: GitHub.