question(cloud): supported cutover to a fresh Cloud database without losing sync cursor and deletion safety
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- go, sqlite
- Domain
- distributed-systems
Research direction
Read the 3.2.1 autosync paths in internal/cloud/autosync/manager.go (defaults and pull cursor), chunk tracking in internal/sync/sync.go, and remote mutation/deletion-floor handling in internal/store/store.go. First determine whether the protocol has a server identity or epoch and how pending writes and other clients behave across a rebuilt database. Done means maintainers define a supported, sequence-safe cutover procedure or clarify that none exists; the issue reports no end-to-end cutover test.
Written by the indexing model from the issue text.
Description
Question
What is the supported Engram 3.2.1 procedure for moving an existing SQLite client to a fresh official Engram Cloud database while preserving synchronization continuity and deletion safety?
The fresh Cloud is populated through the official current-state remirror path, but its mutation sequence range can be lower than the existing client's persisted global cloud pull cursor. How should a migration handle that cursor, previously imported chunks, and deletion floors without resetting store state manually, fabricating acknowledgments, resurrecting deleted entities, or losing newer writes?
Does Engram support a server-instance identity/epoch or an official migration operation for this case? If not, what sequence-preserving procedure do maintainers recommend before changing the client endpoint?
Why does this need issue tracking?
This requires a durable sync-protocol decision or a supported migration contract, not only deployment troubleshooting. A successful current-state export and import into an empty client does not demonstrate that an existing autosync client can consume a rebuilt server's journal safely. Guidance should account for deletion floors, pending local mutations, concurrent writes, and other existing clients.
Affected Area
Sync (multi-instance)
Additional Context
Scope: official Engram CLI and Cloud 3.2.1. This is a maintainer guidance request based on source inspection and isolated current-state import checks; an end-to-end autosync cutover was not executed, and no production cursor or deletion floor was reset.
Relevant release source:
- Autosync defaults use global target
cloud: https://github.com/Gentleman-Programming/engram/blob/v3.2.1/internal/cloud/autosync/manager.go#L213-L225 - Pull resumes from persisted
LastPulledSeq: https://github.com/Gentleman-Programming/engram/blob/v3.2.1/internal/cloud/autosync/manager.go#L852-L887 - Chunk tracking keys use
cloud:<project>: https://github.com/Gentleman-Programming/engram/blob/v3.2.1/internal/sync/sync.go#L2089-L2095 - Remote mutation/deletion-floor handling: https://github.com/Gentleman-Programming/engram/blob/v3.2.1/internal/store/store.go#L9938-L9976
Related, but not equivalent: #1603 and #570 concern routing/named remotes; #595 concerns full current-state remirror. This question is specifically about preserving existing-client continuity when the backing Cloud database and its sequence space are recreated. It does not propose a routing implementation or manual SQL reset.
- Dominant language
- Go
- Stars
- 7.1k
- Forks
- 729
- Avg merge
- 10h 43m
- Merged PRs (30d)
- 332
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Gentleman-Programming/engram
-
status:needs-review type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Gentleman-Programming/engram#1687 ·
Maintainers usually reply within 1 day
-
priority:medium status:needs-review type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Gentleman-Programming/engram#863 · 1 comment ·
Maintainers usually reply within 1 day
-
question(sync): isolate enrolled-repair writer blocking in a reproducible fixturePossibly taken @dnlrsls claimed this today. Openstatus:approved type:question
Gentleman-Programming/engram#1913 · 3 comments · 1 assignee ·
Maintainers usually reply within 1 day
-
status:needs-review type:bug
Difficulty 4/5 3-5 days Newbie friendliness 12/100
Gentleman-Programming/engram#1912 ·
Maintainers usually reply within 1 day
-
status:needs-review type:bug
Difficulty 5/5 Over a week Newbie friendliness 15/100
Gentleman-Programming/engram#1911 ·
Maintainers usually reply within 1 day
All issues in Gentleman-Programming/engram
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 81/100
apache/rocketmq-dashboard#6895 ·
Maintainers usually reply within 3 days
-
agent-butler-finding chore
Difficulty 1/5 Under an hour Newbie friendliness 88/100
jordansmall/spindrift#5466 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 87/100
777genius/agent-notifications#490 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
devantler-tech/ksail#7836 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
keyxmakerx/Chronicle#1469 ·
Maintainers usually reply within 1 day