fix: merge migration queue into DID resolve path, cap resolve queue at 100K
the migration queue grew unbounded during warm-up because resolveLoop
only drained it when the DID queue was empty (which never happened with
~1000 new DIDs/sec vs ~40/sec drain rate). RSS grew ~17 MB/min.
like indigo and rsky, host validation now happens inline when resolving
a DID document — no separate migration queue. the resolve queue is
capped at 100K entries; dropped DIDs can be re-queued on future cache
misses since they're not added to the dedup set.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>