fix(images): pass managed target architecture - #10046
Conversation
Signed-off-by: Julie Yaunches <jyaunches@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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughThe production managed-image workflow validates each matrix architecture and passes it as ChangesManaged image architecture
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This localized workflow change passes the validated target architecture through managed-image validation and builds, preventing the documented arm64 fallback mismatch; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit bcb1945 in the TypeScript / code-coverage/cliThe overall line coverage in commit bcb1945 in the Show a line coverage summary of the most impacted files.
Updated |
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite for the commit under review. Recommended E2E: None Manual-only E2E: This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
## Summary Narrows remediation for the remaining failures from full-main E2E run 32661382327 to behavior not now owned by Julie's concurrent PRs. This PR keeps the distinct MCP, lifecycle, fixture-evidence, managed-image publication, and cleanup fixes while deferring pairing production to #10018, stopped-channel provider retention to #10047, and target-architecture publication to merged #10046. Affected live lanes still need to be replayed against this candidate before the full main E2E run. ## Changes - Detect loaded MCP tools from the pinned Deep Agents runtime's executable catalog, reject duplicate loaded implementations, and prove Hermes discovery through a real late agent turn. - Bind fake messaging endpoints to their exact credential providers, send an initial Hermes Discord identify, bind hosted-stock evidence to the quote timestamp, and preserve the intended upgrade credential boundary. - Treat an identity-corroborated `Deleting` sandbox as retiring during Docker GPU recovery and clean up the exact swap file created by the Hermes rebuild lane, including provisioning and teardown failures. - Require the trusted main managed-image publication workflow to finish successfully before its contract is accepted, gate Jetson on that publication, and validate catalog release identity from image labels. - Remove the PR-only managed-image catalog controller and the uncalled messaging-provider attachment lifecycle that no longer have consumers in this PR. Explicitly outside this PR: - #10018 owns pairing production before final observation. - #10047 owns stopped-channel provider retention and its rebuild assertion. - #10046, now merged, owns managed-image `TARGETARCH` propagation. ## Type of Change - [x] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [x] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [x] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: local nine-category security review of the narrowed diff completed with no findings; CI and maintainer review remain required. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## DGX Station Hardware Evidence - [ ] Tested on DGX Station - Tested commit: - Station profile/scenario: - Result: - Supporting evidence: ## Verification - [x] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub - [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or `npm run validate:pr` passed after refreshing `origin/main` when hooks were skipped or unavailable - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — 365 tests passed across 4 CLI files, 5 E2E-support files, and 2 Deep Agents integration files; `npm run typecheck:cli` and `npm run typecheck` passed. - [ ] Applicable broad gate passed — `npm test` for broad runtime/test-harness changes; `npm run check` for repo-wide validation/coverage changes — local `npm test` was terminated after unrelated process-startup timeouts spread across all projects on a 7.7 GiB host below the repository's 8 GiB minimum; the isolated retained-change suites passed before the overloaded run. - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved progressive tool disclosure to recognize loaded MCP tools and prevent duplicate or reserved-name conflicts. - Improved sandbox recovery and replacement handling when sandboxes are in the Deleting or Error phase. - Managed images now consistently validate and preserve release identity during resolution. - Recovered sandbox listings now retain entries in the Deleting phase. - Discord policy binding can target endpoints by protocol when hosts and ports overlap. - **Reliability** - Strengthened managed-image publication verification and GPU workflow readiness checks. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: Julie Yaunches <jyaunches@nvidia.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
The managed-image publisher selected
linux/arm64for Hermes but did not passTARGETARCH, so Hermes's documented Podman fallback forcedamd64and the native arm64 bootstrap ELF failed its architecture check. This change passes the trusted matrix architecture explicitly to both production argument validation and Buildx.Changes
TARGETARCH=${{ matrix.arch }}through the production managed-image guard.Type of Change
Quality Gates
amd64|arm64; the native ELF Machine assertion remains fail-closed. No credential boundary changes.DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpx vitest run --project integration test/managed-image-publication-workflow.test.tspassed 34 tests; repository checks passed.npm run docsbuilds without warnings (doc changes only)Failure evidence
target_arch="amd64"on the arm64 runner; the fail-closed ELF Machine assertion rejected the resulting mismatch.Signed-off-by: Julie Yaunches jyaunches@nvidia.com
Summary by CodeRabbit
Bug Fixes
Tests