1352439036
The #35314 empty-dispatch recovery cache accepts any previously resolved model string, including the advertised virtual model (hermes-agent by default) — which is never a dispatchable model. Guard both directions: never store the alias in _last_resolved_model, and never serve a cached value equal to it. The alias now survives at most one turn and cannot propagate across turns through the cache. Class bug behind #79101; complements the session-row symptom fixes (#72739, #79102).