EsiClient now caches GET responses honoring the Expires header and backs off when the rolling ESI error window is nearly exhausted (X-Esi-Error-Limit-*). README gains Setup / Connect-to-Claude / enabling-writes sections. Closes #16. SDE bulk-load split out to its own follow-up (#51). 135 tests, coverage 90%. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>