Skip to content

hotfix(adapter): default MOLECULE_A2A_PLATFORM_ENABLED=false - #35

Merged
HongmingWang-Rabbit merged 1 commit into
mainfrom
hotfix/disable-plugin-default
May 3, 2026
Merged

HongmingWang-Rabbit merged 1 commit into
mainfrom
hotfix/disable-plugin-default

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Why

Staging E2E for PR #32 surfaced a workspace boot failure on the rebuilt image:

  • adapter.setup() probes http://127.0.0.1:8645/a2a/health (the molecule-a2a plugin endpoint)
  • Plugin never binds :8645 inside the container — httpx.ConnectError: All connection attempts failed
  • Workspace marked failed after ~498s of cloud-init

Root cause is image-side plugin install/discovery, not the executor wire shape. My local scripts/e2e_full_chain.py runs against a venv where I'd manually installed the plugin — it didn't catch the deployment-shape divergence (instance of the feedback_real_subprocess_test_for_boot_path rule one layer deeper than tested).

What this PR does

Flips MOLECULE_A2A_PLATFORM_ENABLED default from true → false. Falls back to /v1/chat/completions transport (no session continuity, but works). Plugin path is now opt-in via env var so debugging can continue per-workspace.

What re-enabling will need (filed separately)

  1. An image-build CI smoke test that verifies pip show hermes-platform-molecule-a2a + hermes config show succeed inside the built container.
  2. Confirming the platforms.molecule-a2a stanza actually lands in ~/.hermes/config.yaml inside the running container (start.sh seed path may not fire correctly).

Test plan

  • 37 unit tests pass after the flip.
  • Plugin-path tests now opt-in via the _make_executor helper's default.
  • test_executor_init_defaults_to_chat_completions asserts new prod default.
  • Once merged + image republished: provision a fresh hermes workspace, confirm it reaches online instead of failed.

🤖 Generated with Claude Code

Staging E2E for PR #32 surfaced a workspace boot failure: the deployed
image's hermes gateway never bound :8645, so adapter.setup()'s
/a2a/health probe got httpx.ConnectError and the workspace went
status=failed at ~498s.

Root cause is image-side install/discovery of the molecule-a2a plugin,
NOT the executor wire shape. Local scripts/e2e_full_chain.py runs
against a venv where I'd already installed the plugin manually — it
didn't catch the deployment-shape divergence.

Flip the default off to restore the legacy /v1/chat/completions
fallback (no session continuity, but works). Plugin path stays
opt-in via MOLECULE_A2A_PLATFORM_ENABLED=true so debugging can
continue per-workspace without rolling the whole image again.

Re-enabling will require:
  - An image-build smoke test that verifies pip show
    hermes-platform-molecule-a2a + hermes config show inside the
    built container (filed separately)
  - Verifying the molecule-a2a config stanza actually lands in
    ~/.hermes/config.yaml inside the running container

Tests updated: 37 pass. Plugin-path tests now opt-in via the helper's
default; default-detection test asserts the new chat_completions
fallback.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@HongmingWang-Rabbit
HongmingWang-Rabbit merged commit 0cdb0e4 into main May 3, 2026
9 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the hotfix/disable-plugin-default branch May 3, 2026 02:01
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.

1 participant