Comparison

Nool vs Entire

Entire records what an agent did. Nool governs what an agent is allowed to land. We ran both, and plain Git, against the same concurrent edits. They answer different questions, and they run side by side on one repository without clashing.

  • Entire traced a line of code back to the original agent prompt. Nool records intent and causal history, not transcripts.
  • Nool flagged the second agent before it edited and refused its proposal. With Git and Entire the overlap first showed up at git merge.
  • Both ran on one Git repository: refs/entire/* and refs/nool/* never overlapped, and Entire's commit hooks stayed in place.
Reproduce the benchmark
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.json

Needs 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

CriterionEntireNool
Agent session captureYes. Full sessions, and the original prompt behind a line of codeNo transcripts. Agent-supplied intent, causal history and gate results per change
When two agents' overlap shows upAt git merge. Entire adds no merge hookBefore editing. The second agent's lease and proposal were refused
Different methods added at the same spotGit conflict, fixed by handMerged automatically; tests passed
Same method rewritten by bothGit conflict, fixed by handStopped for a human. The semantic pre-check missed it; the textual merge caught it
Policy gate before a change landsNoneRefused an agent edit with no editor contract
Require an Entire checkpoint on AI changesRecords checkpoints; does not require themNot enforced as of 7.24.0. A replacement policy runs only on a development build
Rewind to a known-good stateCheckpoint rewind on a shadow branchnool rewind, plus replay and bisect over the ledger
HostingOptional hosted Git; search, dispatch and recap need itNone. GitHub, Origin or any Git host stays the system of record
LicenseMIT CLICLI 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.