Skip to content

Converge the three repos on one spelling per label #212

Description

@ale210

Overview

We need the same label to be spelled the same way in all three repos, because today a label set cannot be copied between them blind and anyone applying labels by hand has to look up the local spelling first. Six labels differ only by casing or a space.

Action Items

1. Agree the spelling for each of the six

Proposals below with the reasoning; confirm or amend each before renaming anything. Issue counts are as of 2026-09-04 and are --state all.

  • role: DevOps engineer (devops-security, 59) → role: DevOps Engineer, matching devops (73) and incubator (98).
  • role: security engineer (devops-security, 43) → role: Security Engineer, matching devops (18). incubator has neither, so nothing to do there. Follows the same call as the line above.
  • ready for Product (devops-security, 3) → ready for product, matching devops and incubator.
  • size: 13+ pt (incubator, 1) → size: 13+pt, matching devops (4) and devops-security. This is the only one of the six that is a functional difference rather than cosmetic — the strings differ by a space, so a saved filter naming one genuinely does not match the other.
  • feature: dns (incubator, 4) → feature: DNS, matching devops (0 issues). Rationale: incubator already uppercases its other acronym features — feature: IAM, feature: GHA, feature: RDS, feature: Cognito — so dns is the odd one out inside incubator's own vocabulary, not just against devops.
  • feature: Roadmap (devops, 3) → feature: roadmap, matching incubator (2). This one is a genuine coin-flip and worth a moment: most common-noun features are lowercase (wiki, labels, maintenance, security), which argues for lowercase, but feature: Onboarding is capitalised in both repos and is a counter-precedent. If the CoP would rather go the other way, rename incubator's instead — either is fine as long as it is decided rather than drifting.

2. Rename

  • Rename each agreed label with gh api -X PATCH 'repos/hackforla/<repo>/labels/<url-encoded-old-name>' -f new_name='<new name>'. Use the API rename, not delete-and-recreate: a rename preserves the label id, so every issue already carrying it keeps it automatically. A delete would strip the label off all 59 issues in the largest case.
  • Record the pre-rename name, id, colour and description for each one before you change it, and put it on this issue. These are direct API changes with no PR trail, so this comment is the only way to reverse them.

3. Fix what names the old spellings

  • hackforla/devops-security, .github/ISSUE_TEMPLATE/request-aws-iam-resources.yml line 3 — the labels: frontmatter applies role: DevOps engineer. Template frontmatter is matched exactly, and GitHub silently drops a label it cannot find rather than erroring, so this one has to change in the same pass or that template quietly stops applying a role. Verified 2026-09-04 that this is the only template in any of the three repos naming a divergent label.

  • Regenerate the affected conformance filter links in the body of Perform Weekly Label check #23 from the live label lists, rather than hand-editing the URLs. Follow the in-place editing discipline for that issue: back the body up first, patch only the lines you mean to change, and assert afterwards both what you changed and what you left alone.

  • After the renames, re-run the comparison across all three repos and confirm the six are gone and nothing new appeared. Report the result here before closing.

Resources/Instructions

  • Full comparison as of 2026-09-04, across all 190 labels in the three repos. These six are the complete set of same-concept-different-spelling divergences; everything else that differs is a label one repo has and another does not, which is a vocabulary gap rather than a spelling one and is not in scope.
  • Explicitly not in scope: Feature: Onboarding/Contributing.md in devops-security. It looks like a casing error next to feature: Onboarding in the other two, but it is a genuinely different label with a different meaning and its capital F is its real name. Do not "fix" it.
  • Also not in scope: creating missing labels in repos that lack them (for example complexity: prework exists only in devops-security). This ticket makes existing labels agree; it does not equalise the vocabularies.
  • No filter is broken today by the five casing differences — label matching in GitHub issue search is case-insensitive, verified 2026-08-24. That is why this is consistency work rather than a bug fix, and it is also why the renames cannot break an existing saved filter. The size: 13+ pt space is the exception and is a real mismatch.
  • Related but deliberately separate: Define: Default Repo Labels #15 ("Define: Default Repo Labels") and Deploy standard labels to all repos #63 ("Deploy standard labels to all repos") cover org-wide label standardisation across all of hackforla. This ticket is the tractable three-repo spelling fix and was kept separate on purpose, because Define: Default Repo Labels #15/Deploy standard labels to all repos #63 are blocked on a dependency that has not moved in four years. Check both before renaming so the two do not contradict each other on spelling, and cross-reference this issue from them.

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

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions