Skip to content

Two labels.yml files have drifted; docs cite the stale one #461

Description

@ss-o

Problem

There are two canonical-label files in this repo, and they have diverged. Every document points at the one the tooling does not read.

lib/labels.yml .github/lib/labels.yml
Read by scripts/labels-sync.rb yesDEFAULT_LABELS_FILE no
Cited by AGENTS.md / runbooks / .github/README.md no yes, all 8 references
Last substantive update #451 (Linear transition) #416
legacy_migrations block present absent
sync_policy block present absent
dependencies / github_actions automation labels present absent

meta:org-tracked carries conflicting descriptions between the two:

  • root: Indicates this issue has cross-repository tracking implications (synced to Linear).
  • .github/: Auto-add this issue to the org-wide Z-Shell Tracker.

The root copy reflects the post-#451 Linear reality; the .github/ copy still describes the retired GitHub Projects tracker.

Why it matters

The failure is silent. A maintainer follows runbooks/labels.md, edits .github/lib/labels.yml as instructed, runs scripts/labels-sync.rb, and their change has no effect — the script read root lib/labels.yml. Nothing errors, and the dry-run output looks plausible.

The structural blocks are the sharper half: legacy_migrations and sync_policy exist only in root. Anyone treating .github/lib/labels.yml as the source of truth has no legacy-migration table at all, which is precisely the mapping that keeps emoji-suffixed legacy labels from being reintroduced.

History

.github/lib/labels.yml dates to #416. Root lib/labels.yml was then deliberately established by #422 ("restore canonical label source file") and updated again by #451. So the .github/ copy is a stale leftover the documentation was never repointed away from — not a competing authority.

Suggested fix

  1. grep for any other consumer of the .github/lib/labels.yml path — workflows, scripts, external automation, or other repos — before removing anything.
  2. Delete or symlink .github/lib/labels.yml to the root file.
  3. Repoint the 8 documentation references: AGENTS.md:89, .github/README.md:100,136, runbooks/triage.md:26, runbooks/labels.md:7,109,113,181.
  4. Consider whether the canonical file belongs at the path the docs already advertise, and move root there instead — either direction works, but only one file should exist.

Also minor: root lib/labels.yml is mode 0600 while the rest of the tree is 0664.

Triage

  • Type: bug, area:meta
  • Priority: medium — latent, silently wrong, no current breakage
  • Effort: small, but requires the consumer audit in step 1 first

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:metaOrganization-wide policy, templates, or meta-repo work.type:bugSomething is broken or behaving incorrectly.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions