brainy/tests
David Snelling 97eb6eec2c fix: binary file corruption in brain.import() with preserveSource
## Bug Fix

**Issue**: When using `brain.import(filePath, { preserveSource: true })`,
binary files (PDFs, images, Excel) were NOT being preserved in VFS, causing
Z_DATA_ERROR when trying to read them back.

**Root Cause**: ImportCoordinator line 444 checked for `type === 'buffer'`,
but normalizeSource() returns `type: 'path'` for file paths (the most common
case). This caused `sourceBuffer = undefined`, silently failing to preserve
the source file.

**Fix**: Changed condition to `Buffer.isBuffer(normalizedSource.data)` to
handle both Buffer objects and file paths correctly.

## Code Changes

**src/import/ImportCoordinator.ts:445**
```typescript
// BEFORE (v5.1.1)
sourceBuffer: normalizedSource.type === 'buffer' ? normalizedSource.data as Buffer : undefined

// AFTER (v5.1.2)
sourceBuffer: Buffer.isBuffer(normalizedSource.data) ? normalizedSource.data as Buffer : undefined
```

## Testing

Added comprehensive tests in `tests/unit/import/preserve-source-fix.test.ts`:
-  File path import with preserveSource: true (main fix)
-  Verify preserveSource: false works correctly
-  Binary file integrity (no corruption)

## Impact

**Before**: Workshop team experienced Z_DATA_ERROR reading imported PDFs
**After**: Binary files correctly preserved and readable from VFS

## Related Issues

Fixes bug reported in:
/media/dpsifr/storage/home/Projects/brain-cloud/apps/workshop/BRAINY_BUG_REPORT.md

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 10:00:55 -08:00
..
api feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
augmentations/intelligentImport feat: add intelligent import for CSV, Excel, and PDF files 2025-10-01 16:51:03 -07:00
benchmarks feat: remove legacy ImportManager, standardize getStats() API 2025-10-09 11:40:31 -07:00
comprehensive fix: resolve 10 test failures across clustering, metadata, and deletion 2025-10-09 16:33:08 -07:00
configs 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
fixtures/import feat: add intelligent import for CSV, Excel, and PDF files 2025-10-01 16:51:03 -07:00
helpers feat: Brainy 3.0 - Triple Intelligence Release 2025-09-15 11:06:16 -07:00
integration fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00
manual fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00
performance docs: remove exaggerated performance claims and add honest benchmarks 2025-10-28 09:54:01 -07:00
scripts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
unit fix: binary file corruption in brain.import() with preserveSource 2025-11-03 10:00:55 -08:00
vfs fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00
brainy-3.test.ts fix: resolve 10 test failures across clustering, metadata, and deletion 2025-10-09 16:33:08 -07:00
critical-error-handling.test.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
critical-neural-validation.test.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
critical-performance-benchmark.test.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
distributed-demo.test.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
model-loading.test.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
opfs-storage.test.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
package-size-breakdown.test.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
package-size-limit.test.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
setup-integration.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
setup-unit.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
setup.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
streaming-pipeline.test.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
type-utils.test.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
typeAwareHNSWIndex.test.ts feat: Phase 2 Type-Aware HNSW - 87% memory reduction @ billion scale 2025-10-15 15:39:28 -07:00
typeAwareQueryPlanner.test.ts feat: Phase 3 - Unified Semantic Type Inference (Nouns + Verbs) 2025-10-16 10:59:26 -07:00