rohitg00/ai-engineering-from-scratch · error · ValueError
packet root must be an object
Error message
packet root must be an object
What it means
Error "packet root must be an object" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at certifications/claude/lessons/03-prompting-and-task-decomposition/code/main.py:72
errors.append("every evaluation case needs an expected behavior")
return errors
def score_packet(packet: dict[str, Any]) -> dict[str, Any]:
errors = validate_packet(packet)
return {
"passed": not errors,
"errors": errors,
"contractFields": len(set(packet.get("contract", {})) & CONTRACT_FIELDS) if isinstance(packet.get("contract"), dict) else 0,
"caseCoverage": sorted({case.get("type") for case in packet.get("evaluationCases", []) if isinstance(case, dict)}),
"stageCount": len(packet.get("stages", [])) if isinstance(packet.get("stages"), list) else 0,
}
def load_packet(path: Path) -> dict[str, Any]:
value = json.loads(path.read_text(encoding="utf-8"))
if not isinstance(value, dict):
raise ValueError("packet root must be an object")
return value
if __name__ == "__main__":
path = Path(__file__).parents[1] / "outputs" / "prompt-contract-packet.json"
print(json.dumps(score_packet(load_packet(path)), indent=2))
View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at certifications/claude/lessons/03-prompting-and-task-decomposition/code/main.py:72 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/a74bb67ffc23ee99.
Report an issue: GitHub.