bandicot

Sessions work on their own branch, with or without git, and merge back on their own

Any session can work on its own branch, git or Versions, then merge back and resolve clashes itself.

Engine

A branch in every project

Ask for a session on a branch and it gets its own folder beside the project. In a git checkout that folder is a worktree on its own git branch. Elsewhere it is a Versions branch: a copy of the project's recorded state that Versions keeps track of.

Sub-sessions that write files get one too. They work apart from the project and from each other, so two of them never overwrite the same file.

Merging and clashes

When the work is done and checked, the session merges its branch into the project. A Versions merge lands as one operation in the project's history, so a single undo takes it back.

When the project changed the same lines, the project stays untouched. The project's side comes into the branch with conflict markers, the agent resolves them there and merges again. A merge is refused while markers remain.

One request covers the whole flow: open a session on a branch with a brief, and it works, merges and resolves on its own.