Skip to content

Engine: keep feature branches linear and land each green issue incrementally #16

Description

@TBarregren

What to build

Two changes to how work reaches the default branch:

  1. Keep feature branches linear. Integrate each issue by rebasing its branch onto the up-to-date default branch and fast-forwarding — never by merging the default branch into the feature branch.
  2. Land each green issue incrementally. Integrate (and, where the run is authorised to push, push) each issue the moment it is verified green, rather than batching all integration to the end of the run.

Why it matters

Branches that accumulated Merge branch 'main' commits could not be cleanly rebased later — rebasing replayed old conflicts and the issues parked. And a run that integrated only at the very end lost all completed work when the process stopped early (a spend-limit stop landed nothing, even for issues that were already implemented and verified). Landing per-issue makes partial progress durable.

Direction to consider

Make the integrate step rebase-then-fast-forward only, so no merge commit is ever created on a feature branch and history stays linear. Move landing so each verified-green issue is integrated before the next issue's work begins. Ensure a stop between issues leaves every already-integrated issue on the default branch.

Acceptance criteria

  • Integration never creates a merge commit on a feature branch; integrated history stays linear.
  • Each verified-green issue is integrated immediately, before the next issue's work begins.
  • A simulated mid-run stop leaves every issue integrated so far durably on the default branch (nothing already-completed is lost).

Blocked by

Activity

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

    bugSomething isn't workingready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions