Skip to content

feat(memory): MemoryProvider.health_check() + Honcho/Mem0 native probes - #47

Closed
PowerCreek wants to merge 1 commit into
mainfrom
feat/memory-health-check
Closed

feat(memory): MemoryProvider.health_check() + Honcho/Mem0 native probes#47
PowerCreek wants to merge 1 commit into
mainfrom
feat/memory-health-check

Conversation

@PowerCreek

Copy link
Copy Markdown

Summary

  • Adds health_check() -> tuple[bool, str] to MemoryProvider ABC with a safe default that delegates to is_available(); returns typed prefix reasons (auth:, unreachable:, unavailable:)
  • Gives HonchoMemoryProvider a native override that calls get_honcho_client() for a real connectivity probe
  • Gives Mem0MemoryProvider a native override that calls client.get_all(limit=1) to verify key + API reachability
  • Collapses the Honcho-specific and Mem0-specific branches in hermes_cli/doctor.py into a single generic path that calls provider.health_check() — the Honcho branch retains config-file existence and enabled checks before delegating to the provider

Test plan

  • hermes doctor with Honcho configured + reachable: shows "Honcho connected workspace=..."
  • hermes doctor with Honcho configured + bad key: shows auth-rejected issue
  • hermes doctor with Honcho configured + unreachable host: shows connection-failed issue
  • hermes doctor with Mem0 configured + valid key: shows "mem0 reachable"
  • hermes doctor with Mem0 configured + no key: shows auth issue
  • hermes doctor with a third-party provider (e.g. openviking): goes through generic else path, calls health_check() (default delegation)
  • MemoryProvider.health_check() base default: returns (False, "unavailable: is_available() returned False") for a provider whose is_available() returns False

Closes #42

🤖 Generated with Claude Code

…ive probes; collapse doctor provider-specific branches

Closes #42

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@PowerCreek

Copy link
Copy Markdown
Author

Closing as superseded. The full RFC #42 surface was shipped as eight incremental PRs by hermes-maintainer over the same session (one per provider migration + doctor branch collapse): #48 mem0, #49 byterover, #50 retaindb, #51 (skipped), #52 holographic + Honcho/Mem0 elif collapse, #53 ACP installation probe (separate doctor work), #54 web toolset hint (separate doctor work). RFC #42 is closed; this PR has no orphan changes. — orchestrator cleanup.

@PowerCreek PowerCreek closed this May 23, 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.

[RFC] Add MemoryProvider.health_check() ABC method for doctor-visible reachability probes (#36 follow-up)

1 participant