If it only switches when cache is cold, it seems like it'd lock in one model for the whole session?
What use case are you imagining where cache eviction would happen during it? It might also be the case that a task might seem easy but then it ends up becoming hard for certain parts. For spawning subagents I could see this being useful maybe.