From 2188fb16ecb113a07a20001e53f9ba2a3049bb42 Mon Sep 17 00:00:00 2001 From: TimWheeler Date: Fri, 5 Jun 2026 14:05:07 +0800 Subject: [PATCH] Fix Changesets 0.x to 1.0.0 escalation: drop workspace-internal peer deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Convert @utaba/deep-memory (and @utaba/deep-memory-indexer in indexer-llm-anthropic) from peerDependencies to regular dependencies in the 5 workspace packages that re-exported it. Root cause: Changesets Decision 4 promotes a package to a major bump whenever a peer dependency's resolved range moves outside the existing range. Pre-1.0 caret semver only matches the same minor, so any minor bump of core escalated every package holding it as a peer to major. Major in any fixed-group member propagated to the entire group, producing 0.x to 1.0.0 jumps on every release cycle. Also: - Add @utaba/deep-memory-storage-neo4j to the fixed group in .changeset/config.json (the publishing guide already lists it as fixed; the config had drifted) - Update .changeset/anthropic-sdk-0-99-bump.md body to reflect the actual shipped delta (^0.98.0 to ^0.100.1, after dependabot #7 bumped the SDK further) - Correct the publishing-guide.md note explaining why the release GitHub Action was removed — the original explanation was wrong After this change, pnpm changeset status correctly plans the fixed group at 0.20.0 with no major bumps. Co-Authored-By: Claude Opus 4.7 (1M context) --- .changeset/anthropic-sdk-0-99-bump.md | 2 +- .changeset/config.json | 1 + docs/publishing-guide.md | 2 +- packages/embeddings-openai/package.json | 5 +---- packages/indexer-llm-anthropic/package.json | 6 +----- packages/storage-cosmosdb/package.json | 5 +---- packages/storage-neo4j/package.json | 5 +---- packages/storage-sqlserver/package.json | 5 +---- pnpm-lock.yaml | 20 ++++++++++---------- 9 files changed, 18 insertions(+), 33 deletions(-) diff --git a/.changeset/anthropic-sdk-0-99-bump.md b/.changeset/anthropic-sdk-0-99-bump.md index d0a79c9..386b7e0 100644 --- a/.changeset/anthropic-sdk-0-99-bump.md +++ b/.changeset/anthropic-sdk-0-99-bump.md @@ -2,4 +2,4 @@ '@utaba/deep-memory-indexer-llm-anthropic': patch --- -Updated bundled `@anthropic-ai/sdk` dependency from `^0.98.0` to `^0.99.0`. Internal-only — `@utaba/deep-memory-indexer-llm-anthropic` consumers receive the newer SDK transitively; no public-API change on this package. +Updated bundled `@anthropic-ai/sdk` dependency from `^0.98.0` to `^0.100.1`. Internal-only — `@utaba/deep-memory-indexer-llm-anthropic` consumers receive the newer SDK transitively; no public-API change on this package. diff --git a/.changeset/config.json b/.changeset/config.json index f069154..734844e 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -8,6 +8,7 @@ "@utaba/deep-memory-embeddings-openai", "@utaba/deep-memory-storage-cosmosdb", "@utaba/deep-memory-storage-sqlserver", + "@utaba/deep-memory-storage-neo4j", "@utaba/deep-memory-local-mcp-server" ] ], diff --git a/docs/publishing-guide.md b/docs/publishing-guide.md index ed07b85..0b774e4 100644 --- a/docs/publishing-guide.md +++ b/docs/publishing-guide.md @@ -99,7 +99,7 @@ List any one of the five fixed-group packages in the frontmatter — the others Land the PR into `main` normally. **There is no release automation** — versioning and publishing both happen locally from `main`. -> **No GitHub Action runs the version step.** A `release.yml` workflow existed previously but was removed: the Changesets action repeatedly forced the fixed group from `0.x` to `1.0.0`, because pre-1.0 the action treats accumulated `minor`s as a major-cut signal. Until the project is genuinely ready for `1.0`, the version step is run by hand. Do not reintroduce the action without a documented fix for that behaviour. +> **No GitHub Action runs the version step.** A `release.yml` workflow existed previously but was removed because it repeatedly opened Version PRs that jumped the fixed group from `0.x` to `1.0.0`. Root cause: every storage / embeddings / indexer package declared `@utaba/deep-memory` as a `peerDependency` with `workspace:^`. A `minor` bump of core moved the published peer-dep range out of `^0.X.0`, which Changesets [Decision 4](https://github.com/changesets/changesets/blob/main/docs/decisions.md) treats as a breaking change for the package holding the peer dep — escalating it to **major**. Major in any fixed-group member propagates to the whole group → `1.0.0`. **The peer-deps have since been converted to regular `dependencies`**, so the escalation no longer fires. The action could be reintroduced now, but the manual flow is preserved for the per-release review checkpoint. **Never reintroduce a workspace-internal `peerDependencies` entry** — it will silently bring back the 1.0.0 bug. ### 3. Apply pending changesets locally diff --git a/packages/embeddings-openai/package.json b/packages/embeddings-openai/package.json index beba937..1b8895d 100644 --- a/packages/embeddings-openai/package.json +++ b/packages/embeddings-openai/package.json @@ -58,15 +58,12 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@utaba/deep-memory": "workspace:*" + "@utaba/deep-memory": "workspace:^" }, "devDependencies": { "@types/node": "^22.0.0", "tsup": "^8.5.1", "typescript": "^6.0.2", "vitest": "^4.1.8" - }, - "peerDependencies": { - "@utaba/deep-memory": "workspace:^" } } diff --git a/packages/indexer-llm-anthropic/package.json b/packages/indexer-llm-anthropic/package.json index 7d63ce8..6774b57 100644 --- a/packages/indexer-llm-anthropic/package.json +++ b/packages/indexer-llm-anthropic/package.json @@ -60,15 +60,11 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@anthropic-ai/sdk": "^0.100.1" - }, - "peerDependencies": { + "@anthropic-ai/sdk": "^0.100.1", "@utaba/deep-memory": "workspace:^", "@utaba/deep-memory-indexer": "workspace:^" }, "devDependencies": { - "@utaba/deep-memory": "workspace:*", - "@utaba/deep-memory-indexer": "workspace:*", "@types/node": "^22.0.0", "tsup": "^8.5.1", "typescript": "^6.0.2", diff --git a/packages/storage-cosmosdb/package.json b/packages/storage-cosmosdb/package.json index 7203a25..29a092a 100644 --- a/packages/storage-cosmosdb/package.json +++ b/packages/storage-cosmosdb/package.json @@ -57,7 +57,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@utaba/deep-memory": "workspace:*", + "@utaba/deep-memory": "workspace:^", "bufferutil": "^4.0.8", "gremlin": "^3.7.3" }, @@ -66,8 +66,5 @@ "tsup": "^8.5.1", "typescript": "^6.0.2", "vitest": "^4.1.8" - }, - "peerDependencies": { - "@utaba/deep-memory": "workspace:^" } } diff --git a/packages/storage-neo4j/package.json b/packages/storage-neo4j/package.json index 3554d89..b5c3896 100644 --- a/packages/storage-neo4j/package.json +++ b/packages/storage-neo4j/package.json @@ -58,7 +58,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@utaba/deep-memory": "workspace:*", + "@utaba/deep-memory": "workspace:^", "neo4j-driver": "^6.0.1" }, "devDependencies": { @@ -66,8 +66,5 @@ "tsup": "^8.5.1", "typescript": "^6.0.2", "vitest": "^4.1.8" - }, - "peerDependencies": { - "@utaba/deep-memory": "workspace:^" } } diff --git a/packages/storage-sqlserver/package.json b/packages/storage-sqlserver/package.json index 96b8826..c098dc4 100644 --- a/packages/storage-sqlserver/package.json +++ b/packages/storage-sqlserver/package.json @@ -57,7 +57,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@utaba/deep-memory": "workspace:*", + "@utaba/deep-memory": "workspace:^", "mssql": "^12.5.5" }, "devDependencies": { @@ -66,8 +66,5 @@ "tsup": "^8.5.1", "typescript": "^6.0.2", "vitest": "^4.1.8" - }, - "peerDependencies": { - "@utaba/deep-memory": "workspace:^" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c296375..93ed00d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,7 +36,7 @@ importers: packages/embeddings-openai: dependencies: '@utaba/deep-memory': - specifier: workspace:* + specifier: workspace:^ version: link:../core devDependencies: '@types/node': @@ -76,16 +76,16 @@ importers: '@anthropic-ai/sdk': specifier: ^0.100.1 version: 0.100.1(zod@4.4.3) - devDependencies: - '@types/node': - specifier: ^22.0.0 - version: 22.19.19 '@utaba/deep-memory': - specifier: workspace:* + specifier: workspace:^ version: link:../core '@utaba/deep-memory-indexer': - specifier: workspace:* + specifier: workspace:^ version: link:../indexer + devDependencies: + '@types/node': + specifier: ^22.0.0 + version: 22.19.19 tsup: specifier: ^8.5.1 version: 8.5.1(postcss@8.5.15)(typescript@6.0.3) @@ -167,7 +167,7 @@ importers: packages/storage-cosmosdb: dependencies: '@utaba/deep-memory': - specifier: workspace:* + specifier: workspace:^ version: link:../core bufferutil: specifier: ^4.0.8 @@ -192,7 +192,7 @@ importers: packages/storage-neo4j: dependencies: '@utaba/deep-memory': - specifier: workspace:* + specifier: workspace:^ version: link:../core neo4j-driver: specifier: ^6.0.1 @@ -214,7 +214,7 @@ importers: packages/storage-sqlserver: dependencies: '@utaba/deep-memory': - specifier: workspace:* + specifier: workspace:^ version: link:../core mssql: specifier: ^12.5.5