fix(doctor): recognize configured MoA orchestration - #64203
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates hermes doctor to treat moa as a valid, configured orchestration provider (rather than an unknown provider / missing-credentials case), aligning doctor’s provider validation with how MoA is represented in Hermes.
Changes:
- Add
moatohermes doctor’s accepted provider IDs so it won’t be flagged as unrecognized. - Exclude
moafrom the “non-auto provider must be a recognized catalog/auth provider” validation path. - Extend existing doctor test coverage to include
moain the provider-ID acceptance parametrization.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
hermes_cli/doctor.py |
Recognizes moa as a known/accepted configured provider and avoids unknown-provider warnings for it. |
tests/hermes_cli/test_doctor.py |
Adds a regression case ensuring moa isn’t rejected as an unknown provider. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Duplicate of #58771 (the earliest still-open PR making the same |
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the focused doctor regression fix. The underlying issue is real: current main omits moa from known_providers at hermes_cli/doctor.py:754, while the runtime defines it as a virtual provider at hermes_cli/providers.py:47-51.
Problems
- The same focused change is already present in the earlier open canonical PR #58771 (
33cf91192144072e7663fd339c15c7254d488861). - The additional validation bypass is not needed for credential handling. The credential check only fails for an API-key
PROVIDER_REGISTRYentry (hermes_cli/doctor.py:885-906); MoA is not one.
Suggested changes
- Prefer #58771 for salvage. If selecting this patch instead, keep the recognized-provider addition and regression test, and drop the redundant bypass.
Automated hermes-sweeper review.
| @@ -815,7 +817,7 @@ def run_doctor(args): | |||
| if catalog_provider is not None: | |||
There was a problem hiding this comment.
This MoA-specific bypass is redundant once moa is added to known_providers: the credential path only fails registry entries with auth_type == "api_key" (hermes_cli/doctor.py:885-906), while MoA is a virtual provider. Please omit this hunk if this patch is salvaged.
|
Closing as a duplicate of #58771 (@liuhao1024, submitted Jul 5 vs Jul 14) — both add |
Summary
moaorchestration provider inhermes doctormoaas a credential-bearing catalog providermoato the existing provider-ID acceptance coverageWhy
moais an orchestration layer, not a standalone model API provider. A valid MoA configuration should not produce an unknown-provider or missing-credentials warning.Verification
scripts/run_tests.sh tests/hermes_cli/test_doctor.pyruff checkpassedgit diff --checkpassed