fix(hermes): changes to let the Discord facade connect - #3238
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Maintainer note: this PR is currently marked CONFLICTING/DIRTY, but |
## Summary - Replay the Hermes Discord facade stack from #3153 directly onto current main. - Replay Ben Barclay's #3238 follow-up as a separate authored commit. - Add a maintainer finish commit that preserves the hardened recovery log/readiness behavior while keeping the Hermes venv interpreter fix. ## Commit shape - 7 replayed commits from #3153 by Aaron Erickson. - 1 replayed commit from #3238 by Ben Barclay. - 1 maintainer finish commit by Aaron Erickson. ## Local validation - python3 -m py_compile agents/hermes/discord-facade.py agents/hermes/decode-proxy.py - bash -n agents/hermes/start.sh test/e2e/test-hermes-discord-e2e.sh - npm run build:cli - npx vitest run test/hermes-discord-facade.test.ts test/generate-hermes-config.test.ts src/lib/agent/runtime.test.ts test/sandbox-init.test.ts test/sandbox-provisioning.test.ts test/policies.test.ts - git diff --check Original PRs: #3153, #3238 Signed-off-by: Aaron Erickson <aerickson@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Local Discord facade added to emulate Discord Gateway+REST in the Hermes sandbox; runtime now exposes Discord proxy/facade URLs and augments PYTHONPATH for preload routing. * Sandbox policies updated to allow facade preload files and required Discord network routes. * **Tests** * Extensive unit and E2E coverage added for gateway auth boundary, REST forwarding/polling, interaction signature handling/token localization, preload routing, startup/init, and sandbox policy validation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> Co-authored-by: Ben Barclay <ben@nousresearch.com>
|
Closing this as superseded by the merged main replay in #3293. Ben and the NousResearch team: thank you for partnering with us on this and for staying engaged through the awkward handoff. Your PR identified the right Hermes Discord connection gap and carried the key follow-up needed to get the facade path actually usable in the sandbox, especially the Hermes venv/facade wiring. We pulled that work forward into #3293 so maintainers could resolve the merge conflicts on a main-based branch, add the final recovery/log-readiness fixes, and run the focused Hermes nightly validation before merging. The merged commit is 1bfc136. This close is housekeeping only; the contribution was valuable and directly shaped the code that landed. Appreciate the Nous folks leaning in with us here. |
various fixes to attempt to get discord working