Repository navigation
fix(sandbox): report gateway targets in status and recovery - #13134
Open
Dongni-Yang wants to merge 5 commits into
Open
Dongni-Yang wants to merge 5 commits into
Dongni-Yang wants to merge 5 commits into
Conversation
Show the captured gateway binding before status RPC failures. Show the resolved target before readiness guards can stop recovery. Keep routing, refusal behavior, and exit codes unchanged. Closes #10656 Signed-off-by: Dongni Yang <dongniy@nvidia.com>
|
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. |
Contributor
Contributor
Code coverage overviewLanguages: TypeScript TypeScript / code-coverage/plugin
View coverage of the 10 most impacted files.
TypeScript / code-coverage/cli
View coverage of the 10 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
Report the qualified receipt gateway while retaining unprobed health semantics. Closes #10656 Signed-off-by: Dongni Yang <dongniy@nvidia.com>
rsliter
approved these changes
Oct 21, 2026
rsliter
left a comment
Collaborator
There was a problem hiding this comment.
Approved at head ee99ca44b63bff07e302884bb9000f6ebb462651 against base 41f72b5ec8c0d07e46ae9ebfac9bf9efdff5b28b.
Evidence:
- The change addresses accepted bug #10656 by reporting the persisted gateway before status and probe-only recovery failures. It preserves the existing lifecycle, readiness, and mutation boundaries.
- All 74 current check contexts are terminal and passing or legitimately skipped. The exact-head runtime activation jobs passed on amd64, arm64, and rootless Podman in run 39549765319. The trusted gate checker passed CI, conflict, CodeRabbit, risky-path, DCO, and commit-verification gates.
- The exact-head PR Review Advisor run 39551914792 recommended no additional E2E selector. Its architecture P1 is not reproducible through the public status path:
getPublishedSandboxresolves the row throughfindSandboxAcrossGatewayRoots, which callsregistryEntryGatewayPortand rejects conflicting gateway name and port values before rendering. Existing registry tests cover that fail-closed contract. - Security review: PASS in all nine categories: secrets and credentials, input validation, authentication and authorization, dependencies, error handling and logging, cryptography, configuration, tests, and system interactions. The added output uses validated persisted identity and does not change authority, network access, or sandbox mutation.
No blocking defect found.
Contributor
|
PR Review Advisor finished for commit Request review only when Require no Advisor blockers is green. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Text status names the recorded gateway before an RPC failure exits.
Recovery names its target before a readiness guard can exit.
Hermes Portable text status also names its receipt's gateway during pending, configuring, and active phases.
Reason
Gateway routing already selects the registered owner, but early failures and Portable status omit that context.
Users need the gateway name or port to diagnose the reported failure.
Related issues
Closes #10656.
Changes
not recordedfor an absent registration.Verification
Revision:
2aeade5b04ffb05da298113ddaab23f786dd5a9c.Public-command tests use private gateway registries and a fake OpenShell executable.
Portable tests exercise the real receipt/registry qualifier with injected receipt observations.
They verify the gateway text, retained health semantics, and absence of added health probes or registry removal.
The contribution contains no secrets, API keys, or credentials.
Detection gap
Earlier tests checked routing and refusal separately.
They did not require gateway context on early exits or the Portable status path.
The regressions now cover both paths.
Review notes
The change adds display text within existing authority boundaries.
Failure diagnostics keep their existing nonzero exits.
Portable text status still reports saved lifecycle metadata and states that runtime and agent health were not probed.
Its JSON report retains
gatewayState: "not-probed"; pending and configuring JSON commands retain exit 1.No live gateway validation is claimed.
Independent source and test reviews found no remaining blocker.
The branch includes the merged image dependency repair and retains main's qualification receipts.
At
2aeade5, source CI, image qualification, and self-hosted qualification passed. The check collection contained 68 successful and 37 skipped checks. CodeRabbit reviewed this exact commit and reported no actionable comments.All nine Advisor specialist reports were collected and their artifact provenance was verified. Its only finding claims that raw gateway controls reach status output. Ten isolated public CLI status/recover probes refute that path: the existing registry validator rejects the malformed name before display, preserves registry bytes, and emits no raw control characters. The same validators exist on the recorded base. No duplicate guard or routing/health change was added. The Advisor gate remains failed for this documented false positive; no valid repair group remains.
Maintainer approval remains required.
Signed-off-by: Dongni Yang dongniy@nvidia.com
Summary by CodeRabbit