Skip to content

feat: file-based checkpoint persistence for connectors#114

Merged
c-h- merged 1 commit intomainfrom
feat/issue-107-checkpoints
Mar 12, 2026
Merged

feat: file-based checkpoint persistence for connectors#114
c-h- merged 1 commit intomainfrom
feat/issue-107-checkpoints

Conversation

@c-h-
Copy link
Copy Markdown
Collaborator

@c-h- c-h- commented Mar 12, 2026

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:

  • Atomic file writes (write temp → rename) to prevent corruption on crash
  • New defaults.checkpoint config: store: file|memory, dir: .orgloop/checkpoints
  • Smart store resolution: FileCheckpointStore when modulePath is available, InMemoryCheckpointStore as fallback
  • 11 new tests (store atomicity + runtime resolution). All 1302 tests passing.

@c-h- c-h- enabled auto-merge (squash) March 12, 2026 15:24
@c-h- c-h- force-pushed the feat/issue-107-checkpoints branch 2 times, most recently from b375d40 to 60a2223 Compare March 12, 2026 16:14
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>
@c-h- c-h- force-pushed the feat/issue-107-checkpoints branch from 60a2223 to c888c12 Compare March 12, 2026 16:32
@c-h- c-h- merged commit f89f278 into main Mar 12, 2026
1 check passed
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.

feat: File-based checkpoint persistence for connectors (default)

1 participant