Skip to content

fix(e2e): restore messaging proxy reachability - #10788

Closed
jyaunches wants to merge 4 commits into
mainfrom
codex/fix-messaging-proxy-topology
Closed

fix(e2e): restore messaging proxy reachability#10788
jyaunches wants to merge 4 commits into
mainfrom
codex/fix-messaging-proxy-topology

Conversation

@jyaunches

Copy link
Copy Markdown
Contributor

Outcome

The trusted messaging-providers target can expose its credential-free fake API proxy on the OpenShell bridge while keeping the credential-bearing fake API on an internal-only network. The proxy remains unable to use masqueraded outbound egress.

Reason

The latest completed target evidence for the superseded #10628 failed the installed WeChat runtime with ECONNREFUSED 172.18.0.1:32771. The host port was not reachable from the OpenShell sandbox: the main implementation bound it only to host loopback, while the attempted internal-only replacement could not install usable published-port forwarding.

Related issues

Changes

  • Inspect and validate the private IPv4 gateway of the configured OpenShell Docker bridge before creating fake API resources.
  • Keep the fake API on its internal-only network with no published ports.
  • Create a dedicated non-masquerading bridge for the credential-free proxy, bind its ephemeral ports only to the OpenShell gateway, connect it to the internal API network while stopped, and then start it.
  • Verify Docker reports the exact gateway binding and retain reverse-order container and network cleanup.
  • Extend deterministic support coverage for the topology, credential separation, cleanup order, invalid network names, ambiguous bridge inspection, and incorrect host bindings.

Verification

  • npx vitest run --project e2e-support test/e2e/support/messaging-providers-runtime-proofs.test.ts — 30 tests passed.
  • npx vitest run --project integration test/automation/pull-requests/growth-guardrails.test.ts — 33 tests passed.
  • npm run test:e2e-phases:check — 132 tests across 90 files passed semantic phase coverage.
  • npm run checks:repository — repository checks passed.
  • npm run test:titles:check — test title check passed.
  • npx oxfmt --check test/e2e/live/messaging-providers-helpers.ts test/e2e/support/messaging-providers-runtime-proofs.test.ts — formatting passed.
  • Pre-commit and pre-push hooks — passed, including TypeScript, repository, secret, E2E phase, and growth checks.
  • Diff review — no secrets, API keys, or credentials are present.

Review notes

E2E root cause

  • Source evidence: manual PR E2E run 33507949591 tested superseded candidate db5a9c6793accb0bd9167e9421becdf03940ad39 against base 9169ab0790d9a1be68b439731c01b696f75ff085.
  • Stable signature: the installed WeChat runtime failed with ECONNREFUSED 172.18.0.1:32771 after publication and startup traffic proof had passed.
  • Cleanup evidence: all 12 registered cleanup entries passed with no failures.
  • Focused scope: repair only the fake API proxy publication topology and its deterministic support proof.
  • Required external evidence: one trusted latest-commit messaging-providers target run with complete cleanup proof. This PR remains draft until that target and exact-commit CI and review gates are green.

Security boundary

The fake API alone receives provider credentials and has no host publication. The host-published proxy receives no provider credentials, drops all capabilities, uses a read-only filesystem, and attaches to a separate bridge with IP masquerading disabled. Docker network names and the OpenShell bridge address fail closed before resources are created.


Signed-off-by: Julie Yaunches jyaunches@nvidia.com

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 1, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall line coverage in commit 8c5421a in the codex/fix-messaging-... branch remains at 96%, unchanged from commit 95c0a60 in the main branch.

TypeScript / code-coverage/cli

The overall line coverage in commit 8c5421a in the codex/fix-messaging-... branch remains at 84%, unchanged from commit 95c0a60 in the main branch.

Show a line coverage summary of the most impacted files.
File main 95c0a60 codex/fix-messaging-... 8c5421a +/-
src/lib/sandbox...rce-identity.ts 82% 82% 0%
src/lib/onboard...uild-context.ts 74% 75% +1%

Updated September 02, 2026 00:34 UTC

@jyaunches

Copy link
Copy Markdown
Contributor Author

Trusted target reconciliation for exact head 781b13c7bfde09e37d903270c2abc3c4dddba631:

  • Run: https://github.com/NVIDIA/NemoClaw/actions/runs/33517907472 (attempt 1)
  • Correlation: e2f313a9-86a3-4ad0-906e-c9382bc9c46d
  • Receipt: candidate 781b13c7bfde09e37d903270c2abc3c4dddba631, base/workflow 9169ab0790d9a1be68b439731c01b696f75ff085, target messaging-providers
  • Result: failed before the changed proxy-topology boundary. Onboarding's hosted Chat Completions probe timed out on every bounded attempt; the redacted summary is Chat Completions API: curl exit 28.
  • Classification: external inference-provider/network timing failure, not candidate-attributable. This PR changes only the messaging live helper and deterministic support proof; the run stopped during install/onboarding in phase 2. Earlier run 33507949591 on the same protected base completed onboarding and reached phase 6.
  • Cleanup: all 3 registered entries passed; failures=[].
  • Risk signal: testedSha=expectedSha=781b13c7..., failed=1, unhandledErrors=0.

This run is historical infrastructure evidence only. It is not a qualifying green latest-head target result. The PR remains draft; no rerun or replacement dispatch was made.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit 5227d6d. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

All previous runs

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@jyaunches jyaunches closed this Sep 2, 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.

1 participant