I see, thanks for the context.
The easiest unblock for now then is to ensure that the session ID is globally unique. How are those session IDs being generated now?
We have an assumption in our data model that a session belongs to exactly one project, which is the project associated with the first trace of the session that Phoenix receives. We assumed when building this feature that session IDs would contain a random element to them (so collisions are unlikely) and that users would typically send the traces from the same session to a single project.
https://github.com/Arize-ai/phoenix/blob/main/src/phoenix/db/README.md#core-tracing--projects