What would be the best option to not have unique usernames ?

I am building an app that would be using the sites framework.
This means that on site A for Company ABC, I could have users with usernames like : { "username_1", "username_2", "username_3", "username_4", ...} but also on site B for Company XYZ !
For my app, it is the combination of username & site that must be unique_together !
I created a “Profile” that is what the user will see (it is called RMUser), that holds the reference to the site.
The purpose is not to rewrite the User management mechanism as it will have important & frequest side effects on the App.
ChatGPT proposed several interestin scenarios.
One constraint, I could accept is that the username must be an e-mail. I would then be sure that usernames are “unique” …
Can you advise the best option ?

I would guess that there’s no one “best” option.

If I had to handle something like this, my first inclination would be to find the quickest & easiest way to get something working, knowing that I could perform a conversion later if necessary.

My first thought would be to make the mental and logical distinction between the “username that a person enters” and the “username being used for the authentication process.” By that I mean that I might try to physically store the username in the database as the “username that a person enters” concatenated with the site name, e.g., “username_1(siteA)” or “username_2(siteB)”.

This would require changes anywhere a username is entered (user creation and login), but is still easy enough to work with throughout the rest of the system.