Skip to content

refactor(blueprint): remove obsolete runtime preloads - #7384

Merged
cv merged 3 commits into
mainfrom
refactor/blueprint-remove-dead-preloads
Jul 23, 2026
Merged

refactor(blueprint): remove obsolete runtime preloads#7384
cv merged 3 commits into
mainfrom
refactor/blueprint-remove-dead-preloads

Conversation

@cv

@cv cv commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Remove two obsolete runtime preload paths from OpenClaw sandbox startup. The ciao guard remains the single os.networkInterfaces() fallback, and startup no longer tracks a WebSocket preload that has no packaged source.

Changes

  • Remove the duplicate seccomp preload and its startup, connect-session, permission, and PID 1 recovery wiring.
  • Remove the inactive WebSocket preload branch and stale disruption-fixture paths.
  • Preserve blocked and successful network-interface discovery coverage against the retained ciao guard.
  • Move the unrelated early-output test out of the deleted seccomp test file and lower the test-size ratchet after fixture removal.

Type of Change

  • 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

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification: This removes inactive internal preload wiring without changing commands, configuration, output contracts, or supported behavior.
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: The retained ciao guard preserves the blocked-interface fallback, and focused tests cover startup plus PID 1 recovery of the remaining preload chain.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed implementation
  • Result: no-docs-needed
  • Evidence: The change removes inactive duplicate preload wiring while preserving the ciao network-interface fallback and all supported commands, configuration, output, and runtime behavior.
  • Agent: Codex Desktop
  • PR: refactor(blueprint): remove obsolete runtime preloads #7384

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit:
  • Station profile/scenario:
  • Result:
  • Supporting evidence:

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run check:diff passed when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: bash -n scripts/nemoclaw-start.sh; affected integration tests passed across the focused run and the corrected 10-test gateway-host rerun; npx vitest run --project e2e-support test/e2e/support/e2e-recovery-helpers.test.ts passed 30 tests; npm run test:projects:check and npm run test-size:check passed.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result: Local npm test runs were stopped after widespread unrelated host timeout and macOS command failures; GitHub CI will provide aggregate results.
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Carlos Villela cvillela@nvidia.com

Summary by CodeRabbit

  • Changes

    • Streamlined sandbox startup and recovery by removing obsolete WebSocket and seccomp-related guard components.
    • Updated guard-chain cleanup, installation completeness checks, and recovery/preload environment wiring to match the reduced startup set.
    • Preserved proxy handling and improved sandbox behavior for network-interface discovery.
  • Tests

    • Added early stdout/stderr capture coverage with restricted log permissions.
    • Added/expanded gateway network-interface discovery tests under blocked and allowed conditions.
    • Updated affected recovery, preload gateway, provisioning, and harness tests; removed the dedicated seccomp-guard test suite.
    • Adjusted e2e helper documentation and expectations for fewer guard scripts.

@cv cv self-assigned this Jul 22, 2026
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The runtime preload chain removes WebSocket and seccomp guards, updates recovery and test harnesses for the reduced chain, and adds coverage for early output capture and gateway network-interface handling.

Changes

Runtime preload guard reduction

Layer / File(s) Summary
Runtime preload installation and recovery
scripts/nemoclaw-start.sh
Removes WebSocket and seccomp preload installation, connect-session wiring, permission checks, and completeness expectations.
Guard-chain test and fixture alignment
test/e2e/..., test/nemoclaw-start*.test.ts, test/http-proxy-fix-sync.test.ts, test/nemotron-inference-fix.test.ts, test/sandbox-provisioning-helper-permissions.test.ts, ci/test-file-size-budget.json
Updates recovery, preload, fixture, and permission tests for the reduced guard set.
Runtime behavior validation
test/nemoclaw-start-early-output.test.ts, test/nemoclaw-start-preload-gateway.test.ts, test/nemoclaw-start-gateway-ws-host.test.ts
Adds early stdout/stderr capture and log-permission coverage, network-interface handling coverage, and a tool redirect in the generated runtime environment.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested labels: area: sandbox, bug-fix, v0.0.91

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: removing obsolete runtime preload wiring and related fixtures/tests.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/blueprint-remove-dead-preloads

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

@github-code-quality

github-code-quality Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 018755a in the refactor/blueprint-r... branch remains at 96%, unchanged from commit 1bb15a0 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit 018755a in the refactor/blueprint-r... branch remains at 80%, unchanged from commit 1bb15a0 in the main branch.

Show a code coverage summary of the most impacted files.
File main 1bb15a0 refactor/blueprint-r... 018755a +/-
src/lib/domain/.../connect-env.ts 97% 89% -8%
src/lib/state/m...-acquisition.ts 89% 84% -5%
src/lib/platform.ts 89% 84% -5%
src/lib/messagi...flow-planner.ts 93% 93% 0%
src/lib/agent/r...ime-manifest.ts 100% 100% 0%
src/lib/messagi...nnels/policy.ts 100% 100% 0%
src/lib/onboard...-patch-clone.ts 94% 94% 0%
src/lib/onboard...er-gpu-route.ts 91% 92% +1%
src/lib/adapter...shell/client.ts 88% 90% +2%
src/lib/onboard...atch-adapter.ts 83% 100% +17%

