Naming Anatomy
Every identifier at Provisionr follows the same structural pattern. Whether you’re naming a Google Group, an AWS role, a shared drive, or a Slack channel, the anatomy is the same.
The Octet Pattern
Section titled “The Octet Pattern”prv-{team}-{type}-{qualifier}Read it left to right:
- Organization — Who owns it (
prv) - Team / Department — Who operates or is responsible for it (
plt,eng,sec) - Type — What kind of thing it is (
role,mail,admin,dept) - Qualifier — The specifics (system, scope, environment, purpose, etc.)
Examples
Section titled “Examples”| Identifier | Org | Team | Type | Qualifier |
|---|---|---|---|---|
prv-plt-admin-aws | prv | plt | admin | aws |
prv-plt-role-wks-admin | prv | plt | role | wks-admin |
prv-eng-team-apps | prv | eng | team | apps |
prv-plt-alerts-aws-prd | prv | plt | alerts | aws-prd |
prv-sal-mail-pipeline-updates | prv | sal | pipeline-updates | |
prv-flt-infra-monitoring | prv | flt | infra | monitoring |
When Team and Type Overlap
Section titled “When Team and Type Overlap”Sometimes the second octet (team) and third octet (type) feel redundant. For example, prv-eng-team-apps has eng as the team and team as the type. This is intentional — the second octet always answers “who owns/operates this” and the third always answers “what kind of thing is it.”
When a department group represents the department itself, the type is dept:
prv-eng-dept → Engineering department groupprv-eng-team-apps → The "apps" team within Engineeringprv-eng-team-sre → The "SRE" team within EngineeringSyntax Rules
Section titled “Syntax Rules”- All lowercase. Characters allowed:
a-z,0-9, hyphens only. - Hyphens separate octets. Never use underscores, dots, or spaces in identifiers.
- Optional tokens are shown in
[brackets]in pattern definitions and may be omitted. - Display labels use uppercase (e.g.,
PRV,PLT) in people-facing names, UIs, and documentation. Canonical identifiers are always lowercase.
prv-plt-role-aws-admin ✅ canonical (lowercase, hyphens)PRV – PLT – Role – AWS Admin ✅ display label (people-facing)Prv_Plt_Role_Aws_Admin ❌ mixed case, underscoresQualifier Depth
Section titled “Qualifier Depth”Qualifiers can chain to add specificity. Read them left to right as narrowing scope:
prv-plt-role-aws-admin → AWS admin role, owned by Platformprv-plt-role-aws-idc-prd-admin → AWS Identity Center, production, adminprv-sec-alerts-gl-ci-prd → GitLab CI alerts, productionThere’s no hard limit on qualifier depth, but keep it practical. If a name requires more than 5-6 hyphenated segments, consider whether you’re encoding too much.
Display Names
Section titled “Display Names”For UIs, email display names, and documentation, we use a name-first with en dash format:
PRV – Platform – Role – AWS AdminPRV – Engineering – Team – AppsPRV – Security – Alerts – GitLab CI (PRD)The en dash (–, not a hyphen - or em dash —) is the standard separator in display names. This keeps them visually distinct from the kebab-case canonical identifiers.
- Tokens — The full catalog of token variables and their allowed values
- Address Patterns — Canonical patterns for every type of identifier