feat(governance): add independent CR label for ABI changes (#677) - #678
Merged
Conversation
CR marks an ABI change that must go through wider review sign-off and deliberate release scheduling. It is independent of the change-class labels (Breaking/Major/Minor) that drive the version bump — orthogonal axes, so a CR co-exists with a change-class label. release.sh never reads CR, so the label-driven bump logic is untouched. - setup_labels.sh: declare CR under a new process/governance section - versioning-sop.md: document CR as an independent (non-bump) label Closes #677
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an independent governance/process label CR (“Change Request”) to mark ABI changes that require wider review sign-off and deliberate release scheduling, without affecting the version-bump logic driven by change-class labels.
Changes:
- Add
CRlabel definition toscripts/setup_labels.shunder a new “Process / governance labels” section. - Document the
CRlabel semantics and requirements indocs/governance/versioning-sop.md, and add it to the label reference table.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
scripts/setup_labels.sh |
Declares the new CR governance label (name, colour, description) alongside existing label setup. |
docs/governance/versioning-sop.md |
Documents CR as an independent (non-bump) label and adds it to the label reference table. |
Comments suppressed due to low confidence (1)
docs/governance/versioning-sop.md:636
- The “GitHub Labels” reference table is now inconsistent with the earlier change-class documentation and with
scripts/setup_labels.sh: it omits thedocumentationlabel and describesMinor Changeas “Doc-only…”, butdocumentationis the doc-only label andMinor Changeis intended for small non-doc patch-level changes. The paragraph immediately below also says every PR carries exactly one of Breaking/Major/Minor, which excludesdocumentation.
| Label | Purpose |
|-------|---------|
| `component:<name>` | Maps PRs to a specific HAL/VSI component (auto-detected from metadata.yaml) |
| `Breaking Change` | Breaking interface change — bumps generation |
| `Major Change` | Additive interface change — bumps minor (the default for real work) |
| `Minor Change` | Doc-only / metadata-only / comment-only change — bumps patch |
| `CR` | Change Request — ABI change needing wider review sign-off + separate release scheduling (independent of change-class; no bump effect) |
| `scope:infrastructure` | Repo tooling, CI/CD, governance |
| `scope:overview` | Tracking ticket spanning multiple components |
Every PR carries **exactly one** of `Breaking Change` / `Major Change` /
`Minor Change`. The label signals the bump intent; the PR author bumps
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
CR(Change Request) as an independent process/governance label.CRmarks an ABI change that needs:team:*architecture reviewers must sign off.Why independent (not a rename of
Breaking Change)The change-class labels (
Breaking Change/Major Change/Minor Change) answer "how does the version number move?" and are matched by name inscripts/release.shto compute the bump.CRanswers a different question — "is this an ABI change needing wider review + scheduling?" — so it is orthogonal and co-exists with a change-class label (an ABI change is aBreaking Change).Renaming
Breaking Change→CRwould conflate the two axes and break the generation-bump detection inrelease.sh:1304. So the axes stay separate;release.shnever readsCR.Changes
scripts/setup_labels.sh— declareCRunder a new process/governance section (color5319e7).docs/governance/versioning-sop.md— documentCRas an independent, non-bump label + add it to the label reference table.The live
CRlabel is already created on the repo; this PR makessetup_labels.sh(the declarative source of truth) and the sop agree.Closes #677