Summary
The hermes adapter cannot be imported on current main: memos_provider/__init__.py imports MemosHttpClient from bridge_client, but that class does not exist anywhere in the repository.
Repro
cd apps/memos-local-plugin
python -m unittest tests.python.test_hermes_provider_pipeline
File ".../adapters/hermes/memos_provider/__init__.py", line 68, in <module>
from bridge_client import BridgeError, MemosBridgeClient, MemosHttpClient # noqa: E402
ImportError: cannot import name 'MemosHttpClient' from 'bridge_client'
git grep "class MemosHttpClient" across the repo → zero hits.
Impact
- Every plugin test under
apps/memos-local-plugin/tests/python/ fails at collection (import error before any test runs).
- Any real Hermes host loading
memos_provider hits the same ImportError at module load — the adapter is entirely non-functional on main, not just in tests.
- CI does not catch this because
python-tests.yml runs pytest tests (repo root) only; the plugin's Python tests are not wired into CI.
Where it came from
__init__.py references MemosHttpClient at lines 68, 282, 334, 336 (type union with MemosBridgeClient, plus an http_bridge = MemosHttpClient() construction path). These usages arrived via the pr/may27-fixes merge (0398e0ed, followed by ruff fixup c739e9f2), but the class definition itself was never committed — it looks like the branch was merged with half of an HTTP-client feature.
Suggested fix
Either commit the missing MemosHttpClient implementation in bridge_client.py, or revert the usages in __init__.py until the HTTP client feature is complete. Also worth adding apps/memos-local-plugin/tests/python to CI so import-level breakage like this fails fast.
Found while rebasing #2095 (the plugin tests there pass once this class is stubbed).
Summary
The hermes adapter cannot be imported on current
main:memos_provider/__init__.pyimportsMemosHttpClientfrombridge_client, but that class does not exist anywhere in the repository.Repro
cd apps/memos-local-plugin python -m unittest tests.python.test_hermes_provider_pipelinegit grep "class MemosHttpClient"across the repo → zero hits.Impact
apps/memos-local-plugin/tests/python/fails at collection (import error before any test runs).memos_providerhits the sameImportErrorat module load — the adapter is entirely non-functional onmain, not just in tests.python-tests.ymlrunspytest tests(repo root) only; the plugin's Python tests are not wired into CI.Where it came from
__init__.pyreferencesMemosHttpClientat lines 68, 282, 334, 336 (type union withMemosBridgeClient, plus anhttp_bridge = MemosHttpClient()construction path). These usages arrived via thepr/may27-fixesmerge (0398e0ed, followed by ruff fixupc739e9f2), but the class definition itself was never committed — it looks like the branch was merged with half of an HTTP-client feature.Suggested fix
Either commit the missing
MemosHttpClientimplementation inbridge_client.py, or revert the usages in__init__.pyuntil the HTTP client feature is complete. Also worth addingapps/memos-local-plugin/tests/pythonto CI so import-level breakage like this fails fast.Found while rebasing #2095 (the plugin tests there pass once this class is stubbed).