I’d rather have explicit handles I can audit than session state hidden in a connection. That’s the better architecture and I’d have voted for it.

But there’s a difference between state you can see and state you can trust.

This release solved the first problem by introducing the second.

Which leaves the question I can’t stop thinking about.

If the identifier is now carried by the model, what exactly is the boundary that decides whether it should have been trusted in the first place?

That’s no longer a transport question.

It’s an identity question, and the answer isn’t in this specification.