Skip to content

Entire enabled but commits never get Entire-Checkpoint trailer (hooks run, no linkage) #768

@dayhaysoos

Description

@dayhaysoos

What happened?

Hello! I'm seeing a reproducible issue where Entire is enabled andhooks are installed, but new commits do not receive Entire-Checkpoint trailers.

Steps to reproduce

  1. Make sure Entire is enabled (I'm on the latest version 0.5.1)
entire enable --force --absolute-git-hook-path --agent opencode
entire status
ls -l .git/hooks/prepare-commit-msg .git/hooks/commit-msg .git/hooks/post-commit
  1. Stage any file change
  2. Commit with debug:

ENTIRE_LOG_LEVEL=DEBUG git commit -m "checkpoint debug test"

  1. Check commit linkage
git show -s --format=%B HEAD
entire explain --commit HEAD --no-pager
entire trace

What happens:

  • Commit succeeds, but commit message has no trailer:
  • no Entire-Checkpoint: ...
  • entire explain --commit HEAD --no-pager returns:
    • No associated Entire checkpoint
    • Commit does not have an Entire-Checkpoint trailer.
  • entire trace only shows post-commit:
    • post-commit ...
    • step: open_repository_and_head
      entire doctor reports metadata branches OK (no obvious repair action suggested).

Entire CLI version

Entire CLI 0.5.1 (d46fdc2)

OS and architecture

Darwin 25.3.0 arm64

Agent

GPT-5.3 Codex

Terminal

OpenCode Desktop terminal (I suppose it's Ghostty?)

Logs / debug output

# Config confirms Entire is enabled with always-linking
.entire/settings.json:1-6
{
  "enabled": true,
  "absolute_git_hook_path": true,
  "telemetry": true,
  "commit_linking": "always"
}


# Commit attempt 2 (same result)
.entire/logs/entire.log:6329-6374
{"time":"2026-03-24T23:24:34.756062-04:00","level":"DEBUG","msg":"prepare-commit-msg hook invoked","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"hooks","hook":"prepare-commit-msg","hook_type":"git","strategy":"manual-commit","source":"message"}
{"time":"2026-03-24T23:24:34.780429-04:00","level":"DEBUG","msg":"stagedFilesOverlapWithContent: no overlapping files found","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"checkpoint","staged_files":1,"files_touched":1}
{"time":"2026-03-24T23:24:34.780441-04:00","level":"DEBUG","msg":"sessionHasNewContent: no transcript, carry-forward with staged files","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"manual-commit","session_id":"ses_2f84f8dc1ffeWdjA1lTVXOJuGQ","files_touched":1,"staged_files":1,"result":false}
{"time":"2026-03-24T23:24:34.780726-04:00","level":"DEBUG","msg":"prepare-commit-msg: no content to link","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"checkpoint","strategy":"manual-commit","source":"message","sessions_found":38}
{"time":"2026-03-24T23:24:34.807891-04:00","level":"DEBUG","msg":"commit-msg hook invoked","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"hooks","hook":"commit-msg","hook_type":"git","strategy":"manual-commit"}
{"time":"2026-03-24T23:24:34.844439-04:00","level":"DEBUG","msg":"post-commit hook invoked","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"hooks","hook":"post-commit","hook_type":"git","strategy":"manual-commit"}
{"time":"2026-03-24T23:24:34.849628-04:00","level":"DEBUG","msg":"perf","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"perf","op":"post-commit","duration_ms":5,"steps.open_repository_and_head_ms":0,"hook_type":"git"}


# Additional context: transcript export repeatedly failing around same period
.entire/logs/entire.log:6091-6092
{"time":"2026-03-24T08:23:22.29529-04:00","level":"WARN","msg":"failed to prepare transcript","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"lifecycle","agent":"opencode","error":"opencode export returned invalid JSON (66048 bytes)"}
{"time":"2026-03-24T08:23:23.354505-04:00","level":"INFO","msg":"checkpoint skipped (no changes)","session_id":"ses_2e7798cf4ffe51qGR1tS3y3sM7","component":"checkpoint","agent":"opencode","strategy":"manual-commit","checkpoint_type":"session","checkpoint_count":6,"shadow_branch":"entire/69f1d19-e3b0c4"}

Additional context

One thing I want to mention that might have been the catalyst. When I originally set up Entire, I did the quick start command and selected OpenCode at the time.

Today, I was experiencing in consistencies so I figured I should run entire enable again with the OpenCode flags assuming maybe something will get fixed. However, since then, I haven't been able to capture Checkpoints at all. Not sure if this could have caused it but figured it was worth sharing.

Let me know if you have any questions!

UPDATE!!

It looks like my agent can create Checkpoints but I can't. This was the reply. Still troubleshooting.


I created an empty commit: 1c512f9 with message agent checkpoint canary.
The commit did get a trailer:
Entire-Checkpoint: 1c9dfafc4479
But entire explain --commit HEAD --no-pager fails with:
checkpoint not found: 1c9dfafc4479
So checkpoint injection is happening now, but checkpoint lookup/storage is inconsistent (trailer points to a checkpoint ID Entire can’t resolve). That’s a new, very useful signal for your Entire issue.```


Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions