mirror of
https://github.com/Routstr/routstrd.git
synced 2026-10-30 07:37:40 +00:00
Startup ran provider bootstrap, then immediately forced the same Nostr filters and every provider's model refresh again. Bootstrap already refreshes expired provider, review, mapping and curated-model evidence (concurrently), so the second pass paid another relay round trip plus a full provider fan-out for nothing, and left a redundant model pass running in the background. - Drop the immediate forced relay refresh. Scheduled and explicit refreshes still force network discovery. - Share one cold population pass between readers and refreshes so concurrent /models requests and startup coalesce instead of each fetching every provider. A failed pass clears, so the next request retries. - Keep a pass that started genuinely cold authoritative until it settles: the SDK now publishes providers as they land, and a partial cache must not look like a complete model list to onboarding (it would install bare stubs). - Let startup reach the SDK's per-provider TTL checks without forcing healthy providers to refetch, while ordinary readers keep serving persisted models immediately instead of waiting on the refresh. - refreshModelsAndIntegrations takes explicit options and injectable deps, so startup warms models without rewriting client configs when automatic refresh is disabled. Scheduled/manual defaults stay forced.