Skip to content

[FEATURE] A dev branch stages each release; main holds the last release #95

Description

@aarontuor

Is Your Feature Request Related to a Problem?

Every pull request merges straight into main, so main is the release and the work in progress at once. Since 0.2.0 (2026-07-17), main has taken 26 commits and 35 changelog entries under Unreleased, and none of them has been through a release. Consumers install from main: agent-ui's traces extra is dsagt @ git+https://github.com/AI-ModCon/dsagt.git, which installs whatever merged last. dsagt has no place to collect and test changes before consumers get them.

Describe the Solution You'd Like

A dev branch that stages each release. main holds the last release.

This needs an admin for three settings:

  1. A ruleset on dev matching main's review rule: a pull request with one approval, no deletion, no force-push.
  2. A bypass on main's ruleset for whoever makes releases, so they can fast-forward.
  3. main stays the default branch, so a clone or an unpinned pip install git+... gets the release. CONTRIBUTING.md then says pull requests target dev.

Describe Alternatives You've Considered

  • main only, with release tags. Simpler. main then carries unreleased work, and a consumer is safe only when pinned to a tag.
  • Release by merge commit, as neuromancer does with develop and master. This needs main's linear-history rule dropped, plus a merge of main back into dev after every release. neuromancer's master holds two hotfix commits that develop does not, which is the step this approach depends on.
  • dev as the default branch. New pull requests would target dev automatically, but clones and unpinned installs would get unreleased code.

Additional Context

Once dev exists, a pull request into dev adds it to the workflow triggers and states the release steps in CONTRIBUTING.md. The retargeting follows that merge, so no pull request loses its checks.

An agent (Claude Code) drafted this issue; Aaron Tuor reviewed it.

Activity

  1. aarontuor commented on Sep 24, 2026

    @aarontuor
    ContributorAuthor

    dev exists, and the changes are in:

    One addition to the admin settings above. main requires linear history, and a release fast-forwards main to dev. So dev has to stay linear too, or one merge commit there blocks the next release. The dev ruleset should therefore also have require linear history, alongside the pull request rule and the deletion and force-push protection.

    An agent (Claude Code) drafted this comment; Aaron Tuor reviewed it.

  2. jeanbez commented on Sep 25, 2026

    @jeanbez
    Collaborator

    Those have been set up for dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions