📖 [Docs]: Release decisions use owned labels - #188
Conversation
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>
There was a problem hiding this comment.
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) withrelease:skip, and documentsrelease:pre-releaseas a mode used alongside exactly one bump label. - Updates automation-label documentation to explain the Dependabot label collision mechanism and the
skip-releasecompatibility 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.
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>
There was a problem hiding this comment.
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:majorsay "Exactly one bump label." That reads as if addingrelease:pre-releasewould make the set invalid, which contradicts the text immediately below statingrelease:pre-releasemay 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. |
Pull request was converted to draft
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>
Align the VS Code framework success criterion with the explicit release decision contract. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
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-releasemay accompany a single bump label. The bump-label rows should explicitly allow the optionalrelease:pre-releasecompanion.
| `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. |
# Conflicts: # src/docs/Capabilities/dependency-updates/design.md # src/docs/Capabilities/release-management/design.md # src/docs/Ways-of-Working/Automation-Labels.md
Release guidance now defines one owned
release:label set:release:patch,release:minor,release:major,release:pre-release, andrelease: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-releasewith one bump label, while non-releasing changes userelease:skipalone.Changed: Ad hoc releases are optional
A labeled pull request merge is the required release path. Implementations may add
workflow_dispatchonly 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
release:noneand the unnamespacedPrereleaselabel.workflow_dispatchan optional implementation extension rather than a mandatory release interface.src/docs/Capabilities/release-management/**src/docs/**Relevant issues (or links)
Related work