Repository navigation
Resumable sync with per-entity error journal - #100
Merged
Merged
Conversation
Per-entity fetch failures now go to a sync_errors journal instead of aborting the run. The cursor is persisted after every batch so an interrupted sync resumes from where it stopped, and journal entries are retried on the next sync (up to 3 attempts each). MantisHub initial sync uses a snapshotCeiling pinned at run start so DESC pagination stays stable across resumes; full-sync list pages are 100, incremental batches are 25. The users phase aborts after 10 fetch failures and emits shell entities for the remaining users from data already collected during the issues phase. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The parallel-jobs refactor seeded an active job synchronously in the HTTP handler and then called ensureSyncJob again from startSyncJob, where the already-active guard returned null and the sync silently never ran — "starting" hung until the 60s retention sweep. startSyncJob now picks up the seeded entry from the map and claims it iff status === "starting". MantisHub: list endpoint now uses select=id,updated_at (the per-issue detail call returns the full payload anyway), single PAGE_SIZE=25 for both full and incremental, and per-issue detail fetches run 5-way concurrent for a meaningful RTT-bound speedup. Status messages drop the collection-name prefix and inline counters since both are visible in the progress card. Counter-deleted is neutral grey now; counter-failed gets the red. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code