Two fixes for intermittent "sessions missing at app launch":
- loadSessions: if session.list comes back empty but the store already
has sessions populated via WS events, don't clobber. OpenCode can
answer HTTP with [] while the WS snapshot is still arriving.
- loadSessions: wrap SDK errors preserving HTTP status so retry()'s
transient detection (5xx) actually fires. String(errorObject) was
erasing the status and retry gave up after one attempt.
- retry: broaden transient 5xx window from just 502/503 to any 5xx.
OpenCode can return 500/504 while warming up (session store reading
from disk), and those deserve the same retry treatment.
- Log bootstrap empty-session retries for future diagnosis.