This is a short summary of the Connectivity Relations Proposal. Please read that page before reading this one, since there are many points that this summary doesn't address.
This proposal proposes a simple new relation that should include a from, via, and to member. The new relation type will allow for specifying how the lanes in the from highway connect to those in the to highway at the via node.
The syntax for the tag connectivity=* looks like this:
Each statement inside this value (separated by | characters) represents a single lane in the from member. For example, 1:1 contains information about lane 1 in from.
Each statement lists the lanes in the to member that can be accessed by the from member after the colon. In this example, 1:1, lane 1 in from (leftmost) can access lane 1 in to (also leftmost).
If the connectivity requires leaving what would be considered the default path to follow, parentheses should be used around the value of the to lane. For example, in the statement 3:4,(5), lane 3 connects directly to lane 4, but also to lane 5 if the leaves the default lane 4.
Existing methods of mapping lanes are excellent for adding lane information to individual ways in OSM, but there is still no approved way to connect that valuable data between ways. Without a new way of connecting lanes between ways in OpenStreetMap, it won't be possible to provide accurate and useful lane navigation in complex situations like this one, where current lane assist isn't very useful.