refactor: remove augmentation system and semantic type matching

Remove the entire augmentation pipeline infrastructure (52 files,
~15,000 lines) and the semantic type matching system. These were
unused middleware layers adding complexity without value.

What was removed:
- src/augmentations/ directory (all augmentation implementations)
- src/augmentationManager.ts (pipeline orchestrator)
- src/types/augmentations.ts, src/types/pipelineTypes.ts
- src/shared/default-augmentations.ts
- Semantic type suggestion (BrainyTypes.suggestNoun/suggestVerb)
- src/utils/typeMatching/ (embedding-based type matcher)

What was preserved by relocating:
- Import handlers (CSV, PDF, Excel) -> src/importers/handlers/
- NeuralImportAugmentation -> src/cortex/neuralImportAugmentation.ts
- Type matching utilities -> heuristic inference in consumers

What was simplified:
- brainy.ts: operations call storage directly (no execute() wrapper)
- IntegrationBase: standalone class (no BaseAugmentation parent)
- BrainyTypes: validation-only (nouns, verbs, isValid*, get*)
- Pipeline: direct execution (no augmentation interception)
- index.ts: removed TypeSuggestion, suggestType exports
- package.json: removed stale types/augmentations export

Build passes, 1176 tests pass, 0 failures.
This commit is contained in:
David Snelling 2026-02-01 10:48:56 -08:00
parent ac7a1f772c
commit d1db3510be
97 changed files with 349 additions and 19705 deletions

View file

@ -5,11 +5,6 @@
* for event subscriptions, tabular export, and lifecycle management.
*/
import {
BaseAugmentation,
AugmentationContext
} from '../../augmentations/brainyAugmentation.js'
import { AugmentationManifest } from '../../augmentations/manifest.js'
import { EventBus } from './EventBus.js'
import { TabularExporter } from './TabularExporter.js'
import {
@ -48,17 +43,12 @@ import { Entity, Relation, FindParams } from '../../types/brainy.types.js'
* }
* ```
*/
export abstract class IntegrationBase extends BaseAugmentation {
// Augmentation interface implementation
readonly timing = 'after' as const
readonly metadata = 'readonly' as const
readonly operations: ('all')[] = ['all']
readonly priority = 5 // Low priority - runs after main operations
category: 'internal' | 'core' | 'premium' | 'community' | 'external' = 'core'
export abstract class IntegrationBase {
// Shared infrastructure
protected eventBus: EventBus
protected exporter: TabularExporter
protected config: IntegrationConfig
protected context?: { brain: any; storage: any; config: any; log: (message: string, level?: string) => void }
// Integration state
protected isRunning = false
@ -80,11 +70,35 @@ export abstract class IntegrationBase extends BaseAugmentation {
config?: IntegrationConfig,
exporterConfig?: TabularExporterConfig
) {
super(config)
this.config = config || {}
this.eventBus = new EventBus()
this.exporter = new TabularExporter(exporterConfig)
}
/**
* Log a message
*/
protected log(message: string, level: string = 'info'): void {
if (this.context?.log) {
this.context.log(message, level)
}
}
/**
* Initialize the integration with context
*/
async initialize(ctx: { brain: any; storage: any; config: any; log: (message: string, level?: string) => void }): Promise<void> {
this.context = ctx
await this.onInitialize()
}
/**
* Shutdown the integration
*/
async shutdown(): Promise<void> {
await this.onShutdown()
}
/**
* Integration name (must be unique)
*/
@ -311,7 +325,7 @@ export abstract class IntegrationBase extends BaseAugmentation {
* Get manifest for this integration
* Subclasses should override this
*/
getManifest(): AugmentationManifest {
getManifest(): Record<string, any> {
return {
id: this.name,
name: this.name,