Skip to content

Julenmendieta/MILAB-6501_bigEmbeddings - #99

Merged
julenmendieta merged 3 commits into
mainfrom
julenmendieta/MILAB-6501_bigEmbeddings
Jul 20, 2026
Merged

Julenmendieta/MILAB-6501_bigEmbeddings#99
julenmendieta merged 3 commits into
mainfrom
julenmendieta/MILAB-6501_bigEmbeddings

Conversation

@julenmendieta

@julenmendieta julenmendieta commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

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-specific buildWheel entry is included for linux-aarch64, where no prebuilt cp312 wheel exists on PyPI.

  • hdbscan==0.8.44 added to dependencies in python-3.12.10/config.json, placed after umap-learn in the dependency list.
  • buildWheel entry for linux-aarch64 added with Cython and numpy as build requirements, compiling from Cython sources on the native ARM runner.
  • Two changeset files (calm-crabs-type.md and add-hdbscan-python-3-12-10.md) both target the same package with a patch bump; 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

Filename Overview
python-3.12.10/config.json Adds hdbscan==0.8.44 to dependencies and a linux-aarch64 buildWheel entry; prebuilt wheels on other platforms may be incompatible with numpy==2.2.6.
.changeset/add-hdbscan-python-3-12-10.md Well-detailed changeset describing the hdbscan addition; this is the authoritative entry that should be kept.
.changeset/calm-crabs-type.md Duplicate changeset for the same package/version bump as add-hdbscan-python-3-12-10.md; causes a double patch bump and should be deleted.

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
Loading
%%{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 --> J
Loading

Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
.changeset/calm-crabs-type.md:1-5
**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.

### Issue 2 of 2
python-3.12.10/config.json:15
**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.

Reviews (1): Last reviewed commit: "Changeset" | Re-trigger Greptile

Greptile also left 2 inline comments on this PR.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .changeset/calm-crabs-type.md Outdated
Comment on lines +1 to +5
---
'@platforma-open/milaboratories.runenv-python-3.12.10': patch
---

Add hdbscan

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Comment thread .changeset/calm-crabs-type.md Outdated
Comment on lines +1 to +5
---
'@platforma-open/milaboratories.runenv-python-3.12.10': patch
---

Add hdbscan

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

Fix in Claude Code

"parasail==1.3.4",
"numpy==2.2.6",
"umap-learn==0.5.7",
"hdbscan==0.8.44",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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!

Fix in Claude Code

@julenmendieta
julenmendieta merged commit c10fd85 into main Jul 20, 2026
117 of 118 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants