fix: align doctor with auth-store and enabled tools - #51644
Conversation
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the auth-store doctor investigation. The underlying OAuth-without-.env problem remains on current main: hermes_cli/doctor.py:704-715 only checks .env provider hints before treating the configuration as missing.
Problems
- Current main intentionally filters only the final missing-API-key summary, while retaining tool-availability rows (
hermes_cli/doctor.py:2195-2200, commit6b21a935). The PR instead filters both displayed lists at proposedhermes_cli/doctor.py:2148-2151; this needs an explicit UX decision during salvage. - The added delegation regression test does not reach its new fallback: proposed
tests/tools/test_delegate.py:389passes a non-emptymodel, which the existing expression already uses. The real dispatcher passes resolvedcreds["model"]attools/delegate_tool.py:2522. .install_methodis already ignored on main at.gitignore:121-124.
Suggested changes
- Preserve the auth-store doctor fix, but reconcile the tool-row behavior with
6b21a935. - Drop the unrelated delegation change unless a reachable falsey-model path can be demonstrated and tested through the real credential-resolution flow.
Automated hermes-sweeper review.
| available, unavailable = check_tool_availability() | ||
| available, unavailable = _apply_doctor_tool_availability_overrides(available, unavailable) | ||
|
|
||
| enabled_toolsets = _doctor_enabled_toolsets_for_platform("cli") |
There was a problem hiding this comment.
Current main deliberately filters only the final missing-API-key summary (commit 6b21a935), while retaining all tool-availability warning rows. This filters the displayed rows as well; please reconcile that UX change with the current-main behavior rather than applying it incidentally.
| goal="Use fallback route", | ||
| context=None, | ||
| toolsets=None, | ||
| model="high-output-child-model", |
There was a problem hiding this comment.
This supplies a non-empty model, so both the old and new callback-label expressions select it before reaching the added fallback. The test passes on pre-change code; either demonstrate a reachable falsey-model flow through credential resolution or drop the dead branch.
| # Install-method stamp written into the managed checkout root by the installer. | ||
| # It is local runtime state that lets Hermes distinguish git/docker/pip installs; | ||
| # never commit the operator-specific stamp value. | ||
| .install_method |
There was a problem hiding this comment.
This entry is already present on current main at .gitignore:121-124; omit this hunk when salvaging the PR.
Summary
Tests