Update Templates and Triage-ops for Feature Epic Consistency
Parent epic: https://gitlab.com/groups/gitlab-org/quality/-/epics/227 ## Problem Description As part of the [Feature Readiness Assessment (FRA) Discovery system initiative](https://gitlab.com/groups/gitlab-org/quality/-/epics/227), we need to ensure that all new feature epics and issues are properly labeled from the get-go/creation. Currently, inconsistent labeling practices make it difficult to identify feature work systematically. To enable the simple ongoing FRA process (monitoring epics with both `~type::feature` and `~feature::addition` labels), we need to: - Update templates to guide users toward proper labeling - Configure triage-ops to enforce labeling consistency - Prevent future labeling gaps that require complex discovery processes ## Proposed Solution ### 1. Update Default Epic Template Update the default epic template in the [gitlab-org group](https://gitlab.com/groups/gitlab-org) to include: **Labeling Instructions Section:** ```markdown <!-- ## Epic Labeling Please apply the appropriate labels to help categorize this epic. If your epic doesn't fall into one of the three epic types, the type label can be skipped. ### Epic Type (choose one): - [ ] `~type::feature` - This epic introduces or modifies product features - [ ] `~type::bug` - This epic addresses defects or issues - [ ] `~type::maintenance` - This epic covers maintenance, technical debt, or infrastructure ### Feature Sub-type (required if type::feature selected): - [ ] `~feature::addition` - **New features or capabilities** (adds something that didn't exist) - [ ] `~feature::enhancement` - **Improvements to existing features** (makes something better) - [ ] `~feature::consolidation` - **Combining or reorganizing existing features** (restructures existing functionality) **Examples:** - New authentication method → `~feature::addition` - Improved search performance → `~feature::enhancement` - Merging two similar features → `~feature::consolidation` --> ``` ### 2. Update Feature Proposal Issue Templates Update all three [Feature proposal issue templates](https://gitlab.com/gitlab-org/quality/feature-readiness/team/-/issues/3#feature-proposal-issue-template-locations) in the GitLab project to `~feature::addition` label by default in template metadata. ### 3. Configure Triage-ops Enforcement Update the [triage-ops project](https://gitlab.com/gitlab-org/quality/triage-ops) to add enforcement rules: 1. **Epic type validation**: - Monitor new epics for missing type labels (`~type::feature`, `~type::bug`, `~type::maintenance`) - Post reminder comments when type labels are missing and when the comment has not already been posted. Mention that it is ok to not have the type labels if the epic doesn't fall into one of the three type categories. 2. **Feature sub-label validation**: - Monitor epics with `~type::feature` for missing sub-labels - Require one of: `~feature::addition`, `~feature::enhancement`, `~feature::consolidation` - Post guidance comments with sub-label descriptions and examples - Apply "feature-sub-label-missing" label. - If the epic is still missing the sub-label after a week, apply the `~feature::addition` label and ask the author to update if necessary. ### Feature Proposal Issue Template Locations: - [Feature Proposal - basic.md](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20Proposal%20-%20basic.md) - [Feature Proposal - lean.md](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20Proposal%20-%20lean.md) - [Feature Proposal - detailed.md](https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitlab/issue_templates/Feature%20proposal%20-%20detailed.md) ## Comment Templates for Triage-ops ### Missing Type Label: ```markdown 👋 Hi there! This epic is missing a type label. Please add one of the following labels to help categorize this work: - `~type::feature` - Product features and capabilities - `~type::bug` - Defects and issue resolution - `~type::maintenance` - Infrastructure, technical debt, maintenance Some epics may not fall in any of the above types. In that case, it is ok to ignore this message. ``` ### Missing Feature Sub-label: ```markdown 🏷️ This epic has `~type::feature` but is missing a sub-label. Please add one of the following to indicate the type of feature work: - `~feature::addition` - **New features** (adds something that didn't exist) - `~feature::enhancement` - **Improvements** (makes existing features better) - `~feature::consolidation` - **Reorganization** (combines/restructures existing features) This helps us identify feature epics for the [Feature Readiness Assessment](https://gitlab.com/gitlab-org/architecture/readiness#feature-readiness-assessments) process. ``` ## Success Metrics - **Template Usage**: Increased percentage of new epics with proper type labels - **Sub-label Compliance**: >90% of new `~type::feature` epics have appropriate sub-labels ### Status ## Status 2025-09-24 :tada: **achievements**: - A triage-ops MR that prompts authors of new Epics to add a Workflow Type Classification label has been merged: https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests/3632 - Handbook update related to the above change has also been merged: https://gitlab.com/gitlab-com/content-sites/handbook/-/merge_requests/16045 :issue-blocked: **blockers**: - N/A :arrow_forward: **next**: - Create triage-ops policy to add type::feature sub labels to Epics where missing. _Copied from https://gitlab.com/groups/gitlab-org/quality/feature-readiness/-/epics/2#note_2772671961_
epic