Skip to content

feat: global personal store (lore sync --global) - #41

Merged
franzer merged 1 commit into
mainfrom
feat/phase-29.4-global-store
Jul 1, 2026
Merged

feat: global personal store (lore sync --global)#41
franzer merged 1 commit into
mainfrom
feat/phase-29.4-global-store

Conversation

@franzer

@franzer franzer commented Jul 1, 2026

Copy link
Copy Markdown
Member

Adds a global personal store to lore sync: the user's cross-tool, cross-repo aggregate of ALL sessions, synced to a private git repo they own (managed at ~/.lore/sync), for personal multi-machine backup and search. Complements the per-repo store.

  • lore sync --global setup: configure the store's remote URL + passphrase, init ~/.lore/sync, create or join the store.
  • lore sync --global: push all sessions to the global store and pull others' from it.
  • lore sync --global status.
  • Independent tracking via a new global_synced_at column (reset alongside synced_at on any local change), so global and per-repo sync states never interfere.
  • Shares the per-repo fetch/merge/orphan/carry-forward/CAS machinery via a SyncStore parameter; per-repo behavior is unchanged (its SQL and tests are byte-identical for the per-repo track).

Not wired into the pre-push hook or daemon (deferred to 29.6). New config: sync_global_remote.

Tests: global create + round-trip between machines; global pushes all sessions regardless of directory; per-repo/global track independence (each does not mark the other); both-track reset on session/child change. Full suite green, clippy -D warnings clean.

@franzer
franzer merged commit 36e97c3 into main Jul 1, 2026
5 checks passed
@franzer
franzer deleted the feat/phase-29.4-global-store branch July 1, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant