git clone https://github.com/nool-inc/nool-vs-entire.git
cd nool-vs-entire
./verify_benchmark.sh
# Every command, exit code, timing and output excerpt
less benchmark/results/latest.jsonNeeds nool, entire, git and python3 on your PATH. Licensed Nool scenarios need the matching edition. One machine, single runs, a synthetic two-branch workload on a small file: a comparison of behaviour, not a performance ranking.
What Entire does
Entire is an MIT-licensed CLI and hosted Git platform from the former GitHub CEO. It hooks into your Git workflow and captures each AI agent session, including prompts, responses, files changed and token usage, as checkpoints linked to commits. A shadow branch holds checkpoints while a session is active, line attribution shows how much of a commit came from the agent, and a Trail groups one branch and one pull request from intent to shipped code for team review. Search, dispatch and recap run on its hosted service.
What Nool does
Nool is a change-control layer for the same agents. Before an agent edits shared code it announces intent and takes a lease on the files it will touch. Its proposal is checked for blast radius and conflicts with other agents' work and run through policy gates, then solidifies into a signed ledger and lands in Git. Replay, blame and bisect read that ledger back when something breaks.
What the benchmark measured
Two simulated agents added OAuth2 and SAML login to the same Python file, under plain Git, Git with Entire CLI 0.12.2, and Nool 7.23.0. Nool reported the overlap before either agent edited and refused the second agent's lease and proposal. When the two added different methods at the same spot, Git and Git with Entire stopped on a conflict; Nool merged both and the tests passed. When both rewrote the same method, all three stopped for a human. Nool's semantic pre-check missed that collision and its textual merge caught it. Entire was the only tool that recovered the prompt behind a line.
Where they differ
Provenance versus permission. Entire answers how a change happened: which session, which prompt, how much of the file came from the agent. It installs commit and push hooks but no merge hook, so it does not change when or how conflicts appear. Nool answers whether a change should happen at all and stops two agents from colliding before either commits. In the benchmark, Nool's policy gate refused an agent edit until an editor contract existed; Entire has no equivalent gate, and Nool has no transcripts.
Using both
Run Entire to keep a searchable record of agent sessions, and run Nool to gate what those sessions may change. In the benchmark they shared one repository: Entire wrote five refs under refs/entire, Nool wrote ten under refs/nool, none overlapped, and Entire's commit-msg hook stayed in place. One integration does not work yet. A Nool rule requiring every AI-tagged change to link an Entire checkpoint was not enforced in 7.23.0: a tagged change with no checkpoint landed. A replacement policy passes its tests on a development build, but no release can load it yet; a re-check against 7.24.0 failed the same way.
When to choose which
Choose Entire when the question your team keeps asking is what happened: which session produced this commit, what was the prompt, how much of the file came from the agent. Its checkpoints, line attribution and trails answer that well and cost nothing to adopt. Choose Nool when the question is what should be allowed to happen: two agents want the same scope, a change reached further than it said it would, a policy must hold before push. Choose both when you need the full record and the control; one writes checkpoints and the other writes knots, and both leave your commits alone.
Entire vs Nool, side by side
| Criterion | Entire | Nool |
|---|---|---|
| Agent session capture | Yes. Full sessions, and the original prompt behind a line of code | No transcripts. Agent-supplied intent, causal history and gate results per change |
| When two agents' overlap shows up | At git merge. Entire adds no merge hook | Before editing. The second agent's lease and proposal were refused |
| Different methods added at the same spot | Git conflict, fixed by hand | Merged automatically; tests passed |
| Same method rewritten by both | Git conflict, fixed by hand | Stopped for a human. The semantic pre-check missed it; the textual merge caught it |
| Policy gate before a change lands | None | Refused an agent edit with no editor contract |
| Require an Entire checkpoint on AI changes | Records checkpoints; does not require them | Not enforced as of 7.24.0. A replacement policy runs only on a development build |
| Rewind to a known-good state | Checkpoint rewind on a shadow branch | nool rewind, plus replay and bisect over the ledger |
| Hosting | Optional hosted Git; search, dispatch and recap need it | None. GitHub, Origin or any Git host stays the system of record |
| License | MIT CLI | CLI with free and enterprise plans |
Frequently asked questions
- Is Nool a replacement for Entire?
- No. Entire is an observability and provenance layer that records agent sessions. Nool is a governance layer that decides what agents may change. If your problem is knowing what happened, start with Entire. If your problem is agents stepping on each other or shipping out-of-scope changes, start with Nool.
- Can I run Entire and Nool on the same repository?
- Yes. We ran both on one repository in the benchmark. Entire stored its checkpoints under refs/entire and Nool its ledger under refs/nool and the .nool directory, with no overlap. Entire's commit-msg hook stayed in place, and Nool enforced its own commit rules on its own commit path. Neither needs the other to work.
- Can Nool require an Entire checkpoint on every AI-written change?
- Not in any released version yet. On 7.23.0 the benchmark landed a rule requiring AI-tagged changes to link an Entire checkpoint, and a tagged change without one still landed. A replacement policy passes its own tests on a development build, but on the released 7.24.0 it fails to load and blocks every proposal, so do not install it. Until a release supports it, treat the two tools as separate records.
- Does Nool record full sessions or per-line attribution like Entire?
- No. Nool records the agent identity, intent, blast radius, evidence and causal history on each change, but not prompts, transcripts or how many lines of a commit an agent wrote. Teams that need those should run Entire alongside it.
- Which coding agents do they support?
- Entire lists Claude Code, Cursor, GitHub Copilot, Codex, Gemini, Pi, OpenCode, Droid, Antigravity and Amp. Nool works with any agent that can run a CLI or call an MCP server, including Claude Code, Codex, Cursor and Gemini CLI.