#34766 [Feature]: Auto Router v2: derive a session key from request content when `session_id` is absent
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### The Feature
## Summary
`session_affinity` and `adaptive` both depend on a resolvable `session_id`. When the client doesn't send one, both silently degrade — affinity stops pinning, and the bandit has no key to attribute reward against. Nothing errors. The router just quietly stops doing the two things you enabled it for.
Proposal: add an optional fallback chain for deriving the session key, so a missing `session_id` degrades to a best-effort key instead of to nothing.
## Current behaviour
Per the Auto Routing docs:
> `session_id` is read from request metadata; when no `session_id` is resolvable the router classifies every turn as usual.
That's the documented path for `session_affinity`. For `adaptive: true`, the docs state that feedback attributes back to the model that actually served the previous response — but with no session key there is nothing to correlate a later turn against, so reward attribution has nowhere to land.
Net effect with both flags on and no `session_id`:
| Feature | Configured | Actual behaviour | | --- | --- | --- | | `session_…