rohitg00/ai-engineering-from-scratch · error · ValueError

evaluation plan requires a non-empty cases list

Error message

evaluation plan requires a non-empty cases list

What it means

Error "evaluation plan requires a non-empty cases list" thrown in rohitg00/ai-engineering-from-scratch.

Source

Thrown at certifications/claude/lessons/30-developer-application-capstone/code/main.py:222

    issues: list[str] = []
    required = {"status": str, "answer": str, "order_id": (str, type(None)), "escalated": bool}
    for name, expected in required.items():
        if name not in value:
            issues.append(f"missing {name}")
        elif not isinstance(value[name], expected):
            issues.append(f"invalid type for {name}")
    unexpected = set(value) - set(required)
    if unexpected:
        issues.append(f"unexpected fields: {sorted(unexpected)}")
    return issues


def load_eval_plan(path: Path | str | None = None) -> dict[str, Any]:
    source = Path(path) if path is not None else DEFAULT_EVAL_PLAN
    with source.open("r", encoding="utf-8") as handle:
        plan = json.load(handle)
    if not isinstance(plan, dict) or not isinstance(plan.get("cases"), list) or not plan["cases"]:
        raise ValueError("evaluation plan requires a non-empty cases list")
    if not isinstance(plan.get("releaseGates"), dict):
        raise ValueError("evaluation plan requires releaseGates")
    return plan


def _default_agent_factory(fixture: dict[str, str]) -> Callable[[str], SupportResult]:
    return SupportAgent(ToolRegistry(fixture)).run


def _trace_tools(trace: tuple[TraceEvent, ...]) -> list[str]:
    return [
        str(event.detail["tool"])
        for event in trace
        if event.type == "tool_result" and isinstance(event.detail.get("tool"), str)
    ]


def _trace_effects(trace: tuple[TraceEvent, ...]) -> set[str]:

View on GitHub (pinned to 39ea8a1c6d)

When it happens

Trigger: Thrown at certifications/claude/lessons/30-developer-application-capstone/code/main.py:222 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26). Data as JSON: /api/errors/3e4e8194fccc66a9. Report an issue: GitHub.