Skip to content

test(hermes-plugin): force the e2e real-server child inline (#138) - #146

Merged
devinmlowe merged 1 commit into
mainfrom
worktree-fix-138
Sep 21, 2026
Merged

devinmlowe merged 1 commit into
mainfrom
worktree-fix-138

Conversation

@devinmlowe

Copy link
Copy Markdown
Owner

Summary

interfaces/hermes-plugin/tests/test_stdio_e2e_real_server.py spawned dist/interfaces/mcp/server.js without --standalone. With the daemon up on :9907, the stdio start bridged to it and the test's remember landed in the production database (#138).

Fix: "extra_env": {"ENGRAM_MCP_STANDALONE": "1"} in the test's engram.json fixture, so the child always runs inline against the temp ENGRAM_DB_PATH. #87 already runs an ENGRAM_SCOPE-carrying start inline; this makes the test's hermeticity explicit rather than a side effect of that rule.

Closes #138

Verification

  • Daemon running (0.4.0 on :9907) during the run; the test wrote to the pytest temp DB (e2e-engram.db, 1.5 MB), not ~/.local/share/engram/engram.db.
  • python3 -m pytest interfaces/hermes-plugin/tests -q (with PYTHONPATH=~/.hermes/hermes-agent): 127 passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_017FkPTUntBVpcD9ta58zaHs

test_stdio_e2e_real_server.py spawned dist/interfaces/mcp/server.js
without --standalone, so on a machine with the daemon up the stdio start
bridged to it and the `remember` call landed in the production database.

Set ENGRAM_MCP_STANDALONE=1 via the fixture's `extra_env` so the child
always runs inline against the temp ENGRAM_DB_PATH. #87 already makes an
ENGRAM_SCOPE-carrying start run inline; this makes the test's hermeticity
explicit rather than a side effect of that rule.

Closes #138

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017FkPTUntBVpcD9ta58zaHs
@devinmlowe
devinmlowe merged commit 0848247 into main Sep 21, 2026
10 of 12 checks passed
@devinmlowe
devinmlowe deleted the worktree-fix-138 branch September 21, 2026 23:03
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.

[hermes-plugin] test_stdio_e2e_real_server.py spawns server.js without --standalone, so it bridges to the live daemon and writes through it

1 participant