I've been asking teams a simple question:
How are you handling merge safety when multiple coding agents work in the same repo?
The answers have all been reasonable:
But most of these workflows check one branch at a time.
Standard CI asks:
Does this PR work against main?
Multi-agent teams increasingly need to ask:
Does this PR still work with the other PRs currently open?
Those are not the same question.
Branch A, opened by Agent A:
function createUser(email: string, role: string) {}
Branch B, opened by Agent B:
createUser(email)
Both branches can pass CI against main.
There may be no Git conflict. No file overlap. No obvious review comment. Each PR can look safe in isolation.
The break only appears when both changes exist together.
That's the merge safety gap.
This is what we're building Rosentic to check.
Rosentic runs in CI and compares active branches against each other for semantic conflicts:
It runs inside your GitHub runner. Source code stays in your infrastructure. The result is a PR comment showing conflicts between the current PR and other active branches.
I asked about this in a few engineering communities this week. Nobody said, "we already have a tool for that."
People had good workflows. But the workflows were mostly variations of:
A developer framed it well:
The upstream/base branch approach handles git conflicts. What CI won't catch is two agents modifying the same domain with incompatible assumptions. That's the actual risk.
That's exactly the risk.
Worktrees solve local isolation.
CI solves branch-to-main validation.
Code review solves local diff quality.
None of those automatically prove that two open branches still agree on the same function signatures, routes, schemas, or service contracts.
That mattered less when one developer owned most of the context. It matters more when teams have several developers each running Claude Code, Codex, Cursor, or Copilot agents in parallel.
I'm looking to compare notes with teams actually experiencing this. Especially teams where:
I'm not trying to sell you a dashboard. I'm trying to understand where the breakage actually appears.
If this is happening on your team, email me: [email protected].