Skip to content

.claude/rules/branch-source-matrix.md describes a superseded release-branch model #208

Description

@DrumRobot

.claude/rules/branch-source-matrix.md documents a "two long-lived release branches: main (pre-release, channel next) and production (stable)" model, where every push to main triggers a pre-release publish. That model was accurate when the file was written, but the release branch strategy was restructured since then and the file was never updated to match.

Why

  • The actual current .releaserc.json on the default branch declares branches: ["production", { "name": "beta", "channel": "beta", "prerelease": "beta" }] — there is no main entry at all.
  • .github/workflows/vsx-semantic-release.yml (and the npm sibling workflow) trigger on push: branches: [beta, production]main is deliberately absent from the trigger list.
  • In the current model, main is a plain integration branch that triggers no release automation. The two release-trigger branches are production (stable) and beta (pre-release channel), replacing the old main-as-pre-release / production-as-stable split described in the stale doc.
  • Because this file lives under .claude/rules/, it is loaded as always-on context for anyone (or any agent) working in this repo. A stale doc in that position doesn't just sit unused — it actively steers investigation and planning in the wrong direction, since it reads as an authoritative, current description of how releases work.

Scope

  1. Rewrite branch-source-matrix.md's source → tag → publish matrix, environment separation, and "how releases happen" sections to describe the current production + beta model (with main explicitly noted as non-release-triggering), instead of the old main/production split.
  2. Check whether the rewritten content would fully duplicate another already-accurate doc in the repo that describes the same release flow — if so, prefer consolidating (e.g. deleting this file and pointing its former referrers at the accurate doc) over maintaining two descriptions of the same pipeline.
  3. Grep the repo for any other doc or rule file that still cross-references the old main-triggers-prerelease model and correct or remove those references too, so the fix doesn't leave a second stale copy behind.

Test plan

  • After the rewrite, re-read .releaserc.json, .releaserc-npm.json, and both vsx-semantic-release.yml / npm-semantic-release.yml trigger blocks, and confirm every claim in the doc matches those files line for line.
  • Grep the repo for other files referencing the old model's terms (e.g. channel.*next, main.*pre-release) and confirm none remain unless intentionally describing history.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions