517bb6d
Restore the session model when Pi loses the availability race.
Pi decides the session model during createAgentSession by requiring both the catalog entry and hasConfiguredAuth(). The catalog is restored synchronously from the model store, but the configured-provider snapshot is filled in by an asynchronous availability refresh, so a session recorded on explabs can fall back to the default model with "Could not restore model explabs/<slug>". Other extensions doing startup work widen that window; with the packages installed here it reproduced 4/16. On session_start, recover the provider/model recorded on the branch and, when Pi did not select it, wait bounded for the provider to become available again before re-selecting it. A provider-scoped offline refresh rebuilds the snapshot without fetching the catalog. Sessions on other providers, sessions whose slug left the catalog, and sessions Pi already restored are left untouched so its own fallback still applies.