More than a history of edits
A list of old values tells you what happened. Version control also lets you try a change away from the live data, look at it as a whole, and decide. Tools for this exist for files, databases and data lakes, mostly for engineers. CodeKasten puts it in the workspace where people keep their records, with no command line.
A branch holds everything
There is a main branch, and you can make others to try something without touching it. A branch holds everything: records, record types, views, workflows, boards and settings. So "try something" can mean reorganising the projects, or redesigning the Project type itself.
Commits say what changed
A commit records the changes since the last one, with a message, under your name. Click a commit to see, for each record, whether it was added, modified or deleted, and field by field what the values were before and after.
From a commit you can start a new branch, cherry-pick it to another branch, cut a release, or revert: a new commit that undoes it. That works for deletions too, so reverting a commit that deleted a record brings the record back.
Merging, and what happens on a conflict
| When | What happens |
|---|---|
| The target has not changed | It moves on to the branch's newest commit |
| Both changed, in different records or fields | The changes are combined |
| Both changed the same field of the same record | The merge stops and shows each conflict: you choose a side, or abort |
Decide who may change what
Protect main and changes reach it through a merge. Somebody who may not merge asks for one with Request merge, and everybody who may gets it in their Inbox. Access is set per branch: who reads it, who changes it and who merges into it, by group or by name.
Made for agents as well as people
Branches are what make it safe to let an agent loose on real data: it works on its own branch, and a person reviews the result. See AI agent guardrails, and why we built it that way.
Ship it to other workspaces
A release is a commit too. Cut one from a branch and other workspaces can install it as an app, so a tool you built can be used by another team and updated later. Read about releases.