brainy/tests/unit
David Snelling 9db67d0148 fix: resolve critical COW ref resolution and versioning bugs
Fixed three critical bugs in v5.3.0:

1. COW ref resolution bug (lines 2354, 2856, 2895 in src/brainy.ts):
   - getHistory(), commit(), deleteBranch() were prepending 'heads/' to branch names
   - This caused RefManager to resolve 'heads/main' to 'refs/heads/heads/main'
   - Actual ref file at 'refs/heads/main' could not be found
   - Result: "Ref not found: heads/main" error breaking all COW operations

2. VersionManager commitHash bug (lines 212, 222 in src/versioning/VersionManager.ts):
   - save() was assigning entire Ref object to commitHash instead of ref.commitHash
   - Expected string, got object causing type mismatches in version metadata

3. Test mock improvements (tests/unit/versioning/VersionManager.test.ts):
   - Fixed searchByMetadata to skip metadata check for 'type' property
   - Added glob pattern support for tag filtering (e.g. 'v1.*')
   - Added deleteNounMetadata mock
   - Fixed getNounMetadata to return null for missing version entities

Fixes:
- src/brainy.ts (3 lines): Remove 'heads/' prefix from ref resolution calls
- src/versioning/VersionManager.ts (2 lines): Use ref.commitHash instead of ref
- tests/unit/versioning/VersionManager.test.ts: Fix test mocks
- tests/integration/history-ref-resolution-bug.test.ts: Add regression tests

Test Results:
- Before: 16 test failures
- After: 0 failures in VersionManager tests, 1183/1208 total tests passing (98%)
2025-11-04 13:05:59 -08:00
..
augmentations feat: add ImageHandler with EXIF extraction and comprehensive MIME detection (v5.2.0) 2025-11-03 14:06:17 -08:00
brainy test: increase timeout for batch deletion test to 10s 2025-11-03 10:59:11 -08:00
import fix: binary file corruption in brain.import() with preserveSource 2025-11-03 10:00:55 -08:00
neural fix: achieve 100% test pass rate - fix critical update() bugs and test issues 2025-11-03 07:53:01 -08:00
storage fix: critical bug fixes for v5.1.0 release 2025-11-02 11:26:13 -08:00
types feat(types): Phase 0 - Type System Foundation for billion-scale optimization 2025-10-15 12:26:25 -07:00
utils feat(metadata): Phase 1b - TypeFirstMetadataIndex with fixed-size type tracking 2025-10-15 13:52:21 -07:00
versioning fix: resolve critical COW ref resolution and versioning bugs 2025-11-04 13:05:59 -08:00
vfs feat: add ImageHandler with EXIF extraction and comprehensive MIME detection (v5.2.0) 2025-11-03 14:06:17 -08:00
brainy-core.unit.test.ts fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00
create-entities-default.test.ts fix: createEntities defaults to true, enable AI features by default 2025-10-23 16:54:40 -07:00
fieldTypeInference.test.ts feat: production-ready value-based temporal field detection 2025-10-16 13:58:57 -07:00
type-filtering.unit.test.ts fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00
type-matching.unit.test.ts test: adjust type-matching tests for real embeddings (v3.33.0) 2025-10-09 18:32:14 -07:00
workshop-vfs-diagnostic.test.ts fix: update tests for v5.1.0 API changes (VFS auto-init + property access) 2025-11-02 11:38:12 -08:00