When a run fails, the Maintenance Agent wakes up, labels the failure, and triggers the right recovery path - notify, auto‑repair, or retry. The classifier uses the matrix below.

Error‑classification matrix

CategorySub‑categoryDescription
User ErrorPAGE_NOT_FOUNDURL returns 404; usually bad ID/slug
AUTHENTICATION_ERRORWrong or expired credentials, unexpected 2FA, captcha, password reset
INCORRECT_FORM_INPUTSProvided value empty, invalid, or fails validation
PASSWORD_UPDATE_REQUIREDSite forces password change before further access
ACCOUNT_UPDATE_REQUIREDSite demands profile update or new T&C acceptance
ADDITIONAL_USER_INPUT_REQUIREDUnexpected gating modal that truly blocks progress
MULTIPLE_MATCHING_RESULTS_FOUNDAmbiguous search results require human or AI disambiguation
ACTION_BLOCKED_BY_PLATFORMPlatform rejects duplicate or forbidden action
Workflow ErrorACTION_PERFORMED_TOO_EARLYClicked before element was fully loaded
UNEXPECTED_POPUPOptional modal (survey, promo, cookie banner) appeared
UNEXPECTED_UI_STATELayout/state differs (already logged in, collapsed sidebar)
XPATH_INCORRECTSelector matches 0 or >1 elements
External ErrorSERVICE_UNAVAILABLEUpstream system down or non‑responsive

Recovery playbook

ClassificationAction
User ErrorSurface a dashboard alert + notification; ask the user to correct data or credentials.
Workflow ErrorAuto‑patch the graph: update selectors or insert waits.
External ErrorSchedule exponential back‑off retries; no graph change.
The result is high run success without burning compute on real‑time reasoning - most fixes are either user‑driven or one‑shot graph patches rather than repeated LLM calls.