A user on Upload got a white page while the engine's proxy answered
many requests with nginx's rate-limit 503.
- Pages render inside an error boundary, so a crash shows a message
with Try again and Reload instead of unmounting the whole app.
- A 503 or 429 without the engine's JSON reads "The engine is busy",
and queries wait 5s, then 10s, before asking again instead of 1s.
- Upload asks for knowledge details two at a time and reuses them
until the document's knowledge status changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>