The v4 link protocol requires the initiator to set the most significant bit
To prevent CircID collisions, when one node sends a CREATE cell to another, it chooses from only one half of the possible values based on the ORs' public identity keys. In link protocol version 3 or lower, if the sending node has a lower key, it chooses a CircID with an MSB of 0; otherwise, it chooses a CircID with an MSB of 1. (Public keys are compared numerically by modulus.) In link protocol version 4 or higher, whichever node initiated the connection sets its MSB to 1, and whichever node didn't initiate the connection sets its MSB to 0. (An OP with no public key MAY choose any CircID it wishes, since an OP never needs to process a CREATE cell.)
But this last sentence is only true for v3. For v4, if the most significant bit is not set by a client, relays close the connection with a message like:
Jul 11 20:20:18.000 [info] command_process_create_cell: Received create cell with unexpected circ_id 2147483647. Closing.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information