chore: recovery checkpoint - v3.0 API successfully recovered
CRITICAL CHECKPOINT - DO NOT PUSH TO GITHUB Recovery Status: - Successfully recovered brainy.ts from compiled JavaScript - All core v3.0 API methods functional (add, get, update, delete, relate, find, etc.) - Neural subsystem intact (562KB embedded patterns, NLP working) - Augmentation pipeline operational (20+ augmentations) - HNSW clustering system complete - Triple Intelligence compiled (needs constructor fix) - Test suite validates functionality Changes preserved: - 898 files with changes from last 3 days - 144,475 insertions - All augmentation improvements - All test coverage enhancements - Complete v3.0 feature set This is a LOCAL checkpoint only - contains recovered work after corruption incident. Created backup in .backups/brainy-full-20250910-151314.tar.gz Branch: recovery-checkpoint-20250910-151433 Date: Wed Sep 10 03:18:04 PM PDT 2025
This commit is contained in:
parent
f65455fb22
commit
8ff382ca3b
895 changed files with 143654 additions and 28268 deletions
87
.recovery-workspace/dist-backup-20250910-141917/utils/periodicCleanup.d.ts
vendored
Normal file
87
.recovery-workspace/dist-backup-20250910-141917/utils/periodicCleanup.d.ts
vendored
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
/**
|
||||
* Periodic Cleanup for Soft-Deleted Items
|
||||
*
|
||||
* SAFETY-FIRST APPROACH:
|
||||
* - Maintains durability guarantees (storage-first)
|
||||
* - Coordinates HNSW and metadata index consistency
|
||||
* - Isolated from live operations
|
||||
* - Graceful failure handling
|
||||
*/
|
||||
import type { StorageAdapter } from '../coreTypes.js';
|
||||
import type { HNSWIndex } from '../hnsw/hnswIndex.js';
|
||||
import type { MetadataIndexManager } from './metadataIndex.js';
|
||||
export interface CleanupConfig {
|
||||
/** Age in milliseconds after which soft-deleted items are eligible for cleanup */
|
||||
maxAge: number;
|
||||
/** Maximum number of items to clean up in one batch */
|
||||
batchSize: number;
|
||||
/** Interval between cleanup runs (milliseconds) */
|
||||
cleanupInterval: number;
|
||||
/** Whether to run cleanup automatically */
|
||||
enabled: boolean;
|
||||
}
|
||||
export interface CleanupStats {
|
||||
itemsProcessed: number;
|
||||
itemsDeleted: number;
|
||||
errors: number;
|
||||
lastRun: number;
|
||||
nextRun: number;
|
||||
}
|
||||
/**
|
||||
* Coordinates safe cleanup of old soft-deleted items across all indexes
|
||||
*
|
||||
* CRITICAL SAFETY FEATURES:
|
||||
* 1. Storage-first deletion (durability)
|
||||
* 2. Index consistency coordination
|
||||
* 3. Batch processing with limits
|
||||
* 4. Error isolation and recovery
|
||||
*/
|
||||
export declare class PeriodicCleanup {
|
||||
private storage;
|
||||
private hnswIndex;
|
||||
private metadataIndex;
|
||||
private config;
|
||||
private stats;
|
||||
private cleanupTimer;
|
||||
private running;
|
||||
constructor(storage: StorageAdapter, hnswIndex: HNSWIndex, metadataIndex: MetadataIndexManager | null, config?: Partial<CleanupConfig>);
|
||||
/**
|
||||
* Start periodic cleanup
|
||||
*/
|
||||
start(): void;
|
||||
/**
|
||||
* Stop periodic cleanup
|
||||
*/
|
||||
stop(): void;
|
||||
/**
|
||||
* Run cleanup manually
|
||||
*/
|
||||
runNow(): Promise<CleanupStats>;
|
||||
/**
|
||||
* Get current cleanup statistics
|
||||
*/
|
||||
getStats(): CleanupStats;
|
||||
private scheduleNext;
|
||||
/**
|
||||
* CRITICAL: Coordinated cleanup across all indexes
|
||||
*
|
||||
* SAFETY PROTOCOL:
|
||||
* 1. Find eligible items (old + soft-deleted)
|
||||
* 2. Remove from storage FIRST (durability)
|
||||
* 3. Remove from HNSW (graph consistency)
|
||||
* 4. Remove from metadata index (search consistency)
|
||||
* 5. Track stats and errors
|
||||
*/
|
||||
private performCleanup;
|
||||
/**
|
||||
* Find items eligible for cleanup (old + soft-deleted)
|
||||
*/
|
||||
private findEligibleItems;
|
||||
/**
|
||||
* Process a batch of items for cleanup
|
||||
*
|
||||
* CRITICAL: This maintains the durability-first approach:
|
||||
* Storage → HNSW → Metadata Index
|
||||
*/
|
||||
private processBatch;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue