Skip to content

📖 [Docs]: Release decisions use owned labels - #188

Merged
Marius Storhaug (MariusStorhaug) merged 6 commits into
mainfrom
release-label-namespace
Aug 29, 2026
Merged

📖 [Docs]: Release decisions use owned labels#188
Marius Storhaug (MariusStorhaug) merged 6 commits into
mainfrom
release-label-namespace

Conversation

@MariusStorhaug

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Aug 28, 2026

Copy link
Copy Markdown
Member

Release guidance now defines one owned release: label set: release:patch, release:minor, release:major, release:pre-release, and release:skip. Release automation ignores bare and unrelated labels, so only explicit release decisions affect published versions.

Changed: One release label contract

Release Management, Automation Labels, PR Format, Natural Language examples, and the VS Code Extension Framework now use the same namespaced values. Prereleases use release:pre-release with one bump label, while non-releasing changes use release:skip alone.

Changed: Ad hoc releases are optional

A labeled pull request merge is the required release path. Implementations may add workflow_dispatch only when they need an explicit ad hoc mechanism; it must use the same release controls and require its decision and release-note context as inputs. Empty pull requests and direct pushes are not release workarounds.


Technical details
  • Replaced release:none and the unnamespaced Prerelease label.
  • Defined valid and invalid combinations for the five owned release labels.
  • Made workflow_dispatch an optional implementation extension rather than a mandatory release interface.
  • Preserved the mainline removal of dependency-tool label guidance while resolving the branch update.
Changed surface Standards checked Framework docs checked Result
src/docs/Capabilities/release-management/** Natural Language, Markdown Release Management Aligned
Release-label references under src/docs/** Natural Language, Markdown Automation Labels, PR Format, VS Code Extension Framework Aligned
Relevant issues (or links)

Related work

Standardize the release:patch, release:minor, release:major, release:pre-release, and release:skip contract. Keep release decisions separate from Dependabot's bare SemVer labels.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the MSX documentation’s release-label contract to use an owned release: namespace exclusively, so Dependabot’s bare major/minor/patch labels can’t be misread as repository release decisions. This aligns release guidance across “Ways of Working” and the affected capability specs/designs.

Changes:

  • Replaces non-releasing guidance (release:none) with release:skip, and documents release:pre-release as a mode used alongside exactly one bump label.
  • Updates automation-label documentation to explain the Dependabot label collision mechanism and the skip-release compatibility sentinel.
  • Aligns Release Management, Dependency Updates, VS Code Extension Framework, and Natural Language examples to the same namespaced label set and rules.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/docs/Ways-of-Working/PR-Format.md Updates change-type label mapping to release:skip and clarifies release:pre-release usage.
src/docs/Ways-of-Working/Automation-Labels.md Reframes the owned release label set and documents Dependabot collision avoidance + skip-release sentinel behavior.
src/docs/Coding-Standards/Natural-Language.md Updates examples to reference release:skip and the new release-label error-message contract.
src/docs/Capabilities/vscode-extension-framework/spec.md Aligns framework requirements with the updated release decision labels (no default; release:pre-release as optional mode).
src/docs/Capabilities/vscode-extension-framework/design.md Updates design rules for prerelease requests and release-decision validation using the new labels.
src/docs/Capabilities/release-management/spec.md Defines the namespaced release-decision contract (release:skip, release:pre-release) and explicitly ignores bare SemVer labels.
src/docs/Capabilities/release-management/design.md Documents release-label parsing rules and the Dependabot collision rationale under the updated contract.
src/docs/Capabilities/dependency-updates/design.md Renames the release dimension to “release decision” and updates the Dependabot collision explanation to match the new label set.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/docs/Capabilities/vscode-extension-framework/spec.md
Address the review finding by changing labelled to labeled in the touched release guidance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

src/docs/Capabilities/release-management/design.md:80

  • In the "Version computation" label table, the "Valid combination" cells for release:patch/release:minor/release:major say "Exactly one bump label." That reads as if adding release:pre-release would make the set invalid, which contradicts the text immediately below stating release:pre-release may accompany one bump label. Update the table rows so they explicitly allow the optional mode label.
| `release:patch` | Resolve the next patch version. | Exactly one bump label. |
| `release:minor` | Resolve the next minor version. | Exactly one bump label. |
| `release:major` | Resolve the next major version. | Exactly one bump label. |

Keep labeled pull request merges as the required release path. Allow workflow dispatch only as an explicit optional extension and reject empty pull requests as release triggers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Comment thread src/docs/Capabilities/vscode-extension-framework/spec.md Outdated
Align the VS Code framework success criterion with the explicit release decision contract.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

Suppressed comments (2)

Previously missed (2) — in code that hasn't changed since the last review.

src/docs/Capabilities/release-management/spec.md:40

  • Natural Language standard sets American English (en-US) as the project dialect; this bullet still uses British spelling "Serialised".
- **Serialised releases.** Only one release process runs against a given version of the codebase (the same ref) at a time. A release mutates shared, version-anchored state — the tag, the version counter, the published artifact — so overlapping runs on the same ref MUST NOT race, and an in-flight release is never interrupted.

src/docs/Capabilities/release-management/design.md:82

  • The "Valid combination" column for bump labels is ambiguous/inaccurate now that release:pre-release may accompany a single bump label. The bump-label rows should explicitly allow the optional release:pre-release companion.
| `release:patch` | Resolve the next patch version. | Exactly one bump label. |
| `release:minor` | Resolve the next minor version. | Exactly one bump label. |
| `release:major` | Resolve the next major version. | Exactly one bump label. |
| `release:pre-release` | Publish the open pull request as a prerelease. | With exactly one bump label. |
| `release:skip` | Run validation without resolving or publishing a version. | Alone. |

@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review August 29, 2026 08:33
# Conflicts:
#	src/docs/Capabilities/dependency-updates/design.md
#	src/docs/Capabilities/release-management/design.md
#	src/docs/Ways-of-Working/Automation-Labels.md
@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title 📖 [Docs]: Release decisions no longer collide with Dependabot labels 📖 [Docs]: Release decisions use owned labels Aug 29, 2026
@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit 41ee73f into main Aug 29, 2026
21 checks passed
@MariusStorhaug
Marius Storhaug (MariusStorhaug) deleted the release-label-namespace branch August 29, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:skip Validate the change without publishing a release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants