Skip to content
Raw Markdown

Work on branches

Use a branch when a change needs several edits or a dedicated eval run before it is ready to publish.

main branch v1 v2 v3 edit in parallel

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.