Skip to content

feat(providers): add xAI display-label override - #50626

Draft
arminanton wants to merge 1 commit into
NousResearch:mainfrom
arminanton:feat/subdir-hints-and-xai-label
Draft

feat(providers): add xAI display-label override#50626
arminanton wants to merge 1 commit into
NousResearch:mainfrom
arminanton:feat/subdir-hints-and-xai-label

Conversation

@arminanton

@arminanton arminanton commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Adds "xai": "xAI" to _LABEL_OVERRIDES in hermes_cli/providers.py so the provider list shows proper casing.

Scoped to this single label change. The subdirectory_hints.py RuntimeError guard previously bundled in this PR is deferred to the maintainer-preferred open #29433 (same fix; our earlier #50049 was marked a duplicate of it), keeping this PR to one logical change.

arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…rch#50626), refresh PINNED-SHAS

- BUILD-TEST-VERIFICATION.txt: NousResearch#50064 (18 passed, fixed a real dropped-@patch
  collection-error), NousResearch#49644 (10 passed), NousResearch#48069 (10 passed) — all on correct base.
- REPRODUCE.sh: fix coverage union to use git-diff (not gh --files which caps at
  100 and produced false 'unmapped'). Re-verified 0 real orphans across 42 PRs.
- PINNED-SHAS.txt: regenerated from live GitHub (42 PRs, 8 ready / 34 draft),
  reconciling 11 drifted heads.
- 3 previously-orphaned files (subdirectory_hints + xai label) re-homed into new
  draft PR NousResearch#50626.
@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/cli CLI entry point, hermes_cli/, setup wizard provider/xai xAI (Grok) labels Jun 22, 2026
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
… + record NousResearch#50626 re-home

- Correct the closure invariant from the gh-files undercount (160/139/21) to the
  authoritative git-diff numbers: 165 delta = 140 real src (all in open PRs) + 25
  DISCARD (9 .bak + 12 .project-intel + 4 transcripts) + 0 orphans.
- Document that NousResearch#50049's content (subdir-hints RuntimeError guard test + xAI label)
  is re-homed in new open PR NousResearch#50626 so the closure orphans nothing.
- Verified NousResearch#50484/NousResearch#50487/NousResearch#50049 already CLOSED on GitHub; their files all covered
  by open PRs (0 real-source orphans). NousResearch#49916 confirmed a distinct fix, not a
  duplicate of NousResearch#49917 (adjacent but non-overlapping tui_gateway/server.py hunks).
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
… in coverage maps

NousResearch#50457 (opus-context 100-file bundle) is CLOSED. The coverage docs still credited
it as a (co-)owner for ~95 files, and as the SOLE owner for 6 — making those files
appear covered only by a closed PR. Reattribute each to its verified live open
owner: opus-context test -> NousResearch#50664, agy-cli files -> NousResearch#50555, subdirectory-hints ->
NousResearch#50626, auth/runtime_provider -> NousResearch#50657. Strip the dead NousResearch#50457 from all secondary
co-listings. Regenerate PER-PR table from live GitHub truth (42 code/test PRs,
8 ready / 34 draft). Every primary owner now verified OPEN.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…or sample PRs

Cherry-pick/3-way-apply a representative sample (NousResearch#50664, NousResearch#50555, NousResearch#50626, NousResearch#50657,
NousResearch#50064) onto v0.17.0 (2bd1977) and run their tests on that base. 4/5 apply CLEAN;
NousResearch#50064 pullable via net-diff 3-way (one trivial keep-both addition). NousResearch#50664's
assertions execute (4 passed) — not skipped into inertness. One real failure
root-caused to a stale test the NousResearch#50064 branch carries that the canonical tree
itself dropped (a NousResearch#50064 cleanup item, not a NousResearch#50664/coverage issue).
Adds the "xai" -> "xAI" entry to _LABEL_OVERRIDES so the provider list shows the
proper casing. Scoped to this single label change; the subdirectory_hints.py
RuntimeError guard previously bundled here is deferred to the maintainer-preferred
open PR NousResearch#29433 (same fix), keeping this PR to one logical change.
@arminanton
arminanton force-pushed the feat/subdir-hints-and-xai-label branch from a11fc39 to e51e26a Compare June 22, 2026 08:53
@arminanton arminanton changed the title fix(agent): guard subdir-hint expansion against RuntimeError + add xAI provider label feat(providers): add xAI display-label override Jun 22, 2026
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
…hint dup to upstream NousResearch#29433

NousResearch#50626 force-pushed to exactly hermes_cli/providers.py (+"xai":"xAI", 1 line) — its
subdirectory_hints.py RuntimeError guard duplicated maintainer-preferred open NousResearch#29433
(which ships the same fix + its own test), so it's deferred there (one-PR-per-change).
The 2 subdir-hint files move to a new SUPERSEDED-by-upstream coverage class. Coverage
re-balances: 165 = 129 in PRs + 25 DISCARD + 9 WITHDRAWN + 2 SUPERSEDED + 0 orphans.
Trimmed NousResearch#50626 verified applies-clean on v0.17.0. Maps reconciled.
arminanton added a commit to arminanton/hermes-agent that referenced this pull request Jun 22, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for keeping this scoped to the provider-label fix.

Problems

  • Current main has tests/hermes_cli/test_xai_provider_labels.py:7, but it does not simulate the catalog-unavailable fallback. In that fallback, hermes_cli/providers.py:467 derives the display name from the raw canonical slug, so it returns "xai" unless _LABEL_OVERRIDES contains the direct-provider entry.

Suggested changes

  • Add a focused fallback-path regression test that makes the models.dev provider lookup unavailable and asserts get_label("xai") == "xAI". The proposed override is otherwise the correct narrow fix because get_label() gives _LABEL_OVERRIDES precedence at hermes_cli/providers.py:484-486.

Automated hermes-sweeper review.

@teknium1 teknium1 added the sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users label Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent runtime: loop, agent_init, prompt builder, context-compression, responses endpoint comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists provider/xai xAI (Grok) sweeper:blast-contained Sweeper blast radius: contained — one narrow path / opt-in / few users type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants