From c666824f02eca71360da60c2b65cd968356cae99 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 12:09:53 +0200 Subject: [PATCH 1/3] chore: pin model2vec to >=0.9,<0.10 The lockfile already resolves 0.9.0; this raises the declared lower bound to match and caps below the next minor. Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 42468d43..5fe39115 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ "Natural Language :: English", ] dependencies = [ - "model2vec>=0.4.0", + "model2vec>=0.9,<0.10", "vicinity>=0.4.4", "numpy>=1.24.0", "pathspec>=0.12", diff --git a/uv.lock b/uv.lock index 6e5bd760..6007b248 100644 --- a/uv.lock +++ b/uv.lock @@ -3873,7 +3873,7 @@ requires-dist = [ { name = "einops", marker = "extra == 'benchmark'", specifier = ">=0.8.2" }, { name = "matplotlib", marker = "extra == 'benchmark'", specifier = ">=3.7" }, { name = "mcp", marker = "extra == 'mcp'", specifier = ">=1.0,<2.0" }, - { name = "model2vec", specifier = ">=0.4.0" }, + { name = "model2vec", specifier = ">=0.9,<0.10" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.0" }, { name = "numpy", specifier = ">=1.24.0" }, { name = "numpy", marker = "extra == 'benchmark'", specifier = ">=1.24.0" }, From d7455605e150fa6c3c5eed49af636aed0f10b393 Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 12:10:57 +0200 Subject: [PATCH 2/3] chore: keep model2vec lower bound at 0.4.0, cap below 0.10 Only add the upper bound; older model2vec releases stay allowed. Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- pyproject.toml | 2 +- uv.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5fe39115..0375dc3d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ "Natural Language :: English", ] dependencies = [ - "model2vec>=0.9,<0.10", + "model2vec>=0.4.0,<0.10", "vicinity>=0.4.4", "numpy>=1.24.0", "pathspec>=0.12", diff --git a/uv.lock b/uv.lock index 6007b248..958387c0 100644 --- a/uv.lock +++ b/uv.lock @@ -3873,7 +3873,7 @@ requires-dist = [ { name = "einops", marker = "extra == 'benchmark'", specifier = ">=0.8.2" }, { name = "matplotlib", marker = "extra == 'benchmark'", specifier = ">=3.7" }, { name = "mcp", marker = "extra == 'mcp'", specifier = ">=1.0,<2.0" }, - { name = "model2vec", specifier = ">=0.9,<0.10" }, + { name = "model2vec", specifier = ">=0.4.0,<0.10" }, { name = "mypy", marker = "extra == 'dev'", specifier = ">=1.0" }, { name = "numpy", specifier = ">=1.24.0" }, { name = "numpy", marker = "extra == 'benchmark'", specifier = ">=1.24.0" }, From 8da929a76950a57645643429d8108d6a5122e8ae Mon Sep 17 00:00:00 2001 From: Pringled Date: Fri, 11 Sep 2026 12:17:12 +0200 Subject: [PATCH 3/3] chore: cap vicinity below 0.5 and semble-grammars below 0.2 Both are 0.x MinishLab packages whose minor releases can break semble: it subclasses vicinity's CosineBasicBackend and imports its internal modules, and relies on semble-grammars' parser API. Claude-Session: https://claude.ai/code/session_01N5WnCfeaj66TgZTbqm2Zew --- pyproject.toml | 4 ++-- uv.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0375dc3d..759cd103 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,12 +27,12 @@ classifiers = [ ] dependencies = [ "model2vec>=0.4.0,<0.10", - "vicinity>=0.4.4", + "vicinity>=0.4.4,<0.5", "numpy>=1.24.0", "pathspec>=0.12", "orjson", "questionary>=2.0,<3.0", - "semble-grammars>=0.1.2", + "semble-grammars>=0.1.2,<0.2", "tqdm>=4.60", ] diff --git a/uv.lock b/uv.lock index 958387c0..04ba3aba 100644 --- a/uv.lock +++ b/uv.lock @@ -3886,11 +3886,11 @@ requires-dist = [ { name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=5.0" }, { name = "questionary", specifier = ">=2.0,<3.0" }, { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.9.0" }, - { name = "semble-grammars", specifier = ">=0.1.2" }, + { name = "semble-grammars", specifier = ">=0.1.2,<0.2" }, { name = "sentence-transformers", marker = "extra == 'benchmark'", specifier = ">=3.0" }, { name = "tiktoken", marker = "extra == 'benchmark'", specifier = ">=0.7" }, { name = "tqdm", specifier = ">=4.60" }, - { name = "vicinity", specifier = ">=0.4.4" }, + { name = "vicinity", specifier = ">=0.4.4,<0.5" }, ] provides-extras = ["mcp", "benchmark", "dev"]