Guide

Names

The part before the dot says what kind of thing the TNID identifies. Pick one short, obvious name per entity type and never rename it.

Rules

RuleValidInvalid
1 to 4 charactersx, org, userusers
a–z and 0–4 onlya1b2User, a-b, v5

An invalid name fails to compile when written in code, and is rejected at runtime when parsed. The small alphabet keeps the name to 20 bits: Name encoding.

Choosing names

  • One per entity type: every user's TNID has the name user. No tenant, environment or other data.
  • Obvious: user, org, post, cmt, inv, sess, guessable from a log line.
  • Permanent: the name is in the bits, so renaming acct to user changes every TNID in every form.
  • A label, not a namespace: another system can use user too.

Sorting by name

The name comes first in every form, so TNIDs with different names group by it: all org before all user. Time-sortable TNIDv0s sort by creation time only within one name.