You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(sessions): follow store remote fallback for renamed checkouts (#269)
When a checkout directory is renamed or moved on disk, both its path
alias and git_common_dir change, so registry identity resolution no
longer matches. The graph store already recovers via
`resolve_store_layout_for_project`, which falls back to a unique
git-remote match and reopens the originally registered store. Session-DB
routing did not: `registry_profile_session_db_path` was identity-only, so
after a rename the checkout reopened its graph store correctly but started
a fresh session history at a new default path, silently splitting session
continuity from graph continuity.
Make the session-DB resolver mirror the same identity-then-unique-remote
fallback, with the same remote-uniqueness gating. To preserve the
clone-borrow guard (a second same-remote clone must not inherit another
checkout's session store), the remote fallback is only accepted when the
matched project's registered checkout no longer exists on disk: a rename
leaves neither the canonical root nor the git common dir behind, whereas a
live clone leaves the original checkout in place.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments