Nexma

Branches

Parallel design workflows

Branches

A branch is a parallel design workflow over the same project. Branches let you explore alternatives without disturbing the main design and merge back when an option proves out. The model mirrors git: branches have history, diffs, and merges.

Why branches

Spatial designs are not single-shot. A typical project iterates through dozens of configurations — different cabinet placements, different splitter ratios, different pump sizes. Without branching, every alternative either overwrites the working design or accumulates as a side-by-side copy with no diff history.

Branches make iteration first-class. Open three options as three branches; compare them on the Globe; merge the best one to Main; archive the rest with their full provenance.

Operations

  • Branch. Fork from any commit. The new branch starts identical to its parent.
  • Commit. Snapshot the current Codex state on a branch. Commits carry a

message, an author, and a timestamp.

  • Diff. Compare two commits or two branches. Diffs are spatial — added,

modified, and removed features render directly on the Globe with a side-by-side toggle.

  • Merge. Bring one branch's changes into another. Conflicts surface as

Jax-mediated review prompts; you accept, reject, or rewrite each conflicting hunk.

  • Blame. For any feature, show the commit that last modified it and the author

who made the change.

  • Time-travel. Check out any commit as a read-only view. Useful for design

reviews and audits.

Main

Main is the canonical branch. Every project has exactly one. Promoting a design to baseline is a merge into Main with the approve authority.

Working with Jax across branches

Jax operates on the active branch. Switching branches re-points Jax's working context; the conversation history is preserved per session, not per branch. Ask Jax to "redo this on a new branch" and it will fork, switch, and replay.

Subagents inherit their parent's branch. A spawned subagent cannot mutate Main unless the parent has write on Main.

Limits

  • Branches are cheap to create but hold a full snapshot of the Codex state.

Practical projects keep a working set of single-digit branches; archived branches stay queryable but do not count against active editing surfaces.

  • Cross-project merges are not supported. A branch always exists within one

project.