Updated July 22, 2026 23:08 UTC

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / high confidence
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions
Status: No actionable findings remain in the canonical review ledger.

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 2 suggestions
  • Model comparison: normalized findings differ; normalized E2E selections differ; Nemotron reported the same number of blockers, the same number of warnings, 2 more suggestions.

Nemotron output stays in workflow artifacts and does not change the assessment above.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-onboard, credential-sanitization, security-posture

1 optional E2E recommendation
  • gateway-guard-recovery

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@test/nemoclaw-start-early-output.test.ts`:
- Around line 20-22: Remove the conditional and thrown Error around the early
stderr/stdout capture block in the test, replacing its validation with direct
expect assertions for start and end that preserve the checks for missing markers
and invalid ordering.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b4042376-cc0b-42d9-9e4a-ace835d46b6f

📥 Commits

Reviewing files that changed from the base of the PR and between c6f46d4 and d75aa23.

📒 Files selected for processing (15)
  • ci/test-file-size-budget.json
  • nemoclaw-blueprint/scripts/seccomp-guard.js
  • scripts/nemoclaw-start.sh
  • test/e2e/fixtures/clients/sandbox.ts
  • test/e2e/support/e2e-recovery-helpers.test.ts
  • test/http-proxy-fix-sync.test.ts
  • test/nemoclaw-start-early-output.test.ts
  • test/nemoclaw-start-gateway-ws-host.test.ts
  • test/nemoclaw-start-guard-recovery.test.ts
  • test/nemoclaw-start-preload-gateway.test.ts
  • test/nemoclaw-start-scope-replacement.test.ts
  • test/nemoclaw-start.test.ts
  • test/nemotron-inference-fix.test.ts
  • test/sandbox-provisioning-helper-permissions.test.ts
  • test/seccomp-guard.test.ts
💤 Files with no reviewable changes (7)
  • test/seccomp-guard.test.ts
  • nemoclaw-blueprint/scripts/seccomp-guard.js
  • test/nemoclaw-start-scope-replacement.test.ts
  • test/sandbox-provisioning-helper-permissions.test.ts
  • test/http-proxy-fix-sync.test.ts
  • test/nemotron-inference-fix.test.ts
  • test/nemoclaw-start.test.ts

Comment thread test/nemoclaw-start-early-output.test.ts Outdated
@wscurran wscurran added integration: openclaw OpenClaw integration behavior refactor PR restructures code without intended behavior change labels Jul 22, 2026
@cv cv added the v0.0.93 label Jul 22, 2026

@cv cv left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer product-scope and nine-category security review completed for exact head 018755ae4bd922ad016669a6dcb32416071b0d9f against base 1bb15a0f3772b901e5f3fbe103e1b2155e45d8e2: no findings.

The product-scope gate passes because this removes inactive internal preload wiring and creates no supported integration, recipe, command, configuration, or compatibility promise. The deleted seccomp preload is redundant with the retained ciao guard: ciao already wraps os.networkInterfaces() more broadly, returns {} on failure, and is still installed immutably on boot and recovery. The optional WebSocket preload had no packaged source and was a historical no-op. The current diff has no secret/authentication, injection, egress/SSRF, cryptography, dependency, data-exposure, or new privilege surface. Temporary-file permission validation and recovery targets remain aligned with the reduced immutable preload chain. Tests cover blocked and successful interface discovery, startup/recovery composition, permissions, early-output log mode 0600, and removal of stale references.

The previous CodeRabbit request is addressed and its outdated thread is resolved. Formal approval is still required from a non-author reviewer; fresh hosted CI/advisor checks and exact-head/base E2E evidence remain required before merge.

@cv
cv merged commit cce9540 into main Jul 23, 2026
78 of 80 checks passed
@cv
cv deleted the refactor/blueprint-remove-dead-preloads branch July 23, 2026 14:29
cv added a commit that referenced this pull request Jul 23, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Adds the canonical dated `## v0.0.93` release entry to
`docs/changelog/2026-07-23.mdx`.
The entry records user-visible behavior, release validation, and
documentation controls merged after `v0.0.92`, while preserving the
pending DGX OS `7.6.x` Station Express qualification caveat.

## Changes

- Adds the parser-safe dated release entry with a summary, grouped
details, and published-route links.
- Reconciles the `v0.0.92..origin/main` commit range with merged
`v0.0.93` PRs.
- Records that no-OTA DGX OS `7.6.x` passed bounded host preflight,
while full Station Express end-to-end qualification remains pending.
- Leaves existing product pages unchanged because the source PRs already
document their supported behavior.

