Work on branches
Use a branch when a change needs several edits or a dedicated eval run before it is ready to publish.
App-managed projects
- Create
- Use the branch switcher in the context header. The branch starts from the current context.
- Edit and test
- Explorer and Assistant edits stay on the branch. Run evals against it before merging.
- Merge
- Merging publishes a new version. That is when the change starts affecting answers. It also resolves the issues the branch’s fix chats were opened from.
A branch that is behind main keeps taking edits. Only a change that touches what main published in the meantime blocks it, and then the branch is the one to review or start again from.
The Assistant on a branch
A context chat bound to a branch applies each change as it goes, showing it in the conversation as a diff the moment it lands. A panel beside the chat holds two tabs:
- Issues
- The issues the chat was opened from, with a “Resolve issues” action once changes have landed.
- Changes
- Every unpublished change on the branch, each with its diff and a one-click revert, plus “Merge into main” and “Open merge PR” with the same label suggestion and pre-merge eval check as the Versions page.
A chat on main proposes its changes for approval instead. Once its branch is merged or deleted, a branch chat becomes read-only and keeps saying which branch it worked on.
Git-managed projects
Use a normal git branch and pull request. cassis eval run tests the context in the checkout without publishing it. The CLI option --branch <name> selects an existing Cassis branch; it does not mean the current git branch. See the eval reference.
Git branches under cassis/ are reserved for Cassis-created app branches. Use your own branch names for repository work.