Collapse the experimental channel into main; main is the sole prerelease lane (ADR-0008)#407
Merged
Merged
Conversation
ChrisonSimtian
force-pushed
the
chore/collapse-experimental-channel
branch
from
June 18, 2026 10:18
23f5caa to
b108bb4
Compare
…ase lane (ADR-0008)
The `experimental` branch and its `-alpha` GitHub Packages lane are removed;
`main` (`-preview`) becomes the sole continuous prerelease lane. Breaking work
now batches on `main` behind `[Experimental("FALLOUT0xx")]` (or a short-lived
topic branch) instead of on a dedicated branch — the branch ran behind `main`,
carried no unique work, and cost a second publisher + a forward-port obligation
for no realised benefit.
- Delete .github/workflows/experimental.yml; preview.yml is the sole continuous
publisher.
- Drop `experimental` from the ubuntu-latest PR-gate triggers and the
Build.CI.GitHubActions.cs source (remove the ExperimentalBranch const).
- Add ADR-0008 (supersedes ADR-0004 §2 channel ladder); banner on ADR-0004.
- Update AGENTS.md, CONTRIBUTING.md, README, and the agent-facing docs to the
two-tier (main -> release/YYYY) model. The `[Experimental]` attribute and
label are preserved — the attribute is now the primary isolation tool for
unstable surface on `main`.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisonSimtian
force-pushed
the
chore/collapse-experimental-channel
branch
from
June 18, 2026 10:29
b108bb4 to
5d82f32
Compare
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Retires the
experimentalbranch and its-alphaGitHub Packages lane.main(-preview) becomes the sole continuous prerelease lane. Steady-state long-lived branches are nowmain+support/*(+gh-pages); everything else is a tag or short-lived topic branch.Decision recorded in ADR-0008, which supersedes the channel-ladder section (§2) of ADR-0004 (its 2026-05-30 amendment). Calendar versioning, the production line,
[Experimental], review tiers (ADR-0004 §1, §3–§6), the on-demand cut (ADR-0007), and nuget.org opt-in (ADR-0002) are all unchanged.Why
The dedicated fast lane didn't earn its keep:
main, not ahead — the forward-port discipline it relied on wasn't happening.mainwas empty — the publish feature it nominally carried (IPublish: multi-channel, package-ID-aware publishing #333/feat(publish): multi-channel, package-ID-aware publishing + dogfood the lanes (#333) #339) already existed onmain; it was a stale snapshot.Breaking work now batches on
maingated behind[Experimental("FALLOUT0xx")](or a short-lived topic branch when it can't be gated) — the attribute was always the per-API isolation tool; it now carries the load the branch used to. The production-cut review is the backstop.Changes
experimental.yml;preview.ymlis the sole continuous publisher. Dropexperimentalfrom theubuntu-latestPR-gate (source:Build.CI.GitHubActions.cs, removed theExperimentalBranchconst). Build verified; generatedubuntu-latest.ymlregenerated and in sync.AGENTS.md,CONTRIBUTING.md,README,branching-and-release.md,release-and-versioning.md,conventions.md,roadmap.md,experimental-apis.mdupdated to the two-tier (main → release/YYYY) model. The[Experimental]attribute /experimentallabel are preserved throughout.Notes
ChrisonSimtian → Fallout-buildorg-repoint (~161 files) is deliberately out of scope — it's a separate follow-up so neither diff is muddied.CHANGELOG.mdis deprecated (release notes come from PR labels), so no entry added.Verification
dotnet build build/_build.csproj✅ (warnings pre-existing)git grep experimentalsweep: only[Experimental]attribute/label refs + settled-history notes remain