2025-08-26 12:32:21 -07:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# Run all Brainy tests sequentially with memory management
|
|
|
|
|
|
# This prevents memory exhaustion from parallel test execution
|
|
|
|
|
|
|
|
|
|
|
|
echo "🧠 Running Brainy 2.0 Complete Test Suite"
|
|
|
|
|
|
echo "========================================"
|
|
|
|
|
|
echo "Memory: 16GB allocated per test batch"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# Set Node options for all tests
|
|
|
|
|
|
export NODE_OPTIONS='--max-old-space-size=16384'
|
|
|
|
|
|
export BRAINY_MODELS_PATH=./models
|
|
|
|
|
|
export BRAINY_ALLOW_REMOTE_MODELS=false
|
|
|
|
|
|
|
|
|
|
|
|
# Counter for tracking results
|
|
|
|
|
|
PASSED=0
|
|
|
|
|
|
FAILED=0
|
|
|
|
|
|
SKIPPED=0
|
|
|
|
|
|
TOTAL=0
|
|
|
|
|
|
|
|
|
|
|
|
# Run tests in batches to prevent memory exhaustion
|
|
|
|
|
|
echo "📦 Batch 1: Core Tests"
|
|
|
|
|
|
echo "----------------------"
|
|
|
|
|
|
npm test -- --run tests/core.test.ts 2>&1 | tee batch1.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 2: Triple Intelligence & Neural"
|
|
|
|
|
|
echo "----------------------------------------"
|
|
|
|
|
|
npm test -- --run tests/triple-intelligence.test.ts tests/neural-api.test.ts 2>&1 | tee batch2.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 3: Metadata & Performance"
|
|
|
|
|
|
echo "-----------------------------------"
|
|
|
|
|
|
npm test -- --run tests/metadata-*.test.ts 2>&1 | tee batch3.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 4: Storage & Database"
|
|
|
|
|
|
echo "-------------------------------"
|
|
|
|
|
|
npm test -- --run tests/database-operations.test.ts tests/storage-adapter-coverage.test.ts 2>&1 | tee batch4.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 5: Augmentations"
|
|
|
|
|
|
echo "-------------------------"
|
|
|
|
|
|
npm test -- --run tests/augmentations-*.test.ts 2>&1 | tee batch5.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 6: API & Consistency"
|
|
|
|
|
|
echo "-----------------------------"
|
|
|
|
|
|
npm test -- --run tests/consistent-api.test.ts tests/unified-api.test.ts 2>&1 | tee batch6.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 7: Environment & Edge Cases"
|
|
|
|
|
|
echo "-------------------------------------"
|
|
|
|
|
|
npm test -- --run tests/environment.*.test.ts tests/edge-cases.test.ts 2>&1 | tee batch7.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 8: Find & NLP"
|
|
|
|
|
|
echo "----------------------"
|
|
|
|
|
|
npm test -- --run tests/find-comprehensive.test.ts tests/nlp-patterns-comprehensive.test.ts 2>&1 | tee batch8.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 9: Regression & Validation"
|
|
|
|
|
|
echo "------------------------------------"
|
|
|
|
|
|
npm test -- --run tests/regression.test.ts tests/release-*.test.ts 2>&1 | tee batch9.log | grep -E "✓|×|↓" | tail -20
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
echo "📦 Batch 10: Other Tests"
|
|
|
|
|
|
echo "------------------------"
|
refactor(8.0)!: remove distributed clustering subsystem — inert/orphaned, scale is single-process + native provider
The distributed-clustering subsystem never ran in production: it was inert,
orphaned dead code (faked consensus, stub replication, no live wiring, and it
did not interoperate with the 8.0 Db API). Brainy 8.0 is a single-process
library. Scale is single-process + the optional native provider
(@soulcraft/cortex, on-disk DiskANN to 10B+ vectors) + per-tenant pools +
horizontal read scaling (many reader processes, one writer).
Removed:
- src/distributed/ entirely (coordinator, shardManager, cacheSync,
readWriteSeparation, queryPlanner, healthMonitor, configManager,
hashPartitioner, shardMigration, domainDetector, storageDiscovery, http/network
transports). ReaderMode/HybridMode relocated to src/storage/operationalModes.ts
(slimmed to the live surface).
- src/types/distributedTypes.ts; config.distributed field + JSDoc;
coreTypes distributedConfig; memoryStorage distributedConfig persistence.
- DistributedRole enum + src/config/distributedPresets.ts and the orphaned
src/config/extensibleConfig.ts (config/augmentation registry built on removed
cloud adapters + distributed presets), plus their src/index.ts re-exports.
- 13 BRAINY_* cluster env vars; the storage setDistributedComponents hook;
enableDistributedSearch (dead config flag); the metadata partition field;
the distributed_ reserved key prefix.
- Orphaned src/storage/readOnlyOptimizations.ts (zero importers).
- Tests targeting the subsystem: distributed-demo, distributed-cluster helper,
distributed-transactions, sharding-transactions.
- Docs: EXTENDING_STORAGE.md (deleted); scrubbed distributed/cluster/Raft/
shard-manager/multi-node prose from v3-features, enterprise-for-everyone,
augmentations-actual, complete-feature-list, vfs/README, vfs/ROADMAP,
vfs/VFS_CORE, capacity-planning, transactions, MIGRATION-V3-TO-V4,
storage-architecture; reframed scale prose to the 8.0 model.
Kept: src/storage/sharding.ts (local-disk 256-bucket directory sharding via
getShardIdFromUuid — used live by baseStorage, unrelated to clustering);
the multi-process mode: 'reader' | 'writer' roles; semantic/HNSW clustering.
RELEASES.md: added a removed-surfaces row documenting the cut and the 8.0
scale model.
2026-06-15 10:37:39 -07:00
|
|
|
|
npm test -- --run tests/cli.test.ts tests/brainy-chat.test.ts tests/pagination.test.ts tests/vector-operations.test.ts tests/error-handling.test.ts tests/specialized-scenarios.test.ts tests/multi-environment.test.ts tests/statistics.test.ts tests/type-utils.test.ts 2>&1 | tee batch10.log | grep -E "✓|×|↓" | tail -20
|
2025-08-26 12:32:21 -07:00
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
# Aggregate results
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
echo "🎯 FINAL TEST RESULTS"
|
|
|
|
|
|
echo "=========================================="
|
|
|
|
|
|
|
|
|
|
|
|
# Count passed/failed from all logs
|
|
|
|
|
|
PASSED=$(cat batch*.log 2>/dev/null | grep -c "✓" || echo 0)
|
|
|
|
|
|
FAILED=$(cat batch*.log 2>/dev/null | grep -c "×" || echo 0)
|
|
|
|
|
|
SKIPPED=$(cat batch*.log 2>/dev/null | grep -c "↓" || echo 0)
|
|
|
|
|
|
TOTAL=$((PASSED + FAILED + SKIPPED))
|
|
|
|
|
|
|
|
|
|
|
|
echo "✅ Passed: $PASSED"
|
|
|
|
|
|
echo "❌ Failed: $FAILED"
|
|
|
|
|
|
echo "⏭️ Skipped: $SKIPPED"
|
|
|
|
|
|
echo "📊 Total: $TOTAL"
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
if [ $FAILED -eq 0 ]; then
|
|
|
|
|
|
echo "🎉 SUCCESS! All tests passed!"
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "⚠️ Some tests failed. Check individual batch logs for details."
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|