Audit Date: January 28, 2026 Organization: konveyor
This audit analyzed GitHub labels across the Konveyor organization to identify inconsistencies, redundancies, and opportunities for standardization. The findings reveal significant label fragmentation that can be addressed through a structured consolidation strategy based on open source best practices.
| Metric | Value |
|---|---|
| Total Repositories Audited | 64 active (27 archived skipped) |
| Total Labels Across All Repos | 4,186 |
| Unique Labels | 219 |
| Labels with Color Variations | 37 |
| Labels Used in Only One Repo | 83 |
| Proposed Standardized Labels | 67 |
| Reduction Potential | 69.4% |
Three labels are present in all 64 repositories, indicating strong baseline consistency:
| Label | Repositories | Notes |
|---|---|---|
documentation |
64 | GitHub default |
good first issue |
64 | GitHub default, used by CLOTributor |
help wanted |
64 | GitHub default, used by CLOTributor |
The next tier of widely-used labels (53 repos) follows Kubernetes-style naming conventions:
kind/bug,kind/feature,kind/documentationpriority/critical-urgent,priority/important-soon,priority/backlogtriage/duplicate,triage/needs-information,triage/not-reproduciblelgtm,size/S,size/M,size/L
This suggests a common label template was applied to major repositories, which is a positive pattern to extend organization-wide.
Color Inconsistencies: 37 labels have different colors across repositories. Examples:
help wanted: Uses both#006b75and#008672size/L: Uses both#006B75and#ee9900size/M: Uses both#006B75and#eebb00
Duplicate Concepts: Multiple labels represent the same concept:
- Bug:
bug,kind/bug,fix - Feature:
enhancement,kind/feature,feat,RFE - Documentation:
documentation,kind/documentation,docs - Technical debt:
chore,Tech debt,technical debt,tech-debt
Orphaned Labels: 83 labels (38%) are used in only one repository, suggesting either:
- Overly specific labels that should be generalized
- Abandoned experiments that should be cleaned up
- Legitimate repo-specific needs (minority)
| Category | Issue | Impact |
|---|---|---|
| Priority labels | Multiple scales (critical/high/urgent vs critical-urgent) | Confusing prioritization |
| Merge blockers | do-not-merge, do not merge, WIP all in use |
Inconsistent automation |
| Triage states | Mix of prefixed and unprefixed (wontfix vs triage/wontfix) |
Filtering difficulties |
| Version labels | Sprint/version-specific labels (sprint 1, 0.3.0, v3 blocker) |
Should use milestones |
Konveyor already uses Kubernetes-style labels in 53 repositories. Standardize on this convention organization-wide:
kind/ - Issue type (bug, feature, documentation, cleanup)
priority/ - Urgency level (critical-urgent, important-soon, backlog)
triage/ - Resolution status (accepted, needs-information, duplicate)
lifecycle/ - Issue age/status (stale, rotten, frozen)
size/ - Effort estimate (XS, S, M, L, XL, XXL)
area/ - Component focus (ci, testing, dependency)
do-not-merge/ - PR blockers (hold, work-in-progress)
Rationale: Prefixes simulate folder hierarchy in GitHub's flat label system, making labels easier to discover, filter, and understand.
Rename overlapping labels to canonical forms:
| Current Labels | Consolidate To |
|---|---|
bug, fix |
kind/bug |
enhancement, feat, RFE |
kind/feature |
documentation, docs |
kind/documentation |
chore, Tech debt, tech-debt |
kind/cleanup |
duplicate |
triage/duplicate |
question |
triage/support |
WIP, do not merge |
do-not-merge/work-in-progress |
Apply consistent colors across all repositories:
| Category | Color | Hex |
|---|---|---|
| Bug/Breaking | Red | #e11d21 |
| Feature/Docs | Light Blue | #c7def8 |
| Priority Critical | Red | #e11d21 |
| Priority Important | Orange | #eb6420 |
| Priority Backlog | Yellow | #fbca04 |
| Triage Accepted | Green | #8fc951 |
| Triage Other | Purple | #d455d0 |
| Size (gradient) | Green to Red | XS:#009900 to XXL:#ee0000 |
| Do Not Merge | Red | #e11d21 |
| Lifecycle | Gray | #ededed |
| Area | Teal | #006b75 |
Create new labels to enable stale issue automation:
lifecycle/stale- No activity for 60+ dayslifecycle/rotten- No activity for 90+ days, candidate for closinglifecycle/frozen- Intentionally on hold, skip stale automation
Deploy a GitHub Action to sync labels across all repositories:
- Maintains consistency as labels are added/modified
- Similar to Kubernetes
label_synctool running as daily CronJob - Define canonical labels in a YAML file in the
.githubrepository
Delete version-specific labels and use GitHub Milestones:
- Remove:
0.3.0,0.3-alpha-0 blocker,sprint 1,v3 blocker - Use: Milestones for release/sprint tracking
As a CNCF project, ensure good first issue labeled issues include:
- Clear problem description
- Acceptance criteria
- Links to development/contributing docs
- Approximate skill level or technologies involved
The consolidation strategy proposes a 5-phase migration:
| Phase | Action | Risk Level |
|---|---|---|
| 1 | Standardize colors for existing labels | Low |
| 2 | Create missing labels (lifecycle/, area/) | Low |
| 3 | Rename labels to canonical forms | Medium |
| 4 | Delete deprecated/orphaned labels | Medium |
| 5 | Deploy label sync automation | Low |
| Category | Count |
|---|---|
| Labels to Create | 9 |
| Labels to Rename | 38 |
| Labels to Delete | 86 |
| Labels to Keep Unchanged | 57 |
This consolidation strategy was informed by best practices from these authoritative sources:
-
GitHub Official Documentation - Label management fundamentals and organization defaults
-
Kubernetes Label Sync System - Prefix naming conventions, automation-driven labels, daily sync approach
-
VS Code Repository Labels - Hierarchical naming for large projects, special prefix characters for automation
-
CNCF Contributors Guide - Standard labels for new contributor discovery (good first issue, help wanted)
-
Creative Commons Labels - Color schemes by category, mandatory vs optional labels
-
Dosu - Open Source Labeling Best Practices - Core vs supplemental categories, prefix hierarchy
-
Sane GitHub Labels - Status/Type/Priority framework, exclusive label application
-
GitHub - Encouraging Helpful Contributions - Using labels to attract contributors
-
Review consolidation strategy - Stakeholders should review
konveyor-labels-consolidation-strategy.jsonfor detailed migration mappings -
Approve organization defaults - Org owners configure default labels at Repository Defaults Settings
-
Create label sync workflow - Build a GitHub Action in the
.githubrepository to sync labels -
Execute migration phases - Follow the 5-phase migration plan, starting with low-risk color standardization
-
Monitor and iterate - Track adoption and adjust the label schema based on feedback
This summary is derived from the following audit artifacts:
| File | Description |
|---|---|
konveyor-labels-inventory.json |
Complete label inventory with usage statistics |
konveyor-labels-best-practices.json |
Research findings from authoritative sources |
konveyor-labels-consolidation-strategy.json |
Detailed consolidation plan with migration mappings |
konveyor-repos.json |
List of all repositories in the organization |
konveyor-repo-labels.json |
Raw label data collected from each repository |
Report generated as part of the Konveyor GitHub Label Audit project.