chore(release): 3.32.2
This commit is contained in:
parent
39525aff26
commit
27764b8b9f
3 changed files with 46 additions and 3 deletions
43
CHANGELOG.md
43
CHANGELOG.md
|
|
@ -2,6 +2,49 @@
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||||
|
|
||||||
|
### [3.32.2](https://github.com/soulcraftlabs/brainy/compare/v3.32.1...v3.32.2) (2025-10-09)
|
||||||
|
|
||||||
|
### 🐛 Critical Bug Fixes - Container Restart Persistence
|
||||||
|
|
||||||
|
**Fixed: brain.find({ where: {...} }) returns empty array after restart**
|
||||||
|
**Fixed: brain.init() returns 0 entities after container restart**
|
||||||
|
|
||||||
|
#### Root Cause
|
||||||
|
Count persistence was optimized to save only every 10 operations. If <10 entities were added before container restart, counts were never persisted to storage. After restart: `totalNounCount = 0`, causing empty query results.
|
||||||
|
|
||||||
|
#### Impact
|
||||||
|
Critical for serverless/containerized deployments (Cloud Run, Fargate, Lambda) where containers restart frequently. The basic write→restart→read scenario was broken.
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
|
||||||
|
#### Test Scenario (Now Fixed)
|
||||||
|
```typescript
|
||||||
|
// Service A: Add 2 entities
|
||||||
|
await brain.add({ data: 'Entity 1' })
|
||||||
|
await brain.add({ data: 'Entity 2' })
|
||||||
|
|
||||||
|
// Container restarts (Cloud Run, Fargate, etc.)
|
||||||
|
|
||||||
|
// Service B: Query data
|
||||||
|
const stats = await brain.getStats()
|
||||||
|
console.log(stats.entities.total) // Was: 0 ❌ | Now: 2 ✅
|
||||||
|
|
||||||
|
const results = await brain.find({ where: { status: 'active' }})
|
||||||
|
console.log(results.length) // Was: 0 ❌ | Now: 2 ✅
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [3.31.0](https://github.com/soulcraftlabs/brainy/compare/v3.30.2...v3.31.0) (2025-10-09)
|
## [3.31.0](https://github.com/soulcraftlabs/brainy/compare/v3.30.2...v3.31.0) (2025-10-09)
|
||||||
|
|
||||||
### 🐛 Critical Bug Fixes - Production-Scale Import Performance
|
### 🐛 Critical Bug Fixes - Production-Scale Import Performance
|
||||||
|
|
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "@soulcraft/brainy",
|
"name": "@soulcraft/brainy",
|
||||||
"version": "3.32.1",
|
"version": "3.32.2",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@soulcraft/brainy",
|
"name": "@soulcraft/brainy",
|
||||||
"version": "3.32.1",
|
"version": "3.32.2",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.540.0",
|
"@aws-sdk/client-s3": "^3.540.0",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@soulcraft/brainy",
|
"name": "@soulcraft/brainy",
|
||||||
"version": "3.32.1",
|
"version": "3.32.2",
|
||||||
"description": "Universal Knowledge Protocol™ - World's first Triple Intelligence database unifying vector, graph, and document search in one API. 31 nouns × 40 verbs for infinite expressiveness.",
|
"description": "Universal Knowledge Protocol™ - World's first Triple Intelligence database unifying vector, graph, and document search in one API. 31 nouns × 40 verbs for infinite expressiveness.",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"module": "dist/index.js",
|
"module": "dist/index.js",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue