Skip to main content

Checkpoints

Why Does Entire Use Commit Trailers Instead of Git Notes?

Entire links commits to checkpoints with an Entire-Checkpoint trailer:
The trailer points to checkpoint metadata stored in the entire/checkpoints/v1 branch. Entire uses this approach because commit trailers survive common Git workflows better than metadata attached only to a commit SHA. Git notes have a few practical limitations:
  • Normal Git pushes skip them unless you configure note refs separately
  • They attach to commit SHAs, which change during rebases, amends, and cherry-picks
  • Hosted Git platforms do not consistently support them in review and merge workflows
By storing the stable checkpoint ID in the commit message, Entire keeps the link with the commit itself. That is more reliable for teams that rebase, amend, cherry-pick, use hosted merge flows, or have contributors using different Git clients.

Attribution

What Do entire blame and entire why Actually Tell Me?

Both commands answer questions about a line of code, and both answer them at the level of the commit that introduced the line, not the line itself. entire blame shows git-blame-style output with the attribution status of each line’s introducing commit:
  • AI: Entire attributed the commit to an AI agent session
  • MX: the commit mixed AI-attributed and human-attributed work
  • HU: the commit carries no AI-attributed checkpoint data
entire why takes a line and returns the commit, checkpoint, prompt, and session behind it. What they promise:
  • The commit that introduced the line as Git currently records it
  • Whether that commit carried agent-attributed checkpoint data
  • The session and prompt behind that commit, when a checkpoint is linked
What they do not promise:
  • That a given line was written by a specific agent or person. The tag describes the whole commit, so a line hand-edited inside an AI commit still reads as AI.
  • That the answer survives history rewriting. Both commands follow Git blame, so a rebase, squash, or manual conflict resolution reattributes the line to whichever commit Git now credits.
  • Line-level counts. --long adds agent, model, author, and session columns, all still commit-level.
entire blame and entire why are labs commands. They work today, and their output may change.

Why Doesn’t Entire Provide Durable Line-Level AI Attribution?

Entire preserves durable session and commit provenance. That means Entire can reliably answer questions like:
  • Which session produced this commit?
  • Which prompts and transcript led to this change?
  • Which checkpoint is linked to this commit?
Entire can calculate attribution for a session or commit, such as how many changed lines came from an agent versus a human. That is different from assigning a permanent owner to every line of code as it moves through Git history. Durable line-level attribution is much harder. In normal team workflows, line-level metadata becomes fragile when:
  • Commits are rebased, amended, cherry-picked, or squashed
  • Merge conflicts are resolved manually
  • Merges happen in hosted Git UIs
  • Human edits are mixed into a manual commit before commit time
The core issue is that lines move. A line can shift, split, merge with nearby edits, or be rewritten later. Keeping per-line attribution correct across those changes requires repair logic that runs everywhere history changes. Entire currently prioritizes a more durable record:
  • Preserve the full session transcript
  • Link commits to stable checkpoint IDs
  • Keep commit-level provenance intact across common Git workflows

Continue With

Investigate Why Code Exists

Trace a surprising line from attribution to the checkpoint context behind it.

Glossary

Definitions for checkpoints, sessions, trails, runners, and the rest of Entire’s vocabulary.