Multi-agent coding needs a referee
Your AI coding agents can both be right — and still wreck the same repo.
Claude Code, Codex and other coding agents can make sensible decisions in isolation while quietly pushing the project in incompatible directions. CrossCheck catches supported project-decision conflicts before they become rework.
Local
scan
No signup
required
No source
upload
7 agents
native adapters
Live conflict demo
Example of a supported decision class
Claude Code
CURRENTdatabase_engine
PostgreSQL
Codex
PROPOSEDdatabase_engine
MySQL
CROSSCHECK CONFLICT
DENIED BEFORE WRITEDatabase engine decision does not match the repository.
The disagreement stops here.
You choose the correct direction before another agent builds more work on top of the wrong assumption.
The expensive part is discovering the conflict late
Same agents. Same repo. Very different outcome.
WITHOUT A SHARED GUARDRAIL
The contradiction lands first.
- 01One agent decides PostgreSQL.
- 02Another later assumes MySQL.
- 03Both keep producing reasonable-looking work.
- 04You discover the mismatch after code, tests or review expose it.
WITH CROSSCHECK
The contradiction becomes the decision point.
- 01CrossCheck reads the existing supported project decision.
- 02The conflicting proposal is flagged before it lands where hooks allow it.
- 03You choose which direction is actually canonical.
- 04The agents continue from one shared repo decision.
Three chances to catch it
CrossCheck stays close to the moment an AI assumption turns into code.
01
Before the AI writes it
For supported conflicts, CrossCheck can deny recognized edits through documented native hooks for seven coding agents.
02
Straight after an edit
If something slips through, CrossCheck scans the project again and feeds the conflict back into the coding workflow.
03
Before the commit
A Git check is the final repo boundary, so supported contradictions can still be blocked before they enter project history.
What the subscription adds
The paid product is a persistent repo decision contract — not just another scan.
CrossCheck remembers supported canonical decisions, checks future agent work against them, and gives intentional architecture changes an explicit migration path instead of forcing you to turn the guard off.
01
Persistent decisions
Pin supported choices such as PostgreSQL, Prisma, Clerk or npm in a repo-level decision contract so later agents have one canonical direction.
02
Drift protection
CrossCheck can still flag a wrong replacement after stale old evidence has disappeared, because it checks against the pinned decision rather than only comparing files.
03
Controlled migrations
Moving intentionally from one supported choice to another? Open a migration so old and target values can coexist temporarily while third alternatives remain blocked.
04
Receipts + history
Blocked supported conflicts receive local receipt IDs and a source-code-free event history, so you can see what CrossCheck stopped and why.
.zfinia/decisions.json so the same supported choices travel with the repository. Local runtime files and conflict history stay excluded from Git. A separate offline CI runtime can be committed with the workflow.Works across your AI coding stack
One project brain for all your AI coding agents.
Claude Code · OpenAI Codex · Cursor · GitHub Copilot / VS Code · Gemini CLI · Windsurf / Cascade · Cline
Seven documented native hook adapters plus Git/CI checks that travel with your repository. Read-only MCP context is available where configured. VS Code hooks are Preview. Trust is required; post-edit checks cannot undo writes. Windsurf MCP needs manual setup; CrossCheck does not configure Cline MCP, and Cline native hook auto-install is not claimed on Windows.
See exact capabilities, setup and limits →Do not take our word for it
Run it against your own repo first.
The free scanner currently looks for contradictory signals around database engine, ORM, authentication provider and package manager. It runs locally, requires no account and does not upload your source code.
If it finds something useful, then decide whether continuous protection is worth US$29/month.
CrossCheck is intentionally narrow in early access. A clean scan does not mean every possible architectural contradiction has been ruled out.
Fastest way to try CrossCheck
Scan a repo folder in your browser.
Pick the repository folder. CrossCheck reads only its supported config and decision files in this browser tab. Your files are not uploaded.
Prefer the terminal?
Run the same supported free check from the repository root:
curl -fsSL https://www.zfinia.com/crosscheck-free.mjs -o crosscheck-free.mjs && node crosscheck-free.mjs --source directiwr https://www.zfinia.com/crosscheck-free.mjs -OutFile crosscheck-free.mjs; node .\crosscheck-free.mjs --source directYour source code stays local. This command downloads the public scanner and sends small anonymous usage events: scanner version, OS/Node family and bounded scan outcome. No repository contents, paths or source code are sent. Add --no-telemetry or set ZFINIA_TELEMETRY=0 to opt out. A random temporary ID helps estimate repeat use until your system clears it.
For a fully offline scan after download, run node crosscheck-scan.mjs directly. Native guards, Git checks and MCP remain offline.
Continuous protection
Keep the speed of multiple AI agents. Give the repo one durable set of decisions.
The paid product keeps CrossCheck in the repository while you work. Claude Code, Codex, Cursor, VS Code Copilot (Preview), Gemini CLI, Windsurf and Cline share one contract. Native hooks check recognized edits where the adapter is supported, with Git and GitHub CI as repository boundaries.
Early access covers supported project decisions only. Coverage expands from real conflicts rather than pretending every semantic disagreement can already be detected.
Early access
PER REPOSITORYUS$29
/ month
- ✓ Persistent supported decision contract
- ✓ Pre-write + post-edit agent checks
- ✓ Git pre-commit backstop
- ✓ Controlled architecture migrations
- ✓ Conflict receipts and local history
- ✓ Protection doctor and status checks
Protecting more than one repo? Adjust quantity in checkout.