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:
parent
260ecd6fc9
commit
1f6fe1d30b
35 changed files with 2700 additions and 125 deletions
|
|
@ -12,6 +12,15 @@
|
|||
* - StreamingPipeline: Enables unlimited data processing
|
||||
*/
|
||||
|
||||
/**
|
||||
* Metadata access declaration for augmentations
|
||||
*/
|
||||
export interface MetadataAccess {
|
||||
reads?: string[] | '*' // Fields to read, or '*' for all
|
||||
writes?: string[] | '*' // Fields to write, or '*' for all
|
||||
namespace?: string // Optional: custom namespace like '_myAug'
|
||||
}
|
||||
|
||||
export interface BrainyAugmentation {
|
||||
/**
|
||||
* Unique identifier for the augmentation
|
||||
|
|
@ -27,6 +36,14 @@ export interface BrainyAugmentation {
|
|||
*/
|
||||
timing: 'before' | 'after' | 'around' | 'replace'
|
||||
|
||||
/**
|
||||
* Metadata access contract - REQUIRED
|
||||
* - 'none': No metadata access at all
|
||||
* - 'readonly': Can read any metadata but cannot write
|
||||
* - MetadataAccess: Specific fields to read/write
|
||||
*/
|
||||
metadata: 'none' | 'readonly' | MetadataAccess
|
||||
|
||||
/**
|
||||
* Which operations this augmentation applies to
|
||||
* Granular operation matching for precise augmentation targeting
|
||||
|
|
@ -125,6 +142,7 @@ export interface AugmentationContext {
|
|||
export abstract class BaseAugmentation implements BrainyAugmentation {
|
||||
abstract name: string
|
||||
abstract timing: 'before' | 'after' | 'around' | 'replace'
|
||||
abstract metadata: 'none' | 'readonly' | MetadataAccess
|
||||
abstract operations: (
|
||||
// Data Operations
|
||||
| 'add' | 'addNoun' | 'addVerb'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue