50719ef256
* Implement PruningCheckpointer for efficient checkpoint management and add comprehensive tests - Introduced `PruningCheckpointer` to manage checkpoint pruning after each `aput()`, ensuring only the latest checkpoints are retained based on a configurable limit. - Added migration sweep functionality to clean up legacy checkpoints and prevent database bloat. - Enhanced `get_checkpointer()` to utilize the new `PruningCheckpointer` and trigger migration sweeps when necessary. - Developed a suite of integration tests for `PruningCheckpointer`, covering various scenarios including pruning behavior, concurrent writes, and retention policies. - Implemented tests for migration sweep functionality, ensuring proper partitioning and user version management. - Added diagnostic helper `db_stats` to provide insights into the database state, including thread and checkpoint counts. * feat(sessions): enhance pruning logic to handle legacy DBs without writes table * fix(tests): prevent atexit hook leakage in TestMigrationSweep * feat(tests): enhance TestPruningCheckpointer to validate put+prune serialization * feat(tests): refactor mock path implementation for get_db_path in test cases