Added
entire loginkeeps the authorization URL visible and clickable, starts waiting for the callback immediately, and offers Enter to open the browser orcto copy β so a login can be finished in a different browser or profile without a terminal keypress (#1961)- Checkpoints now follow the remote you actually push to: when a push agrees with your branch's declared push destination, that observed remote is recorded as the checkpoint sync remote, announced on stderr, and the same push carries the checkpoints.
entire statusshows it as "follows your branch's push destination" (#1991, #2036) - On the git-refs backend, a fresh clone discovers checkpoints without a dedicated
checkpoint_remoteβcheckpoint listand the branch view ls-remote the read candidates and merge the listings (#1956) entire trail show --jsonprints one trail object in the same shape as an entry oftrail list --json(#1970)
Changed
entire logindefaults tohttps://auth.entire.ioand follows its regional handoff, exchanging the code at the region that minted it;--serverstays for special cases (#1945)- Commands no longer pick a login for you. When several logins are saved, the acting identity must be selected explicitly β
entire auth use, or--context/ENTIRE_CONTEXTfor one-offs. Previously adding a second login could silently change which identity an existing command authenticated as (#1982) entire trailtalks to entire-api directly; the legacy backend andENTIRE_TRAILS_BACKENDare retired (#1949, #2021)local_devmode is removed. It existed only to dogfood unreleased changes in this repo, pointing installed hooks at a launcher inside the working tree. Hooks now always name theentirebinary, the--local-devflags andscripts/entire-devare gone, and the settings key is accepted as a documented no-op so existing settings files still parse (#1999)- Checkpoint reads follow the elected sync remote, with
originkept as a read-only legacy tier. Reads previously hardcodedorigin, so a repo withcheckpoint_push_remoteset β or with nooriginat all β wrote checkpoints it could never read back (#1951) - A push that does not carry checkpoints now says so on stderr, naming the sync remote and the setting to change, instead of stranding them silently (#1987)
Fixed
entire loginon Windows opened a truncated authorization URL and was rejected for a missingredirect_uri; the browser now launches viaShellExecuteinstead ofcmd /c start, which cut the URL at its first&(#1981)- Every
entireinvocation is roughly 1.9Γ faster to start β 33.8ms β 18.0ms β by dropping a 2.2MB lookup table thatgo-runewidthv0.0.26 built ininit()on every run, including every agent hook fire (#2026) - Codex sessions no longer pile up: Codex's
SessionEndhook is now registered, and the dead-owner sweep inentire status/entire doctoralso covers sessions whose agent quit after its last turn (previously only fully-active ones), so an agent killed before its hook runs is still finalized (#1940) - Codex sessions are titled from the genuine prompt instead of Codex's injected runtime preamble (
<environment_context>,# AGENTS.md,<recommended_plugins>,<user_action>,<turn_aborted>) (#2016) - Factory AI Droid Worker sessions are attributed to their parent task now that Droid dispatches Workers in the background (#2000)
entire enableno longer downloads the whole checkpoint archive on a fresh clone β 31s and a silent give-up on every run became 0.9s (#1994)- Checkpoint
metadata.jsoncould outgrow GitHub's 100MB blob limit and makeentire/checkpoints/v1permanently unpushable. Nested git checkouts under the repo root (agent worktrees, vendored clones) are excluded from worktree status the way git itself excludes them, andfiles_touchedis deduped at the checkpoint write boundary (#1937, #1969) - The OpenAI privacy filter fails closed when it is enabled with no effective categories, instead of stamping
Entire-OPF-Applied: trueon commits it never scanned β which permanently exempted them from later rewrites (#1986) - Resuming a session after the repo directory was renamed or moved reconciles the recorded worktree path, so commits keep their
Entire-Checkpointtrailer (#1896) entire searchorders semantic results by rerank score and dedupes folded legacy sessions by checkpoint ID, so the CLI and the web return the same results for the same query (#1976, #2004)entire trail finding add --patch/--patch-filesends the pre-image anchor the API requires; it had never once succeeded since the flags shipped (#1995)entire auth statusreads the home jurisdiction from the login token instead of/me, so the slug it prints is the one--jurisdictionactually routes on (#1997)- An unreachable login server names the context that chose it and what to run next, instead of surfacing an OpenAPI security-scheme chain (#1998)
- Windows Scoop installs of the pre-rename
clipackage keep receiving releases, and are guided through a failure-safe migration toentire(#1946) entire loginno longer closes a TTY descriptor its key reader may still hold, fixing a data race that intermittently took ~30 unrelated tests down with it (#2006, #2009)
Housekeeping
- Hook traces at or above 1.5s now log at WARN, so a slow hook records its own per-step breakdown in real INFO sessions instead of only under DEBUG (#1984)
- One process-wide go-git object cache replaces a fresh cache per repository open: 36% fewer object reads and 27% fewer bytes on a 447MB-pack repo, and one 96MiB cache instead of one per open. Latency is unchanged (#1985)
- Three CI flakes from test helpers sharing state across parallel tests are fixed (#1983)
- The login quit watchdog collapses into
context.AfterFunc, dropping a kill fallback that could not unblock a wedged event loop (#2011) - Go bumped to 1.26.6, clearing six stdlib advisories, plus go-git (for partial-clone promisor bookkeeping), ogen, posthog-go, x/mod, lipgloss, and x/ansi bumps (#1945, #1971, #1988, #2005)
Thanks
Thanks to @MuskanPaliwal for tracking down the checkpoint metadata bloat β both the nested-checkout status walk and the files_touched dedupe at the write boundary β which had made entire/checkpoints/v1 unpushable on repos with agent worktrees!