• v5.7.5 55ba3a2044

    Stable

    dpsifr released this 2025-11-13 00:59:39 +01:00 | 573 commits to main since this release

    v5.7.5 - Critical VFS Bug Fixes

    URGENT UPDATE - Fixes two critical data corruption bugs in VFS file storage.

    Critical Fixes

    1. Blob integrity check failure (Workshop team finding)

      • Root cause: COW adapter wraps binary data in JSON but doesn't unwrap on read
      • Result: Hash calculated on JSON wrapper instead of original content → "Blob integrity check failed" error
      • Fix: Unwrap {_binary: true, data: "base64..."} objects before returning
      • Impact: 100% VFS file read failure since v5.0.0
    2. Compression race condition (Claude Code investigation)

      • Root cause: BlobStorage.initCompression() is async but not awaited in constructor
      • Result: Files written before zstd loads are stored uncompressed with "compressed" metadata → corruption
      • Fix: Added ensureCompressionReady() to await init before first write
      • Impact: Files written in first 100-500ms after BlobStorage creation are corrupted

    Both bugs caused permanent file corruption in Workshop

    Testing

    VFS write→read roundtrip test passes
    All 30 BlobStorage unit tests pass
    Build completes with zero errors

    Files Changed

    • src/storage/baseStorage.ts - Unwrap binary data in COW adapter
    • src/storage/cow/BlobStorage.ts - Ensure compression ready before write

    Upgrade Path

    npm install @soulcraft/brainy@5.7.5
    

    All existing VFS files created with v5.7.0-v5.7.4 will now be readable.

    Credit: Workshop team for detailed forensic analysis 🙏

    Downloads