Why this change is needed:
To enforce consistent naming and migration strategy across all vector storages.
How it solves it:
- Added _generate_collection_suffix() helper
- Added _get_legacy_collection_name() and _get_new_collection_name() interfaces
Impact:
Prepares storage implementations for multi-model support.
Testing:
Added tests/test_base_storage_integrity.py passing.