Branches
Branches are isolated review workspaces for requirement, test, and component
changes. They let your team review AI-generated or human changes before those
changes become product truth on main.
Branch lifecycle
- Create a branch from
main. - Edit requirements, tests, or components on the branch.
- Open the Branches page.
- Review additions, modifications, deletions, link proposals, and conflicts.
- Merge into
mainor delete the branch.
Branches can be created explicitly or automatically by workflows such as intent capture and agents.
Change stats
Branch rows show counts for:
- Requirement additions, modifications, and deletions.
- Test additions, modifications, and deletions.
- Component additions, modifications, and deletions.
- Conflicts.
Merge preview
Merge preview shows the changes that would be applied to main. Use it before
merging from the CLI:
tiden branch merge-preview --product-id <product-id> --name <branch-name>
Conflict resolution
A conflict occurs when the branch changed an item and main also changed that
same source item after the branch copy was created. Resolve conflicts by
choosing either:
- Keep branch.
- Keep main.
The CLI can auto-resolve all conflicts in one direction:
tiden branch merge \
--product-id <product-id> \
--name <branch-name> \
--auto-resolve branch
Link proposals
On non-main branches, requirement-test link changes are proposals. Review them before merge:
tiden branch link-proposals list \
--product-id <product-id> \
--name <branch-name>
tiden branch link-proposals review \
--product-id <product-id> \
--name <branch-name> \
--decision accepted \
--all-proposed
Merges block unreviewed link proposals unless you pass:
--allow-unreviewed-link-proposals
Generated branches
Generated branches are commonly named with prefixes such as intent/ or
agents/. Treat them as proposals. Review the diff, inspect sources and agent
artifacts, then merge only the changes you trust.