diff --git a/src/storage/adapters/baseStorageAdapter.ts b/src/storage/adapters/baseStorageAdapter.ts index 328d347f..2102d92d 100644 --- a/src/storage/adapters/baseStorageAdapter.ts +++ b/src/storage/adapters/baseStorageAdapter.ts @@ -95,8 +95,10 @@ export abstract class BaseStorageAdapter implements StorageAdapter { abstract getVerbMetadata(id: string): Promise - // HNSW Index Persistence - // These methods enable HNSW index rebuilding after container restarts + // Vector Index Persistence (Brainy 8.0 — algorithm-neutral surface) + // The legacy `saveHNSWData` / `getHNSWData` names persist as default-method + // aliases so existing implementations continue to work mid-migration; the + // 8.0 final cleanup commit removes the old names. abstract getNounVector(id: string): Promise @@ -110,6 +112,32 @@ export abstract class BaseStorageAdapter implements StorageAdapter { connections: Record } | null> + /** + * Persist vector-index graph state for an entity (Brainy 8.0 name). + * Default implementation delegates to {@link saveHNSWData}; concrete + * adapters may override directly. The final 8.0 cleanup removes the + * legacy `saveHNSWData` name. + */ + async saveVectorIndexData(nounId: string, data: { + level: number + connections: Record + }): Promise { + return this.saveHNSWData(nounId, data) + } + + /** + * Read vector-index graph state for an entity (Brainy 8.0 name). + * Default implementation delegates to {@link getHNSWData}; concrete + * adapters may override directly. The final 8.0 cleanup removes the + * legacy `getHNSWData` name. + */ + async getVectorIndexData(nounId: string): Promise<{ + level: number + connections: Record + } | null> { + return this.getHNSWData(nounId) + } + abstract saveHNSWSystem(systemData: { entryPointId: string | null maxLevel: number