Julenmendieta/MILAB-6501_bigEmbeddings - #99
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds hdbscan==0.8.44 to the Python 3.12.10 runenv configuration, including custom build requirements for linux-aarch64 where prebuilt wheels are unavailable. The review feedback points out a redundant changeset file (.changeset/calm-crabs-type.md) that should be removed to prevent duplicate changelog entries or multiple version bumps.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| --- | ||
| '@platforma-open/milaboratories.runenv-python-3.12.10': patch | ||
| --- | ||
|
|
||
| Add hdbscan |
There was a problem hiding this comment.
This changeset file is redundant because .changeset/add-hdbscan-python-3-12-10.md already covers the same package (@platforma-open/milaboratories.runenv-python-3.12.10) with the same patch bump type, but provides a much more detailed description. Please delete this file to avoid duplicate changelog entries or multiple version bumps.
| --- | ||
| '@platforma-open/milaboratories.runenv-python-3.12.10': patch | ||
| --- | ||
|
|
||
| Add hdbscan |
There was a problem hiding this comment.
Duplicate changeset causes a double patch bump
Both .changeset/calm-crabs-type.md and .changeset/add-hdbscan-python-3-12-10.md target the same package (@platforma-open/milaboratories.runenv-python-3.12.10) with a patch bump. When the changeset tooling processes the PR, it will apply two independent patch version bumps instead of one. The detailed changeset (add-hdbscan-python-3-12-10.md) is the authoritative one; this file should be deleted before merging.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .changeset/calm-crabs-type.md
Line: 1-5
Comment:
**Duplicate changeset causes a double patch bump**
Both `.changeset/calm-crabs-type.md` and `.changeset/add-hdbscan-python-3-12-10.md` target the same package (`@platforma-open/milaboratories.runenv-python-3.12.10`) with a `patch` bump. When the changeset tooling processes the PR, it will apply two independent patch version bumps instead of one. The detailed changeset (`add-hdbscan-python-3-12-10.md`) is the authoritative one; this file should be deleted before merging.
How can I resolve this? If you propose a fix, please make it concise.| "parasail==1.3.4", | ||
| "numpy==2.2.6", | ||
| "umap-learn==0.5.7", | ||
| "hdbscan==0.8.44", |
There was a problem hiding this comment.
hdbscan 0.8.44 prebuilt wheels may be incompatible with NumPy 2.x
hdbscan==0.8.44 ships prebuilt cp312 wheels for linux-x64, macOS universal2, and win-x64. If those wheels were compiled against NumPy 1.x, they will fail to import at runtime against numpy==2.2.6 because NumPy 2.0 introduced ABI-breaking changes for Cython extensions that used the old C API. The linux-aarch64 path builds from source (fine — it will compile against the 2.2.6 headers), but the three prebuilt-wheel platforms are at risk. It is worth verifying that the PyPI wheels for hdbscan 0.8.44 were built with NPY_TARGET_VERSION targeting NumPy 2.x before merging.
Prompt To Fix With AI
This is a comment left during a code review.
Path: python-3.12.10/config.json
Line: 15
Comment:
**hdbscan 0.8.44 prebuilt wheels may be incompatible with NumPy 2.x**
`hdbscan==0.8.44` ships prebuilt cp312 wheels for linux-x64, macOS universal2, and win-x64. If those wheels were compiled against NumPy 1.x, they will fail to import at runtime against `numpy==2.2.6` because NumPy 2.0 introduced ABI-breaking changes for Cython extensions that used the old C API. The linux-aarch64 path builds from source (fine — it will compile against the 2.2.6 headers), but the three prebuilt-wheel platforms are at risk. It is worth verifying that the PyPI wheels for hdbscan 0.8.44 were built with `NPY_TARGET_VERSION` targeting NumPy 2.x before merging.
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Greptile Summary
This PR adds
hdbscan==0.8.44(scikit-learn-contrib HDBSCAN) to the Python 3.12.10 runenv, enabling density-based clustering with out-of-sample assignment for the embedding-clustering block's large-dataset path. A platform-specificbuildWheelentry is included forlinux-aarch64, where no prebuilt cp312 wheel exists on PyPI.hdbscan==0.8.44added todependenciesinpython-3.12.10/config.json, placed afterumap-learnin the dependency list.buildWheelentry forlinux-aarch64added withCythonandnumpyas build requirements, compiling from Cython sources on the native ARM runner.calm-crabs-type.mdandadd-hdbscan-python-3-12-10.md) both target the same package with apatchbump; the duplicate will cause a double version bump and needs to be removed.Confidence Score: 3/5
Not safe to merge as-is: the duplicate changeset will inflate the version number, and the prebuilt wheels need to be verified against NumPy 2.x before this lands in a runenv used by downstream blocks.
The duplicate changeset causes a concrete, reproducible double version bump the moment changesets are consumed. Additionally, hdbscan 0.8.44 ships Cython-compiled prebuilt wheels and the runenv pins numpy==2.2.6; if those wheels were linked against NumPy 1.x's C ABI, every non-ARM platform will get a hard import failure at runtime.
python-3.12.10/config.json warrants a NumPy 2.x ABI check for hdbscan prebuilt wheels; .changeset/calm-crabs-type.md must be deleted.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[hdbscan==0.8.44 added to dependencies] --> B{Platform?} B -->|linux-x64| C[Use prebuilt cp312 wheel from PyPI] B -->|macOS universal2| C B -->|win-x64| C B -->|linux-aarch64| D[No cp312 wheel on PyPI] D --> E[buildWheel triggered] E --> F[Build requires: setuptools, wheel, Cython, numpy] F --> G[Compile Cython sources on native ARM runner] C --> H{NumPy 2.x ABI check} H -->|Wheel built vs NumPy 1.x| I[⚠️ Runtime ImportError] H -->|Wheel built vs NumPy 2.x| J[✅ Works with numpy==2.2.6] G --> J%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A[hdbscan==0.8.44 added to dependencies] --> B{Platform?} B -->|linux-x64| C[Use prebuilt cp312 wheel from PyPI] B -->|macOS universal2| C B -->|win-x64| C B -->|linux-aarch64| D[No cp312 wheel on PyPI] D --> E[buildWheel triggered] E --> F[Build requires: setuptools, wheel, Cython, numpy] F --> G[Compile Cython sources on native ARM runner] C --> H{NumPy 2.x ABI check} H -->|Wheel built vs NumPy 1.x| I[⚠️ Runtime ImportError] H -->|Wheel built vs NumPy 2.x| J[✅ Works with numpy==2.2.6] G --> JPrompt To Fix All With AI
Reviews (1): Last reviewed commit: "Changeset" | Re-trigger Greptile