### Source summary

- #7285 -> `docs/changelog/2026-07-23.mdx`: Records the existing-vLLM
ownership choice and resumable Station handoff.
- #7419 -> `docs/changelog/2026-07-23.mdx`: Records bounded no-OTA DGX
OS `7.6.x` recognition and its pending end-to-end qualification.
- #7268 -> `docs/changelog/2026-07-23.mdx`: Records optional Hugging
Face authentication, output sanitization, and resumable HTTP `429`
recovery.
- #7442 -> `docs/changelog/2026-07-23.mdx`: Records clean SIGINT
handling at hidden credential prompts.
- #7299 -> `docs/changelog/2026-07-23.mdx`: Records Intel macOS
rejection before ref resolution or network work.
- #7296 -> `docs/changelog/2026-07-23.mdx`: Records the DGX Spark
non-interactive local-vLLM selection order.
- #7342 -> `docs/changelog/2026-07-23.mdx`: Records delegated protected
E2E approvals in the grouped release-validation bullet.
- #7373 -> `docs/changelog/2026-07-23.mdx`: Records base-image
publication gating before final-main fanout.
- #7388 -> `docs/changelog/2026-07-23.mdx`: Records semantic phase
runtime summaries.
- #7397 -> `docs/changelog/2026-07-23.mdx`: Records progress coverage
hardening.
- #7391 -> `docs/changelog/2026-07-23.mdx`: Records centralized
larger-runner routing.
- #7423 -> `docs/changelog/2026-07-23.mdx`: Records one retry for
confirmed hosted-runner loss.
- #7399 -> `docs/changelog/2026-07-23.mdx`: Records runner-comparison
telemetry.
- #7270 -> `docs/changelog/2026-07-23.mdx`: Records staging Brev
Launchable validation.
- #7426 -> `docs/changelog/2026-07-23.mdx`: Records filtering of
irrelevant base-image run history.
- #7333 -> `docs/changelog/2026-07-23.mdx`: Records aligned Quickstart
platform guidance.
- #7343 -> `docs/changelog/2026-07-23.mdx`: Records documentation-writer
receipt collection.
- #7400 -> `docs/changelog/2026-07-23.mdx`: Records the
documentation-writer receipt requirement for docs-only PRs.
- #7413 -> `docs/changelog/2026-07-23.mdx`: Records removal of redundant
receipt PR metadata.
- #7405 -> `docs/changelog/2026-07-23.mdx`: Records corrected inference
CLI references.
- #7389 -> `docs/changelog/2026-07-23.mdx`: Records completion of the
v0.0.91 documentation audit.

`#7384` is an internal refactor with no intended runtime behavior
change.
`#7401` updates internal CodeQL Actions dependencies.
`#7376` is already contained in `v0.0.92`, so it is outside the
release-entry scan range despite its retained planning label.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [x] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [ ] Tests added or updated for changed behavior
- [x] Existing tests cover changed behavior — justification:
`test/changelog-docs.test.ts` validates dated changelog structure, SPDX
syntax, and version headings.
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `docs-updated`
- Evidence: Reviewed `docs/changelog/2026-07-23.mdx` against
`WRITING.md`, `docs/CONTRIBUTING.md`, `docs/.docs-skip`,
`docs/index.yml`, the six user-visible source PRs, and the remaining
grouped release commits. The review corrected an ambiguous qualification
claim, confirmed all published routes, preserved the DGX OS `7.6.x`
caveat, and found no remaining action.
- Agent: Codex Desktop
<!-- docs-review-head-sha: ec0a866 -->
<!-- docs-review-agents-blob-sha: 9c9b36d -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit: Not applicable. This PR does not change
`scripts/prepare-dgx-station-host.sh`.
- Station profile/scenario: Not applicable.
- Result: Not applicable.
- Supporting evidence: Not applicable.

## 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 check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — `npx vitest run
test/changelog-docs.test.ts`: 1 file and 6 tests passed.
- [ ] Applicable broad gate passed — Not applicable to one native
changelog file.
- [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) —
completed with 0 errors and 2 existing Fern warnings.
- [x] 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)
— not applicable because native changelog entries use a parser-safe MDX
SPDX comment without frontmatter.

---
Signed-off-by: Carlos Villela <cvillela@nvidia.com>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Added the v0.0.93 changelog covering onboarding and validation
improvements.
* Documented support for additional DGX Station Express workstation
releases and clearer handling of existing vLLM workloads.
* Added guidance for optional Hugging Face authentication, resumable
rate-limit recovery, and DGX Spark provider selection.
* Clarified installer behavior on Intel macOS, release validation
requirements, hosted-runner retries, documentation checks, and supported
CLI quickstart paths.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration: openclaw OpenClaw integration behavior refactor PR restructures code without intended behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants