Fixed critical bug where BlobStorage hardcoded 'blob:' prefix in 10 locations,
ignoring the 'type' parameter passed to write operations. This caused:
- Commits stored as blob:${hash} instead of commit:${hash}
- Trees stored as blob:${hash} instead of tree:${hash}
- brain.getHistory() returning empty arrays
Changes:
- src/storage/cow/BlobStorage.ts: Implement type-aware prefixes in 10 methods
- write(), read(), has(), delete(), getMetadata(), listBlobs()
- writeMultipart(), incrementRefCount(), decrementRefCount()
- tests/integration/cow-commit-storage.test.ts: Add regression tests (6 tests)
Backward compatibility: read() auto-detects type by trying commit:, tree:, blob:
prefixes, allowing old blob:* files to be read.
Works for ALL storage adapters (filesystem, S3, Azure, GCS, R2, memory, OPFS).
Fixes: Workshop team bug report (getHistory returns empty despite commits)
Tests: 6/6 new tests pass, 6/6 existing COW tests pass (no regressions)
|
||
|---|---|---|
| .. | ||
| all-apis-comprehensive.test.ts | ||
| api-parameter-validation.test.ts | ||
| azure-storage.test.ts | ||
| brainy-complete.integration.test.ts | ||
| brainy-core.integration.test.ts | ||
| brainy-phase1c-integration.test.ts | ||
| commit-ref-bug.test.ts | ||
| count-synchronization.test.ts | ||
| cow-commit-storage.test.ts | ||
| cow-full-integration.test.ts | ||
| empty-tree-bug.test.ts | ||
| entity-confidence-weight.test.ts | ||
| find-unified-integration.test.ts | ||
| gcs-native-storage.test.ts | ||
| gcs-persistence-fix.test.ts | ||
| get-relations-fix.test.ts | ||
| history-ref-resolution-bug.test.ts | ||
| hnsw-rebuild.test.ts | ||
| image-import.test.ts | ||
| metadata-vector-exclusion.test.ts | ||
| phase3TypeFirstQuery.integration.test.ts | ||
| relationship-intelligence.test.ts | ||
| remaining-apis.test.ts | ||
| s3-storage.test.ts | ||
| smart-import.test.ts | ||
| typeAwareHNSW.integration.test.ts | ||
| typeInference.hybrid.integration.test.ts | ||
| typeInference.integration.test.ts | ||
| versioning.test.ts | ||
| vfs-and-graph-entities.test.ts | ||
| vfs-api-wiring.test.ts | ||
| vfs-debug.test.ts | ||
| vfs-import-verification.test.ts | ||
| vfs-knowledge-separation.test.ts | ||