CodeLayers turns codebases into 3D dependency graphs. You point it at a GitHub PR and see the architecture. Which files changed, what depends on them, how far the blast radius reaches.
But there was always a question we couldn't answer: who actually wrote this code?
Not in the git blame sense. We know which developer committed it. The question is whether a human typed it out or whether Claude Code generated it while the developer grabbed coffee. That distinction matters more every month, and until recently, we had no way to show it.
Then we found Entire.io
Thomas Dohmke (the former GitHub CEO) launched Entire.io in February. The pitch clicked with us immediately: git tracks what changed, but it doesn't track why.
Think about it. You use Claude Code to build a feature. You go back and forth with it, refine the approach, fix edge cases. Then you commit. The commit message says "feat: add auth" and the entire conversation that produced that code vanishes. The next person reviewing your PR has no idea what process generated those changes.
Entire fixes that. It hooks into your AI agent and captures every session: the prompts, the files touched, the tokens consumed. All of it gets stored on an orphan branch in your repo called entire/checkpoints/v1, completely separate from your code branches. When you commit, it adds a trailer:
feat: Add user authentication
Entire-Checkpoint: a3b2c4d5e6f7
Entire-Attribution: 73% agent (146/200 lines)
We saw that and thought: we can read this. We already have the dependency graph. If we know which files were agent-authored, we can light them up.
Why this combination matters
More and more code in PRs is written by AI agents. As a reviewer, you're looking at the same flat diff either way. 19 files changed. You scroll through them. Maybe you catch the "Co-Authored-By: Claude" line and pay closer attention. Maybe you don't. Either way, that's all you get. One bit. Agent or no agent.
With Entire's checkpoint data in CodeLayers, you actually see which files were agent-authored and which were human-written. They show up as colored overlay rings on the 3D graph. And once you start looking at PRs this way, you notice something.
Agent-authored files tend to cluster together. They sit in the same part of the dependency tree because agents work on related files in sequence. Human-authored files are scattered differently. They're usually the configuration, the glue code, the files that tie the agent's output into the existing system. These two patterns look visually distinct in ways a flat diff never reveals.
Combine that with blast radius, and you get a real sense of where the risk is. When 19 files change and 304 more are downstream, knowing which of those 19 had Claude in the loop versus a human iterating for three days changes how you review them.
Seeing it in the wild
The best place to watch this play out is Entire's own repo. entireio/cli has 3,400+ checkpoints. They dogfood aggressively. The tool that records AI sessions was itself built with AI sessions that are all recorded. So you can actually see how much of Entire was written by Claude.
We pointed CodeLayers at a bunch of their PRs:
entireio/cli#531 ripped out the Strategy interface. 19 files, all 9 commits co-authored by Claude Opus 4.6, every one with an Entire-Checkpoint trailer. In the 3D view, the changed files sit dead center in the graph. High-centrality nodes with dependency lines fanning out everywhere. 304 files in the blast radius.
100% AI-Authored. 19 files, 451 sessions, 3 different agents. The orange rings are agent-touched nodes.
entireio/cli#570 is worth looking at. Claude Opus 4.6 wrote the code that teaches Entire how to instrument GitHub Copilot. 12 commits from Claude building the integration, then 2 late commits from Copilot itself contributing to its own instrumentation. Two AI agents in the same PR. In the graph, you can see the boundary between what the agents touched and what they didn't. Agent-authored nodes cluster in agent/, human config files sit elsewhere.
Claude Code wrote the Copilot integration. 316 sessions, 61K API calls. Then Copilot contributed to its own instrumentation.
Same PR, Impact tab. The blast radius ripples through the graph while agent-authored files glow orange.
entireio/cli#643 is a go-git v6 dependency bump. 76 files changed, 2 commits. The blast radius is wall-to-wall. 305 of 318 files affected. Seeing this one in 3D is honestly a little alarming. The whole graph lights up. Even a mechanical upgrade had a checkpoint trailer.
99% AI-Authored. 75 of 76 files touched by agents. Claude Code handled 74 files across 563 sessions. Gemini CLI picked up 3.
entireio/cli#614 shows two agents collaborating on a performance instrumentation framework. 21 commits. Claude built the foundation, Copilot contributed later. The checkpoint data tells you which agent did what.
90% AI-Authored. Three agents, 272 sessions, 4.9M tokens. Claude Code wrote 9 files, AI Agent touched 7, Gemini CLI contributed 2.
entireio/cli#509 unified token calculation across Claude Code, Gemini CLI, and OpenCode. 18 files across every agent implementation. Change the shared interface and everything downstream moves.
Getting this on your PRs
The fastest way to get this into your workflow is the CodeLayers GitHub Action. Add it to your CI and every PR automatically gets a comment with a 3D visualization link. If your repo uses Entire.io, the attribution overlays show up in those links with zero extra configuration.
# .github/workflows/codelayers.yml
name: CodeLayers
on: [pull_request]
jobs:
visualize:
runs-on: ubuntu-latest
steps:
- uses: codelayers-ai/codelayers-action@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}That's it. Every PR gets a visualization comment. If the repo has an entire/checkpoints/v1 branch, the Entire attribution data lights up automatically. If it doesn't, you still get the dependency graph and blast radius.
You can also run it from the command line:
codelayers explore https://github.com/entireio/cli/pull/531Or paste any public GitHub PR URL into codelayers.ai/explore and see it right in your browser. No account needed for public repos.
If you're using Entire with your AI agents, point CodeLayers at your PRs and let us know what you see. We're curious what patterns show up in other codebases.