State Versioning
Automatic version management with rollback capabilities for state persistence.
Overview
State versioning enables tracking changes over time and rolling back to previous versions.
Usage
See State Persistence for detailed versioning configuration.
from recoagent.state import RedisStatePersistence
persistence = RedisStatePersistence(
redis_url="redis://localhost:6379/0",
enable_versioning=True,
max_versions=10
)
# Save version 1
persistence.save_with_metadata(
state={"data": "v1"},
state_id="my_state",
version=1
)
# Save version 2
persistence.save_with_metadata(
state={"data": "v2"},
state_id="my_state",
version=2
)
# List versions
versions = persistence.list_versions("my_state")
# Load specific version
result = persistence.load_with_metadata("my_state", version=1)
Benefits
- Change Tracking: Track state evolution
- Rollback: Revert to previous versions
- Debugging: Investigate state history
Best Practices
- Set Max Versions: Limit version history
- Use Tags: Tag important versions
- Clean Old Versions: Regularly clean up old versions