fix(e2e): restore Hermes rebuild provider attachment - #10157
Conversation
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit 4640fc9 in the TypeScript / code-coverage/cliThe overall line coverage in commit 4640fc9 in the Updated |
|
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 (3)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughThe change adds a helper that builds the Hermes rebuild environment. The live rebuild test uses the helper, and support tests verify token, base-image, verbosity, and credential handling. ChangesHermes rebuild environment
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change restores the retained Discord credential during Hermes rebuild fixture recreation and adds focused coverage for the resulting environment contract; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: ✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
Maintainer security and documentation review: PASS I reviewed the current revision across the nine security categories:
Documentation review: PASS. This is a test-fixture repair and does not change user-facing behavior, so public documentation does not need an update. Validation: the focused E2E-support suite passed all 6 tests. The change is 43 additions and 5 deletions across 3 files, so it is not a large LOC increase. Contributor credit: Rebecca Sliter authored this focused repair. Preserve her authorship in the final squash metadata. The automated advisor is still blocked by external service throttling and must complete successfully before merge. |
|
Focused live E2E passed for commit 4640fc9. Run: https://github.com/NVIDIA/NemoClaw/actions/runs/32787717358 Passing scenarios:
The PR remained open on the tested head and base when the run completed. |
apurvvkumaria
left a comment
There was a problem hiding this comment.
Security and documentation review: PASS for the current revision.
This is an E2E fixture repair. It forwards the existing fixture-owned Discord credential into the Hermes rebuild child environment so the retained static provider can be attached after recreation. The value is passed as environment data, not shell text; it remains covered by the fixture's redaction list. Host inference credentials and unrelated provider credentials remain excluded.
Security rubric:
- Secrets and sensitive data: PASS — the fake Discord token is redacted from artifacts and unrelated credentials are excluded.
- Input validation and injection: PASS — fixture-owned values cross no new user-controlled command boundary.
- Authentication and authorization: PASS — production identity and permission paths are unchanged.
- Dependencies and supply chain: PASS — no dependency, workflow, or image-source change.
- Error handling and information disclosure: PASS — existing redacted diagnostics remain in use.
- Cryptography: PASS — no cryptographic change.
- Configuration and deployment: PASS — production behavior is unchanged.
- Security testing: PASS — deterministic support tests cover the complete child environment.
- System security: PASS — only the fixture's replacement provider receives the required fake credential.
No documentation update is needed because this changes test setup rather than user-facing behavior.
Validation passed: all 12 CLI shards, required aggregate CI, CodeQL, standard E2E smoke checks, 6 focused E2E-support tests, and both live rebuild-hermes scenarios. The automated Advisor was unavailable because of external service throttling and published no actionable finding. The diff adds 43 lines and removes 5 across 3 files, below the large-change flag threshold. DCO and the verified contributor commit are present, and no review threads remain.
Rebecca Sliter is the original contributor and must receive attribution in the final squash commit.
Summary
Before this change, the Hermes rebuild E2E fixture deleted its sandbox and then tried to recreate it with a retained Discord policy but no attached replacement provider, so OpenShell rejected the create request. The fixture now supplies its existing fake Discord credential during recreation, allowing the current static provider profile to replace the legacy generic provider.
Related Issue
Part of #10155
Changes
DISCORD_BOT_TOKENcall-site hunk inside a broader lifecycle change. This PR isolates that hunk and adds deterministic coverage at the owned child-environment boundary so the correction can be reviewed and landed independently.The small recreation-environment helper is owned by the two rebuild-Hermes lanes. A call-site-only literal would not expose the complete child-environment contract to deterministic support coverage;
test/e2e/support/rebuild-hermes-env.test.tsprotects that contract.Type of Change
Quality Gates
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 e2e-support test/e2e/support/rebuild-hermes-env.test.tspassed 1 file and 6 tests.npm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result:npm run docsbuilds without warnings (doc changes only)Documentation Writer Review
no-docs-neededSigned-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com
Summary by CodeRabbit