brainy/src/embeddings
David Snelling f024e56ee7 feat: add aggregation engine with incremental SUM/COUNT/AVG/MIN/MAX, GROUP BY, and time windows
Add a write-time incremental aggregation engine that maintains running
totals on every add/update/delete for O(1) read performance. Integrates
into brain.find({ aggregate }) for a unified query API.

Core features:
- AggregationIndex with defineAggregate()/removeAggregate() API
- Five aggregation operations: SUM, COUNT, AVG, MIN, MAX
- GROUP BY with multiple dimensions including time windows
- Time window bucketing: hour, day, week, month, quarter, year, custom
- Materialization of results as NounType.Measurement entities
- Debounced persistence of definitions and state to storage
- Definition change detection via FNV-1a hashing with auto-rebuild
- Infinite loop prevention for materialized entities
- 'aggregation' plugin provider key for native acceleration
- Lazy initialization (created on first defineAggregate() call)
- 73 tests (unit + integration) covering all functionality

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:57:53 -08:00
..
candle-wasm fix: prevent WASM embedding from blocking event loop during highlight() 2026-01-27 16:49:26 -08:00
wasm fix: cancel abandoned highlight() semantic work and harden WASM engine recovery 2026-01-27 18:26:37 -08:00
CachedEmbeddings.ts feat: implement clean embedding architecture with Q8/FP32 precision control 2025-09-02 10:00:52 -07:00
EmbeddingManager.ts feat: add aggregation engine with incremental SUM/COUNT/AVG/MIN/MAX, GROUP BY, and time windows 2026-02-16 16:57:53 -08:00
index.ts feat: implement clean embedding architecture with Q8/FP32 precision control 2025-09-02 10:00:52 -07:00