Overview
Optimize state reconstruction for long-lived streams by periodically saving snapshots and starting reconstruction from snapshot instead of version 0.
Depends on: #247 (Performance Benchmarking Suite) - need performance data to determine if snapshots are necessary and what snapshot frequency makes sense.
Design
SnapshotStore Trait
save_snapshot(stream_id, version, state) method
load_snapshot(stream_id) returns (version, state)
- Snapshots stored alongside events
- Automatic snapshot creation at configurable intervals
Executor Integration
- Check for snapshot before reading events
- If snapshot exists, start from snapshot version
- Apply only events after snapshot
Benchmark-Driven
- Use benchmark data to determine optimal snapshot frequency
Acceptance Criteria
Migrated from beads issue: eventcore-012
Overview
Optimize state reconstruction for long-lived streams by periodically saving snapshots and starting reconstruction from snapshot instead of version 0.
Depends on: #247 (Performance Benchmarking Suite) - need performance data to determine if snapshots are necessary and what snapshot frequency makes sense.
Design
SnapshotStore Trait
save_snapshot(stream_id, version, state)methodload_snapshot(stream_id)returns(version, state)Executor Integration
Benchmark-Driven
Acceptance Criteria
Migrated from beads issue: eventcore-012