Skip to content

fix(ollama): add nemotron-3-ultra to model selector - #42135

Open
htazq wants to merge 1 commit into
NousResearch:mainfrom
htazq:fix/ollama-nemotron-ultra-selector
Open

fix(ollama): add nemotron-3-ultra to model selector#42135
htazq wants to merge 1 commit into
NousResearch:mainfrom
htazq:fix/ollama-nemotron-ultra-selector

Conversation

@htazq

@htazq htazq commented Jun 8, 2026

Copy link
Copy Markdown

Description

The Ollama model selector includes nemotron-3-nano:30b and nemotron-3-super, but does not include nemotron-3-ultra.

nemotron-3-ultra can already be used when it is configured as the current/custom model, so this appears to be a preset list omission rather than a provider/runtime issue.

Expected behavior

nemotron-3-ultra should be available in the Ollama default model selector, near the existing Nemotron entries.

Actual behavior

The model selector does not show nemotron-3-ultra, so users have to enter it manually as a custom model.

Proposed change

Add nemotron-3-ultra to the Ollama model preset list.

Scope

This only updates the selector/model preset list. It does not change Ollama provider behavior, routing, authentication, or request formatting.

Tests

  • uv run --extra dev ruff check hermes_cli\models.py tests\hermes_cli\test_ollama_cloud_provider.py
  • uv run --extra dev python -m pytest -o addopts="" tests\hermes_cli\test_ollama_cloud_provider.py

Note: the repository pytest config uses --timeout-method=signal, which raises AttributeError: module 'signal' has no attribute 'SIGALRM' on Windows. The targeted pytest run overrides addopts for the local Windows validation run.

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/cli CLI entry point, hermes_cli/, setup wizard provider/ollama Ollama / local models labels Jun 8, 2026

@tonydwb tonydwb 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 Summary

Verdict: Approved

Looks Good

  • Adds nemotron-3-ultra to Ollama cloud model selector, positioned after its sibling anchor models (nemotron-3-nano:30b, nemotron-3-super) in the merged list.
  • Includes dedicated test case test_adds_curated_nemotron_ultra_when_registry_omits_it.
  • No security concerns, no debug artifacts.

Reviewed by Hermes Agent

@teknium1 teknium1 left a comment

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.

Thanks for the focused selector fix. I found one current-main cache-path gap that needs resolution before this static fallback can provide the requested guarantee.

Problems

  • fetch_ollama_cloud_models() returns a fresh cache before the PR's merge point (hermes_cli/models.py:3732-3736) and returns stale cache on total discovery failure (hermes_cli/models.py:3775-3778). A cache created without this model will bypass the proposed insertion; the new test uses force_refresh=True and does not cover either path.
  • The current Ollama Cloud contract says the catalog is dynamic with “no static list to maintain” (tests/hermes_cli/test_ollama_cloud_provider.py:105-110). The PR should establish why this source-specific static exception is necessary.

Suggested changes

  • Route cached and freshly discovered results through one idempotent curation step, with cache-path coverage, if a curated exception is intended.
  • Document the verified upstream-source gap or update the discovery source instead of maintaining a local exception.

This is an automated hermes-sweeper review.

Comment thread hermes_cli/models.py
if normalized and normalized not in seen:
seen.add(normalized)
merged.append(normalized)
if _OLLAMA_CLOUD_NEMOTRON_ULTRA not in seen:

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.

This insertion is skipped when fetch_ollama_cloud_models() returns its fresh disk cache or stale-cache fallback first (current main: hermes_cli/models.py:3732-3736, 3775-3778). Apply an idempotent post-processing step to every return path, and add cache coverage, if this fallback is meant to guarantee picker availability.

@teknium1 teknium1 added sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform labels Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have provider/ollama Ollama / local models sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform sweeper:risk-compatibility Sweeper risk: may break existing users, config, migrations, defaults, or upgrades type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants