@soulcraft/brainy 5.3.5 → 5.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/brainy.js +9 -1
- package/dist/storage/baseStorage.js +7 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
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.
|
|
4
4
|
|
|
5
|
+
### [5.3.6](https://github.com/soulcraftlabs/brainy/compare/v5.3.5...v5.3.6) (2025-11-05)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### 🐛 Bug Fixes
|
|
9
|
+
|
|
10
|
+
* resolve fork() silent failure on cloud storage adapters ([7977132](https://github.com/soulcraftlabs/brainy/commit/7977132e9f7160af1cb1b9dd1f16f623aa1010f0))
|
|
11
|
+
|
|
5
12
|
### [5.3.5](https://github.com/soulcraftlabs/brainy/compare/v5.3.4...v5.3.5) (2025-11-05)
|
|
6
13
|
|
|
7
14
|
|
package/dist/brainy.js
CHANGED
|
@@ -1884,7 +1884,15 @@ export class Brainy {
|
|
|
1884
1884
|
}
|
|
1885
1885
|
// Step 2: Copy storage ref (COW layer - instant!)
|
|
1886
1886
|
await refManager.copyRef(currentBranch, branchName);
|
|
1887
|
-
//
|
|
1887
|
+
// CRITICAL FIX (v5.3.6): Verify branch was actually created to prevent silent failures
|
|
1888
|
+
// Without this check, fork() could complete successfully but branch wouldn't exist,
|
|
1889
|
+
// causing subsequent checkout() calls to fail (see Workshop bug report).
|
|
1890
|
+
const verifyBranch = await refManager.getRef(branchName);
|
|
1891
|
+
if (!verifyBranch) {
|
|
1892
|
+
throw new Error(`Fork failed: Branch '${branchName}' was not created. ` +
|
|
1893
|
+
`This indicates a storage adapter configuration issue. Please report this bug.`);
|
|
1894
|
+
}
|
|
1895
|
+
// Step 3: Create new Brainy instance pointing to fork branch
|
|
1888
1896
|
const forkConfig = {
|
|
1889
1897
|
...this.config,
|
|
1890
1898
|
storage: {
|
|
@@ -274,6 +274,13 @@ export class BaseStorage extends BaseStorageAdapter {
|
|
|
274
274
|
* @protected - Available to subclasses for COW implementation
|
|
275
275
|
*/
|
|
276
276
|
resolveBranchPath(basePath, branch) {
|
|
277
|
+
// CRITICAL FIX (v5.3.6): COW metadata (_cow/*) must NEVER be branch-scoped
|
|
278
|
+
// Refs, commits, and blobs are global metadata with their own internal branching.
|
|
279
|
+
// Branch-scoping COW paths causes fork() to write refs to wrong locations,
|
|
280
|
+
// leading to "Branch does not exist" errors on checkout (see Workshop bug report).
|
|
281
|
+
if (basePath.startsWith('_cow/')) {
|
|
282
|
+
return basePath; // COW metadata is global across all branches
|
|
283
|
+
}
|
|
277
284
|
if (!this.cowEnabled) {
|
|
278
285
|
return basePath; // COW disabled, use direct path
|
|
279
286
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soulcraft/brainy",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.6",
|
|
4
4
|
"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.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|