feat: file-based checkpoint persistence for connectors#114
Merged
Conversation
b375d40 to
60a2223
Compare
Connectors now persist poll checkpoints to disk by default when running
via CLI (modulePath is set). Atomic writes (temp file + rename) prevent
corruption on crash. Configurable via defaults.checkpoint in YAML.
Key changes:
- FileCheckpointStore uses atomic writes (write to temp, rename)
- Runtime.loadModule() defaults to FileCheckpointStore when modulePath available
- New config: defaults.checkpoint.store ('file'|'memory') and checkpoint.dir
- SDK types, JSON schema, and ModuleConfig updated for checkpoint config
- CLI no longer creates its own FileCheckpointStore (Runtime handles it)
- 11 new tests (6 store, 5 runtime checkpoint resolution)
- Docs updated: spec, user guide, AGENTS.md
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
60a2223 to
c888c12
Compare
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.
Closes #107
Connectors now persist poll checkpoints to disk by default. On restart, they resume from where they left off instead of re-processing the lookback window.
Changes:
defaults.checkpointconfig:store: file|memory,dir: .orgloop/checkpointsFileCheckpointStorewhen modulePath is available,InMemoryCheckpointStoreas fallback