Failure studio
Break it on purpose: doctor, logs, stuck approvals, bad tool loops — then fix.
00of 06 sections behind you
Why this lab exists
01
Break auth
Doctor + logs
02
Stuck approval
Timeout path
03
Tool thrash
Stop + scope
04
failure-log.md
Three rows
Mastery teaches the happy path. Production is the unhappy path: wrong key, hung approval, agent looping tools, gateway silent. This lab forces three failures so doctor and logs become muscle memory — not panic search.
Safety rules
- Do this on a non-production profile if you have one.
- Never paste API keys or bot tokens into failure-log.md.
- Do not open WAN ports or disable allowlist “to reproduce.”
- Stop if you are about to run destructive shell on real data — use a throwaway folder.
Goal is observability, not bricking the host. If chat dies completely, reinstall path is mastery 03 — not this lab.
Failure A — provider / auth smoke
Steps · tap the number to check0/4
- With Hermes working, temporarily break model auth (wrong key in a throwaway env, or disable the active provider in UI). Do not commit the bad key.
- Send a one-line chat. Capture the error surface (UI message or hermes logs snippet redacted).
- Run hermes doctor (or Desktop health) if available. Note what it caught vs what it missed.
- Restore the good key. Confirm chat works. Log A in failure-log.md.
Failure B — approval stuck
Steps · tap the number to check0/4
- Set approvals to manual (or ensure a dangerous tool will prompt).
- Ask for a tool action that needs approval. Leave it unanswered for 30–60s (or until timeout if shorter).
- Note timeout / deny behavior. Approve or cancel deliberately.
- Log B: approval mode, what the UI showed, final outcome.
Failure C — tool thrash / bad path
Steps · tap the number to check0/4
- Ask the agent to write a file to a path that does not exist or is outside the allowed workspace (safe denial expected).
- If it loops retries, stop the run after 2–3 cycles. Prefer “stop / cancel” over force-kill unless hung.
- Find logs or session transcript. Redact paths if sensitive. Note how you stopped the loop.
- Log C with one sentence on how you will scope tools next time.
failure-log.md template
# failure-log.md
Date / profile: [...]
A Auth: error seen · doctor said · fix
B Approval: mode · timeout · fix
C Tool thrash: prompt · stop method · fix
Secrets: none pasted