Skip to content

Rename "Colaboradors" → "Colaboradores" across the system-team identity #1755

Description

@peterdrier

Context

The Colaborador tier is spelled two ways in this repo. The system team's identity is Colaboradors throughout; Governance's member-facing copy says Colaboradores.

Peter ruled on 2026-09-20 that Colaboradores is correct and Colaboradors is the typo, after verifying against the association's own statutes.

Verification. nobodies-collective/legal, Estatutos/ESTATUTOS NOBODIES.md (the authoritative Spanish text — the association is a Spanish asociación under Ley Orgánica 1/2002):

  • Cap. IV heading: DE LOS ASOCIADOS Y COLABORADORES
  • Art. 24 Colaboradores de la Asociación, Art. 25 Derechos de los Colaboradores
  • Nine occurrences of colaborador(es), zero of colaboradors.

The Catalan statutes (ESTATUTOS NOBODIES-CA.md) say Col·laboradors, which is the likely origin of the bare "Colaboradors": the Catalan plural with the interpunct dropped. The ca resource file renders the tier in Catalan and matches the official Catalan text, so ca is correct as it stands and is out of scope here.

Problem

Nine AdminAppDetail_* keys aside, the split is between code identity and prose. The misspelling is load-bearing in four places:

What Where
Enum member src/Humans.Base/Enums/SystemTeamType.cs:41 — Colaboradors = 5
Static id src/Humans.Base/Constants/SystemTeamIds.cs:13 — SystemTeamIds.Colaboradors
Seeded team Name src/Sections/Humans.Teams/Data/Configurations/TeamConfiguration.cs:245 — "Colaboradors"
Seeded team Slug src/Sections/Humans.Teams/Data/Configurations/TeamConfiguration.cs:247 — "colaboradors"

Call sites of the enum/constant: SystemTeamSyncJob.cs (SyncColaboradorsTeamAsync and three switch arms), ApplicationDecisionService.cs:101, OnboardingService.cs:333. Docs naming the team: Governance.md, Onboarding.md, Teams.md, ISystemTeamSync.cs, and several Docs/features/ files across Governance, Onboarding, Teams and Workgroups.

The enum is persisted as a string (SystemTeamType = "Colaboradors" in 20260811151411_BaselineTeams.cs:215 and the model snapshot), so renaming the member is a data change, not just a rename.

The load-bearing question — the slug

Slug = "colaboradors" is a live URL. Renaming it breaks any existing link to the team page.

Three options; this issue is blocked until one is picked:

  1. Rename the slug with a permanent redirect from colaboradors → colaboradores. Correct and link-safe; costs a redirect the codebase does not currently have a pattern for (check whether one exists before assuming).
  2. Rename the slug, no redirect. Cheapest. Old links 404. Defensible if nothing links to the team page from outside the app.
  3. Leave the slug, rename everything else. No broken links, but leaves the misspelling in the one place members can actually see it — which defeats the point.

Proposed solution

Once the slug question is answered:

  1. Rename SystemTeamType.Colaboradors → Colaboradores and SystemTeamIds.Colaboradors → Colaboradores, plus the ~7 call sites and SyncColaboradorsTeamAsync.
  2. Migration in Teams' own context: update the persisted SystemTeamType string and the team's Name (and Slug, per the decision above) on the seeded row 00000000-0000-0000-0001-000000000005. Shipped migrations are immutable — this is a new one, not an edit to BaselineTeams.
  3. Update the docs listed above. src/Sections/Humans.Consent/Docs/features/legal-documents-consent.md:154 names the id beside the label and needs the same edit.
  4. The team id (…0001-000000000005) does not change, so nothing keyed by id moves.

Acceptance criteria

  • The slug decision is recorded in this issue before implementation starts.
  • No Colaboradors remains in src/, tests/ or docs/ except (a) the Catalan Col·laboradors, which is correct, and (b) shipped migration files, which are immutable.
  • A migration in TeamsDbContext updates the persisted enum string and team name on the seeded row; existing memberships are untouched.
  • If option 1: an existing link to /…/colaboradors still resolves.
  • SystemTeamSyncJob still adds and removes the tier team correctly — covered by tests/Humans.Teams.Tests.

Out of scope

  • The ca resource file's Catalan rendering — verified correct above.
  • The tier names in other cultures' resx files, which already say Colaboradores.

Found during the 2026-09-18 Governance section-doctor run (finding 12); see docs/health/runs/2026-09-18-Governance.md and #1739.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    blocked:needs-designCannot be implemented until design is resolved (UX, architecture, API shape, etc.)bugSomething isn't workingdb:yesRequires EF Core migrationsection:teams

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions