When VS Code sends messages that don't prefix-match any existing session, we currently create a new session and replay all messages. This can happen when:
- The client restores a previous conversation
- History was edited or truncated
We should handle this more elegantly, possibly by:
- Detecting this case and initializing the session with the full history context
- Allowing the agent to "catch up" without re-processing everything