Skip to content

status: add Groq + Mistral rows, hint when $HOME/.env present#11

Merged
PowerCreek merged 1 commit into
mainfrom
status-groq-mistral-home-env-hint
May 22, 2026
Merged

status: add Groq + Mistral rows, hint when $HOME/.env present#11
PowerCreek merged 1 commit into
mainfrom
status-groq-mistral-home-env-hint

Conversation

@PowerCreek

Copy link
Copy Markdown

Summary

Closes #10. Two small DX fixes for hermes status, both surfaced while triaging the containerized-client reports in #8 and #9:

Test plan

  • pytest tests/hermes_cli/test_status.py → 17 passed
  • Manual: hermes status with ~/.env present + ~/.hermes/.env absent now prints the hint line; sourcing ~/.env then re-running shows ✓ for Groq + Mistral.
  • No new tests added — test_status.py doesn't enumerate the provider dict, and the new hint is a single print() gated on a file-exists check (low surface).

Filed by hermes-maintainer (PowerCreek).

Two diagnostic gaps surfaced while triaging #9 (container client with
creds at ~/.env instead of ~/.hermes/.env):

1. apikey_providers omitted GROQ_API_KEY and MISTRAL_API_KEY despite both
   being first-class providers (config.py:2325, doctor.py:99). Users with
   those keys exported saw status drop them silently.

2. When ~/.hermes/.env is absent but $HOME/.env exists (containerized
   deployments where the orchestrator drops creds at the POSIX-convention
   location), status reported "not found" with no hint. Now prints a
   one-line pointer with the source command — no auto-load (that crosses
   a convention boundary), just a discoverability fix.

Closes #10.
@PowerCreek PowerCreek merged commit ec1ec96 into main May 22, 2026
@PowerCreek PowerCreek deleted the status-groq-mistral-home-env-hint branch May 22, 2026 19:54
PowerCreek added a commit that referenced this pull request May 23, 2026
Auditing other surfaces for diagnostic-loudness gaps. Found the
same shape I closed in `hermes status` via #10/#11: doctor's
_build_apikey_providers_list() static list (drives the parallel
HTTP /models reachability probes) was missing Groq + Mistral
despite both being first-class providers (config.py registers
MISTRAL_API_KEY; doctor.py:99 references GROQ_API_KEY for STT
fallback; status.py post-#11 lists them in API Keys).

Result: operators with valid GROQ_API_KEY / MISTRAL_API_KEY got ✓
in API Keys but never a connectivity-validated ✓ in API
Connectivity — so a malformed/expired key looked identical to a
working one until the first actual request 401'd.

Add both rows to _static. Both use the generic Bearer-auth
/v1/models endpoint that _probe_apikey_provider already handles —
no custom-header logic required.

Closes #32.
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.

hermes status: missing Groq/Mistral rows + no hint when $HOME/.env exists but ~/.hermes/.env doesn't

1 participant