Skip to content

fix(doctor): treat configured honcho as available#962

Closed
PeterFile wants to merge 1 commit intoNousResearch:mainfrom
PeterFile:fix/doctor-honcho-config-check
Closed

fix(doctor): treat configured honcho as available#962
PeterFile wants to merge 1 commit intoNousResearch:mainfrom
PeterFile:fix/doctor-honcho-config-check

Conversation

@PeterFile
Copy link
Contributor

@PeterFile PeterFile commented Mar 11, 2026

What does this PR do?

This PR fixes a false negative in hermes doctor for Honcho.

Today, doctor reuses the runtime availability gate for the honcho toolset. That gate only becomes true after a live agent session has already initialized Honcho state and injected a session manager + session key. That is correct for runtime tool execution, but wrong for doctor diagnostics.

This change keeps runtime behavior unchanged and only adjusts doctor output:

  • if Honcho is configured via HonchoClientConfig.from_global_config()
  • and resolves to enabled=True with an API key present
  • doctor treats honcho as available instead of reporting system dependency not met

This is the smallest correct fix because it changes the diagnostic interpretation without relaxing the actual runtime gate for query_user_context.

Related Issue

Fixes #961

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 🔒 Security fix
  • 📝 Documentation update
  • ✅ Tests (adding or improving test coverage)
  • ♻️ Refactor (no behavior change)
  • 🎯 New skill (bundled or hub)

Changes Made

  • Updated hermes_cli/doctor.py to add a doctor-specific Honcho config check based on HonchoClientConfig.from_global_config().
  • Updated hermes_cli/doctor.py to apply a doctor-only availability override for the honcho toolset after check_tool_availability() returns.
  • Added regression tests in tests/hermes_cli/test_doctor.py for:
    • configured Honcho being promoted to available in doctor output
    • unconfigured Honcho remaining unavailable
    • Honcho config detection with and without an API key

How to Test

  1. From the repository root, configure Honcho with enabled: true and a valid API key in ~/.honcho/config.json.
  2. Run hermes doctor on main and observe ⚠ honcho (system dependency not met).
  3. Check out this branch and run hermes doctor again.
  4. Confirm that honcho is no longer misreported as a missing system dependency.
  5. Run:
    • source .venv/bin/activate
    • PYTHONPATH=. pytest -o addopts='' -q tests/hermes_cli/test_doctor.py

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: macOS

Documentation & Housekeeping

  • N/A: no user-facing documentation changes were required
  • N/A: no config keys changed, so cli-config.yaml.example did not require updates
  • N/A: no contributor workflow or architecture guide changes were required
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — no platform-specific code was added
  • N/A: no tool descriptions/schemas were changed

Screenshots / Logs

Targeted test result:

source .venv/bin/activate
PYTHONPATH=. pytest -o addopts='' -q tests/hermes_cli/test_doctor.py
.......                                                                  [100%]
7 passed in 0.06s

teknium1 pushed a commit that referenced this pull request Mar 13, 2026
Doctor-only override so honcho shows as available when configured,
even outside a live agent session. Runtime tool gate unchanged.

Cherry-picked from PR #962 by PeterFile, rebased onto current main
(post-#736 merge) with conflict resolution.

Fixes #961

Co-authored-by: PeterFile <PeterFile@users.noreply.github.com>
teknium1 added a commit that referenced this pull request Mar 13, 2026
fix(doctor): treat configured honcho as available
@teknium1
Copy link
Contributor

Merged via PR #1129. Your commit was cherry-picked with authorship preserved onto current main (post-#736 merge). Direct merge would have silently dropped the Honcho Memory diagnostic section from doctor.py due to branch staleness — cherry-pick kept both your fix and #736's additions intact. Thanks for the clean fix!

@teknium1 teknium1 closed this Mar 13, 2026
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.

[Bug]: hermes doctor reports configured Honcho as unavailable

2 participants