docs/STATES.md lists each handoff route and the added Settings screens
with its empty, loading and error state, all built on Skeleton,
ErrorBanner and EmptyState. web/src/states.test.tsx renders the three
variants of every route against a stubbed API, asserting the copy and
pressing Retry.
Task: 322a15db-b2ad-46f4-a2ba-cb3745dd0aff
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>