Fixed critical bug where CommitObject.walk() didn't guard against NULL parent hash, causing "Blob metadata not found: 0000...0000" error when calling getHistory() on fresh databases. This is a SYSTEMATIC fix, not just a patch: Infrastructure: - src/storage/cow/constants.ts: NEW - NULL_HASH constant and utilities - Prevents hardcoding errors - Provides isNullHash() for semantic checks Bug Fixes: - src/storage/cow/CommitObject.ts: Guard NULL parent in walk() - src/storage/cow/BlobStorage.ts: Defensive check rejects NULL hash reads - src/storage/baseStorage.ts: Use NULL_HASH constant (not hardcoded) - src/brainy.ts: Use NULL_HASH constant (not hardcoded) Testing: - tests/integration/initial-commit-null-parent.test.ts: 5 regression tests - All 17 tests pass (5 new + 12 existing COW tests) - Zero regressions This fix addresses the root cause of 4 consecutive bugs (v5.3.0-v5.3.3): missing defensive programming for sentinel values in COW storage. Fixes: Workshop team bug report (v5.3.3 regression) Tests: 17/17 pass (5 new regression + 12 existing COW) Build: SUCCESSFUL (zero errors) |
||
|---|---|---|
| .. | ||
| 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 | ||
| initial-commit-null-parent.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 | ||