brainy/src
David Snelling 39525aff26 fix: resolve critical count persistence bugs affecting container restarts
Fixes two critical production bugs in GCS storage adapter:

1. brain.find({ where: {...} }) returned empty array after restart
   - Root cause: Counts only persisted every 10 operations
   - If <10 entities added before restart, counts were lost
   - After restart: totalNounCount = 0, causing empty results

2. brain.init() returned 0 entities after container restart
   - Same root cause as bug #1
   - Counts file never written for small datasets
   - getStats() returned 0 despite data in GCS bucket

Changes:
- baseStorageAdapter.ts: Persist counts on EVERY operation (not every 10)
  - incrementEntityCountSafe(): Now persists immediately
  - decrementEntityCountSafe(): Now persists immediately
  - incrementVerbCount(): Now persists immediately
  - decrementVerbCount(): Now persists immediately

- gcsStorage.ts: Better error handling for count initialization
  - initializeCounts(): Fail loudly on network/permission errors
  - initializeCountsFromScan(): Throw on scan failures instead of silent fail
  - Added recovery logic with bucket scan fallback

Impact: Critical for serverless/containerized deployments (Cloud Run, Fargate, Lambda)
where containers restart frequently. The basic write→restart→read scenario now works.
2025-10-09 17:12:55 -07:00
..
api feat: add node: protocol to all Node.js built-in imports for bundler compatibility 2025-09-17 14:20:21 -07:00
augmentations feat: remove legacy ImportManager, standardize getStats() API 2025-10-09 11:40:31 -07:00
cli refactor: streamline core API surface 2025-10-04 08:52:06 -07:00
config fix: enable GCS native storage with Application Default Credentials 2025-10-09 10:39:54 -07:00
cortex feat: add node: protocol to all Node.js built-in imports for bundler compatibility 2025-09-17 14:20:21 -07:00
critical feat: add browser environment compatibility support 2025-09-17 15:48:02 -07:00
distributed feat: add node: protocol to all Node.js built-in imports for bundler compatibility 2025-09-17 14:20:21 -07:00
embeddings feat: complete VFS with Knowledge Layer integration 2025-09-25 10:47:44 -07:00
errors feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
graph feat: add production-scale counting and pagination APIs 2025-09-16 11:24:20 -07:00
hnsw feat: add distributed architecture with sharding and coordination 2025-09-22 15:45:35 -07:00
import fix: resolve 5 critical import bugs for production scale 2025-10-09 13:56:45 -07:00
importers feat: add unified import system with auto-detection and dual storage 2025-10-08 16:55:30 -07:00
mcp refactor: streamline core API surface 2025-10-04 08:52:06 -07:00
neural fix: resolve 19 critical test failures for production readiness 2025-10-09 16:58:53 -07:00
patterns 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
scripts feat: add node: protocol to all Node.js built-in imports for bundler compatibility 2025-09-17 14:20:21 -07:00
shared refactor: remove deprecated BrainyData class completely 2025-09-30 16:04:00 -07:00
storage fix: resolve critical count persistence bugs affecting container restarts 2025-10-09 17:12:55 -07:00
streaming feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
triple feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
types feat: add progress tracking, entity caching, and relationship confidence 2025-10-01 15:12:54 -07:00
universal fix: prevent fs adapter from throwing on import in browser 2025-09-17 16:22:02 -07:00
utils fix: resolve 10 test failures across clustering, metadata, and deletion 2025-10-09 16:33:08 -07:00
vfs feat: add resolvePathToId() method and fix test issues 2025-10-07 11:51:17 -07:00
augmentationManager.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
augmentationPipeline.ts feat: Brainy 3.0 - Production-ready Triple Intelligence database 2025-09-11 16:23:32 -07:00
brainy.ts fix: pass entire storage config to createStorage (gcsNativeStorage now detected) 2025-10-09 11:08:52 -07:00
coreTypes.ts fix: metadata batch reading from correct directory 2025-10-06 15:43:45 -07:00
cortex.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
index.ts feat: remove legacy ImportManager, standardize getStats() API 2025-10-09 11:40:31 -07:00
pipeline.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00
setup.ts chore: enforce consistent coding style and semicolon removal 2025-09-29 09:50:59 -07:00
unified.ts chore: enforce consistent coding style and semicolon removal 2025-09-29 09:50:59 -07:00
worker.ts 🧠 Brainy 2.0.0 - Zero-Configuration AI Database with Triple Intelligence™ 2025-08-26 12:32:21 -07:00