Skip to content

Cactus Needle 2 - #2356

Open
HenryNdubuaku wants to merge 5 commits into
huggingface:mainfrom
HenryNdubuaku:patch-1
Open

HenryNdubuaku wants to merge 5 commits into
huggingface:mainfrom
HenryNdubuaku:patch-1

Conversation

@HenryNdubuaku

@HenryNdubuaku HenryNdubuaku commented Aug 8, 2026 •

Copy link
Copy Markdown

An on-device model shipped as per-platform binaries: github.com/cactus-compute/needle, the HF repo goes public at launch.


Note

Low Risk
Single additive entry in the model libraries registry; no auth, infra, or runtime behavior changes.

Overview
Registers Cactus Needle on the Hub as library tag cactus-needle, with UI label Needle and a link to cactus-compute/needle.

Download counting uses a custom Elasticsearch query aimed at on-device artifacts: per-platform needle binaries (macOS/Linux/Android paths), .exe, static libneedle.a, wheels, WASM, and .cact files. Like neighboring entries, it omits filter: true, so it will not appear in the popular-library models filter until that is enabled later.

Reviewed by Cursor Bugbot for commit 10a5497. Bugbot is set up for automated code reviews on this repo. Configure here.

on-device tool-calling model shipped as per-platform binaries: github.com/cactus-compute/needle, and note the HF repo goes public at launch.
Comment thread packages/tasks/src/model-libraries.ts Outdated

@cursor cursor 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.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 6bd7c34. Configure here.

prettyLabel: "Needle",
repoName: "needle",
repoUrl: "https://github.com/cactus-compute/needle",
countDownloads: `path:"macos-arm64/needle" OR path:"linux-x86_64/needle" OR path:"linux-arm64/needle" OR path:"linux-armv7/needle" OR path:"linux-riscv64/needle" OR path:"linux-mipsel/needle" OR path:"android-arm64/needle" OR path:"android-armv7/needle" OR path:"android-riscv64/needle" OR path_extension:"exe" OR (path_filename:"libneedle" AND path_extension:"a") OR path_extension:"whl" OR path_extension:"wasm" OR path_extension:"cact"`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Download query overcounts co-located artifacts

Medium Severity

The countDownloads query ORs per-platform needle binaries with libneedle.a, .exe, .whl, .wasm, and .cact, which all ship together in the same repos. Hub stats add one count per matching file request, so a snapshot or folder fetch is tallied many times and inflates public download numbers.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 6bd7c34. Configure here.

@HenryNdubuaku

Copy link
Copy Markdown
Author

Bumping this :(

prettyLabel: "Needle",
repoName: "needle",
repoUrl: "https://github.com/cactus-compute/needle",
countDownloads: `path:"macos-arm64/needle" OR path:"linux-x86_64/needle" OR path:"linux-arm64/needle" OR path:"linux-armv7/needle" OR path:"linux-riscv64/needle" OR path:"linux-mipsel/needle" OR path:"android-arm64/needle" OR path:"android-armv7/needle" OR path:"android-riscv64/needle" OR path_extension:"exe" OR (path_filename:"libneedle" AND path_extension:"a") OR path_extension:"whl" OR path_extension:"wasm" OR path_extension:"cact"`,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is a complex expression, I wonder if it can be simplified. I haven't checked the downloading code in your repo, but as written this is prone to double counting. For example, this directory contains both a libneedle.a and a needle.exe, which both seem to match the set of rules defined above. Are these being downloaded separately for different use cases?

In addition, I see the repo already already has 10K downloads despite the rules not being active. Is the download process always retrieving config.json, no matter what? In that case, we may not need a custom rule at all.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

definitely agree with the above ^ 💯

Comment on lines +206 to +207
prettyLabel: "Needle",
repoName: "needle",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We generally recommend these to be the same; there are some legacy exceptions but we will be unifying going forward.

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.

3 participants