rohitg00/ai-engineering-from-scratch · error · ValueError
mode decision needs rationale, repetition, change policy, an
Error message
mode decision needs rationale, repetition, change policy, and rejections
What it means
Error "mode decision needs rationale, repetition, change policy, and rejections" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at certifications/claude/lessons/02-model-selection-and-token-economics/code/main.py:213
if selected != best["id"]:
errors.append("selectedConfiguration must be the least costly passing mode")
decision = experiment.get("decision")
if (
not isinstance(decision, dict)
or not str(decision.get("why", "")).strip()
or not str(decision.get("repeatPolicy", "")).strip()
or not str(decision.get("changePolicy", "")).strip()
or not _nonempty_strings(decision.get("rejected"))
):
errors.append("mode decision needs rationale, repetition, change policy, and rejections")
return errors
def summarize_mode_trials(experiment: dict[str, Any]) -> dict[str, Any]:
errors = validate_mode_trials(experiment)
if errors:
raise ValueError("; ".join(errors))
selected = next(
item for item in experiment["configurations"] if item["id"] == experiment["selectedConfiguration"]
)
return {
"selectedConfiguration": selected["id"],
"settings": selected["settings"],
"minimumQuality": selected["summary"]["minimumQuality"],
"p95LatencyMs": selected["summary"]["p95LatencyMs"],
"meanCostUnits": selected["summary"]["meanCostUnits"],
"supportedConfigurations": sum(
item["support"]["status"] == "docs-supported" for item in experiment["configurations"]
),
}
def _validate_repeated_runs(configuration_id: str, runs: Any, minimum_run_count: int) -> list[str]:
if not isinstance(runs, list) or len(runs) < minimum_run_count:
return [f"{configuration_id} requires at least {minimum_run_count} repeated runs"]View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at certifications/claude/lessons/02-model-selection-and-token-economics/code/main.py:213 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/23fa99d2136027c2.
Report an issue: GitHub.