feat: comprehensive metadata namespace architecture and cleanup system

BREAKING CHANGE: Remove hard delete option from deleteVerb() for consistent API

- Add complete metadata namespace architecture with O(1) soft delete performance
- Implement periodic cleanup system for old soft-deleted items
- Add restore methods for both nouns and verbs
- Require metadata contracts for all augmentations
- Eliminate namespace collisions with clean separation (_brainy, _augmentations, _audit)
- Optimize index performance using flattened dot-notation for O(1) lookups
- Add comprehensive augmentation safety system with type-safe access control
- Maintain full backward compatibility for existing data
- Add enterprise-grade cleanup with configurable age thresholds and batch processing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
David Snelling 2025-08-27 15:38:48 -07:00
parent 260ecd6fc9
commit 1f6fe1d30b
35 changed files with 2700 additions and 125 deletions

View file

@ -23,6 +23,7 @@ import { BrainyDataInterface } from '../types/brainyDataInterface.js'
export class ServerSearchConduitAugmentation extends BaseAugmentation {
readonly name = 'server-search-conduit'
readonly timing = 'after' as const
readonly metadata = 'readonly' as const // Reads metadata to sync with server
operations = ['addNoun', 'delete', 'addVerb'] as ('addNoun' | 'delete' | 'addVerb')[]
readonly priority = 20
private localDb: BrainyDataInterface | null = null
@ -377,6 +378,7 @@ export class ServerSearchConduitAugmentation extends BaseAugmentation {
export class ServerSearchActivationAugmentation extends BaseAugmentation {
readonly name = 'server-search-activation'
readonly timing = 'after' as const
readonly metadata = 'readonly' as const // Reads metadata for server activation
operations = ['search', 'addNoun'] as ('search' | 'addNoun')[]
readonly priority = 20