rohitg00/ai-engineering-from-scratch · error · ValueError
unknown event type: {etype}
Error message
unknown event type: {etype} What it means
Error "unknown event type: {etype}" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/20-agent-harness-loop-contract/code/main.py:182
self._goal: str = ""
self._plan: list[Step] = []
self._cursor: int = 0
self._events: list[Event] = []
self._history: list[Step] = []
self._reason: str = ""
self._prev_state: State | None = None
@property
def events(self) -> list[Event]:
return list(self._events)
@property
def plan(self) -> list[Step]:
return list(self._plan)
def _emit(self, etype: str, payload: dict) -> None:
if etype not in EVENT_TYPES:
raise ValueError(f"unknown event type: {etype}")
self._events.append(Event(type=etype, payload=payload, ts=time.time()))
def _transition(self, target: State) -> None:
legal: dict[State, set[State]] = {
State.IDLE: {State.PLANNING},
State.PLANNING: {State.EXECUTING, State.IDLE, State.DONE},
State.EXECUTING: {State.AWAITING_TOOL, State.REFLECTING, State.IDLE},
State.AWAITING_TOOL: {State.REFLECTING, State.IDLE},
State.REFLECTING: {State.PLANNING, State.EXECUTING, State.DONE, State.IDLE},
State.DONE: set(),
}
if target not in legal[self.state]:
raise RuntimeError(f"illegal transition {self.state.value} -> {target.value}")
self.state = target
def _check_budget(self) -> PullRequest | None:
which = self.budget.exceeded()
if which is None:View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/20-agent-harness-loop-contract/code/main.py:182 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/a7c1225aa670addf.
Report an issue: GitHub.