Skip to content

feat: build and refresh the featured models list daily - #9

Merged
ashokgelal merged 2 commits into
feat/cluster-collection-tiersfrom
feat/featured-refresh
Oct 18, 2026
Merged

ashokgelal merged 2 commits into
feat/cluster-collection-tiersfrom
feat/featured-refresh

Conversation

@ashokgelal

Copy link
Copy Markdown
Contributor

Stacked on #8. Merge #8 first; GitHub then moves this PR's base to main.

Problem

The featured models list is rebuilt only by hand, with a Python script in the private msty-nexus repo. Sizes and files go stale between rebuilds. Ollama now publishes some sizes as ranges ("6.6GB - 7.6GB"), and the old builder dropped size_bytes for those tags without any error.

Solution

  • The builder now lives here, in Node with no dependencies, like the Ollama job. Reasons: msty-nexus is private, so a workflow here would need a cross-repo token to run the Python script. Also, one repo now owns both the data and its builder.
  • scripts/featured-curation.mjs holds the curation: which models, names, summaries, tiers, coding tags, collections. The job never edits it. Adding, dropping, or replacing a model is still a reviewed PR.
  • refresh-featured.yml runs daily. It refreshes files, sizes, parameters, context, and popularity. It commits only when something other than generated_at or popularity changed. Nexus reads popularity live, so those numbers alone do not need a commit.
  • An Ollama size range uses the upper end. An Ollama size that cannot be read is now a build problem, so the old bug fails loudly. Any unconfirmed reference fails the run without writing.
  • featured-verify.mjs runs in CI. It checks the file's shape and sizes, and that the file matches the curation. A curation edit without a rebuild fails the PR.
  • featured-report.mjs writes leads to the job summary: mlx-community repos that may be newer versions of featured models (each model has a watch term). It changes nothing. Today it finds, for example, MiniMax M3, GLM-5.3 Flash, DeepSeek V4, Ornith 1.5, and MiniCPM-V 4.7. Expect some noise, such as other sizes of a featured family.

Test

  • The Node port produces the same output as the Python builder, except the 7 sizes it now reads from ranges.
  • Dry run on the published file: 6 rows change, all from upstream. Ollama re-published qwen3.5:9b, qwen3.5:0.8b, qwen3.5:2b, gemma4:12b, and glm-ocr with new sizes and parameter counts, and one Qwen3.8 GGUF grew by 96 bytes. Collections are unchanged. The second commit is that refresh.
  • A second run reports "unchanged".
  • node --test scripts/*.test.mjs (50 pass) and every verifier pass.

Notes

  • After this merges, cloudstack-llc/msty-nexus#585 removes the Python builder from msty-nexus.
  • The job uses the existing REFRESH_TOKEN secret, like the other refresh jobs.

@ashokgelal
ashokgelal merged commit 3ebb051 into feat/cluster-collection-tiers Oct 18, 2026
1 check 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.

1 participant