Return OpenClaw configuration ownership to OpenClaw
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
Parent: https://github.com/NVIDIA/NemoClaw/issues/11255
## Problem
NemoClaw treats OpenClaw-owned mutable configuration as a host-governed security object. Hashes, seals, recovery anchors, ownership normalizers, selective merges, restart preflights, and quarantine paths can reject or overwrite valid OpenClaw changes even though OpenShell already provides the selected filesystem and process security posture.
## Desired behavior
OpenClaw owns `openclaw.json` and its normal configuration lifecycle exactly as it does in a native installation. NemoClaw may write the minimum initial values required to attach the selected OpenShell inference route and must keep credentials in the OpenShell-required location. It must not continue to authorize, seal, rewrite, or veto ordinary OpenClaw configuration.
## Scope
- Remove NemoClaw config hashes, seals, last-good anchors, whole-config integrity authorization, permission repair, and config-based restart quarantine that are not required by OpenShell.
- Remove selective restore rules that discard valid OpenClaw-owned settings; preserve the native file as ordinary agent state.
- Stop interpreting valid OpenClaw configuration mutations as tampering.
- Retain only the minimal credential reference and initial inference-route attachment required by OpenShell.
- Amend overlapping retention language in #11357 and related recovery issues.
## Acceptance criteria
- Native OpenClaw configuration edits survive restart, reconnect, rebuild, and restore without NemoClaw repair or approval.
- OpenClaw can add supported providers, tools, plugins, hooks, cron settings, and gateway settings through its native interfaces.
- No NemoClaw config hash, seal, anchor, or complete-file equality check can block an otherwise valid OpenClaw start or restart.
- OpenShell credential placement and containment remain unchanged.
- Production code and tests for the retired authorization layer are deleted rather than relocated.
## Basic-onboarder end state and E2E amendments
The basic onboarder may write the minimum initial route/reference configuration required to launch OpenClaw through OpenShell. After launch, OpenClaw owns its configuration. Do not replace hashes, seals, anchors, selective merges, repair, or quarantine with another NemoClaw configuration controller.
Amend the existing E2E inventory as follows:
- `test/e2e/live/rebuild-openclaw.test.ts` (`ubuntu-rebuild-openclaw`): remove config-seal, selective-merge, and NemoClaw repair expectations; either retire the NemoClaw rebuild target with lifecycle removal or refocus the surviving migration proof on complete native OpenClaw state.
- `test/e2e/live/gateway-guard-recovery.test.ts` (`gateway-guard-recovery`): retire assertions for NemoClaw config guards, recovery anchors, managed supervisor reconstruction, and config-authorized restart. Preserve only a native OpenClaw/OpenShell restart check if this target remains.
- `test/e2e/live/issue-2478-crash-loop-recovery.test.ts` (`issue-2478-crash-loop-recovery`): remove NemoClaw quarantine and config-authorization behavior; assert native OpenClaw failure reporting and OpenShell lifecycle ownership, or delete the target if it has no remaining product contract.
- `test/e2e/live/state-backup-restore.test.ts`: replace allowlisted/selective `openclaw.json` restoration with complete native configuration persistence.
- `test/e2e/live/full-e2e.test.ts` (`full-e2e`): add a native OpenClaw configuration edit after onboarding and verify it remains effective without a NemoClaw repair step.
Update the corresponding E2E support fixtures rather than retaining old implementation assertions, especially `test/e2e/support/gateway-guard-legacy-keepalive-fixture.test.ts` and `test/e2e/support/rebuild-openclaw-old-base-context.test.ts`.
Contributor guide
Assessment
This issue has not been assessed yet.