ADR-001-a — Naming Conventions and Domain Glossary
ADR-001-a — Naming Conventions and Domain Glossary
Sección titulada «ADR-001-a — Naming Conventions and Domain Glossary»Accepted
Context
Sección titulada «Context»Multiple domain concepts have synonyms across Spanish UI, English code, and informal conversation (e.g., Nomina vs Employee, Puesto vs Position). This ADR complements [[adr-001-b-language-conventions|ADR-001-b]] (English code, Spanish UI) by establishing the single canonical English name for each concept in the glossary below.
Decision
Sección titulada «Decision»One canonical English name per domain concept. Every domain concept has exactly one canonical English name used in code (Python models, TypeScript interfaces, SQL tables, API paths). Spanish equivalents appear only in UI labels. When in doubt, consult the table below.
| Concept | Canonical name | Spanish | Rejected alternatives |
|---|---|---|---|
| Employee registry | Employee | Empleado | Nomina, Nómina, roster, payroll |
| Organizational unit | OrgUnit | Unidad | Organismo, nodo |
| Position (demand slot) | Position | Puesto | cargo, slot |
| Assignment | Assignment | Asignación | turno |
| Hours ledger | HoursLedger | Horas | HorasLedger, ledger_horas |
| Coverage state | CoverageState | Cobertura | EstadoCobertura |
| Organizational chart | OrgChart | Estructura | org_chart_view, Organigrama |
| Audit log module & route | AuditLog | Historial | TransitionHistory, audit_log |
| Individual audit log entry | TransitionLog | Transición | AuditEntry, LogEntry, Transition |
| Presentational timeline component | AuditLogTimeline | Línea de tiempo | TransitionTimeline, StatusTimeline |
| Project-specific component showcase | CustomComponents | Componentes | ComponentLibrary, ComponentShowcase, ComponentGallery |
| Business rule | BusinessRule | Regla | Rule, Constraint, Validation, PolicyRule |
| Rule severity | RuleSeverity | Severidad | Severity, Level, RuleLevel, Priority |
| Neutral gray primary palettes | GRAY_PRIMARIES (silver, ash, graphite) | Grises | grayColors, neutralPrimaries, graySwatches |
| User avatar (initials + color) | UserAvatar (utility: avatar-utils.ts) | Avatar | ProfilePic, UserIcon, UserBadge |
| Tag catalog (unified primitive) | TagCatalog | Etiquetas | TagTemplate, TagDefinition, TagType, ContractTemplate |
| Employee tag instance | EmployeeTag | Etiqueta | EmployeeAttribute, EmployeeLabel, ContractInstance |
| Position tag requirement | PositionTag | Requisito | PositionRequirement, PositionLabel, PositionContractRequirement |
| Tag category for external circumstances | EXCEPTION | Excepción | REDUCTION, MODIFIER, ADJUSTMENT, CONDITION, PROVISION |
| Tag short label + long label pattern | name / display_name | Nombre | code/label, short_name/long_name, title/full_name |
| Synthetic sample dataset (seeding + showcase) | MockData | Datos de prueba | TestData, SampleData, DummyData, FakeData, synthetic_data |
| Operation of populating the DB from mock data | seed (verb / management command name) | Sembrar | bootstrap, populate, fixture, load_data, init_data |
Consequences
Sección titulada «Consequences»- All new code, migrations, routes, and API paths must use the canonical name from this table.
- [[PRD]] and ADRs use canonical names; Spanish appears only in parenthetical UI labels.
- New concepts require a row in this table before implementation begins.
- [[adr-001-b-language-conventions|ADR-001-b]] governs the language rule; this ADR governs which specific term to use.