Skip to content

refactor(policy): make OpenShell the sole durable policy source - #10539

Closed
ericksoa wants to merge 2 commits into
mainfrom
refactor/openshell-policy-source-10514-atomic
Closed

refactor(policy): make OpenShell the sole durable policy source#10539
ericksoa wants to merge 2 commits into
mainfrom
refactor/openshell-policy-source-10514-atomic

Conversation

@ericksoa

@ericksoa ericksoa commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Outcome

OpenShell is the sole durable source of sandbox policy truth. NemoClaw keeps its full policy command surface and Shields, but those commands are convenience operations over the current OpenShell policy; they do not own or replay a separate policy lifecycle.

Closes #10514

Changes

  • Remove durable policy authority, creation receipt, applied preset, custom-policy copy, baseline exclusion journal, desired tier, and policy hash/version state from the registry and onboarding session.
  • Strip those legacy fields during normalization without changing the live OpenShell policy.
  • Make policy add/remove/exclude/restore/list/explain, messaging, channels, MCP, onboarding, blueprint, rebuild, snapshot, restore, and clone read and mutate current OpenShell state.
  • Encode custom command identity in OpenShell-owned policy keys instead of a NemoClaw custom-policy database.
  • Keep only bounded transaction state: Shields before/forward state and timer fencing; create/rebuild temporary policy handoffs; generic incomplete-create identity and create-attempt nonce.
  • Restore Shields with a three-way delta so host edits made during a Shields-down window survive restoration.
  • Refuse destructive rebuild/clone when the live policy cannot be captured; never reconstruct it from NemoClaw state.
  • Preserve current-main sandbox/provider/create-attempt identity controls independently of policy ownership.
  • Retain the existing public commands, aliases, flags, SSRF validation, credential redaction, provider identity checks, and snapshot/rebuild safety checks.

Verification

  • npm run typecheck:cli
  • npm run build:cli
  • npm --prefix nemoclaw run build
  • npm run lint
  • npm run checks:repository
  • Policy, Shields, rebuild, and snapshot matrix: 1,117 tests passed.
  • State, onboarding, messaging, blueprint, and Portable matrix: 894 tests passed.
  • Public CLI, package-contract, docs, and E2E semantic-contract matrix: 294 tests passed.
  • Current-main retained-sandbox/create-attempt authority matrix: 77 tests passed.
  • FSM slice boundary coverage: all 17 cases passed across isolated runs; the child-process timeout budget was raised to match observed source-loader time.
  • GitHub commit tree matches the local tested tree exactly; both published commits are GitHub-verified.

Delivery

This is one semantic cutover. No intermediate policy-ownership design is intended to merge.

Signed-off-by: Aaron Erickson aerickson@nvidia.com

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 497 files, which is 197 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e43a83f7-69ee-4ba2-bb58-85758cc0b445

📥 Commits

Reviewing files that changed from the base of the PR and between 83fd95b and 4eeb7a0.

📒 Files selected for processing (497)
  • ci/onboard-entry-composition-budget.json
  • ci/source-architecture-budget.json
  • docs/about/how-it-works.mdx
  • docs/deployment/deploy-to-headless-server.mdx
  • docs/get-started/quickstart-langchain-deepagents-code.mdx
  • docs/manage-sandboxes/backup-restore.mdx
  • docs/manage-sandboxes/manage-mcp-servers.mdx
  • docs/manage-sandboxes/manage-messaging-channels.mdx
  • docs/manage-sandboxes/recover-rebuild-sandboxes.mdx
  • docs/manage-sandboxes/runtime-controls.mdx
  • docs/network-policy/apply-policy-presets.mdx
  • docs/network-policy/create-custom-policy-presets.mdx
  • docs/network-policy/customize-network-policy.mdx
  • docs/network-policy/explain-network-policy-to-agents.mdx
  • docs/reference/commands.mdx
  • docs/reference/network-policies.mdx
  • docs/reference/troubleshooting.mdx
  • nemoclaw/src/blueprint/runner-identity.test.ts
  • nemoclaw/src/blueprint/runner-mock-fixtures.ts
  • nemoclaw/src/blueprint/runner-name-validation.test.ts
  • nemoclaw/src/blueprint/runner-openshell-072-policy.test.ts
  • nemoclaw/src/blueprint/runner-status-recovery.test.ts
  • nemoclaw/src/blueprint/runner-test-fixtures.ts
  • nemoclaw/src/blueprint/runner.test.ts
  • nemoclaw/src/blueprint/runner.ts
  • nemoclaw/src/shared/openshell-policy-boundary.cts
  • nemoclaw/src/shared/openshell-policy-boundary.test.ts
  • scripts/checks/openshell-policy-mutation-read.mts
  • src/commands/sandbox/policy/exclude.ts
  • src/lib/actions/inference-route-api.test.ts
  • src/lib/actions/sandbox/channel-status.ts
  • src/lib/actions/sandbox/connect-flow.test.ts
  • src/lib/actions/sandbox/connect-qualified-session-setup.test.ts
  • src/lib/actions/sandbox/connect-route-containment.test.ts
  • src/lib/actions/sandbox/connect-route-repair-inconclusive.test.ts
  • src/lib/actions/sandbox/connect-route-repair.test.ts
  • src/lib/actions/sandbox/destroy-execution.ts
  • src/lib/actions/sandbox/destroy-host-local-inference.test.ts
  • src/lib/actions/sandbox/doctor-flow.test.ts
  • src/lib/actions/sandbox/doctor-observation-failure.test.ts
  • src/lib/actions/sandbox/doctor.ts
  • src/lib/actions/sandbox/launch-readiness-ordinary-pairing.test.ts
  • src/lib/actions/sandbox/launch-readiness.test.ts
  • src/lib/actions/sandbox/launch-readiness.ts
  • src/lib/actions/sandbox/launch-readiness/openclaw-pairing-qualification.test.ts
  • src/lib/actions/sandbox/launch-readiness/openclaw-pairing-qualification.ts
  • src/lib/actions/sandbox/launch-readiness/portable-openclaw-pairing-settlement.test.ts
  • src/lib/actions/sandbox/launch.test.ts
  • src/lib/actions/sandbox/mcp-bridge-add-restart.ts
  • src/lib/actions/sandbox/mcp-bridge-destroy-preflight.ts
  • src/lib/actions/sandbox/mcp-bridge-destroy.ts
  • src/lib/actions/sandbox/mcp-bridge-policy.test.ts
  • src/lib/actions/sandbox/mcp-bridge-policy.ts
  • src/lib/actions/sandbox/mcp-bridge-provider-readiness.ts
  • src/lib/actions/sandbox/mcp-bridge-rebuild-exec-unavailable.ts
  • src/lib/actions/sandbox/mcp-bridge-rebuild.ts
  • src/lib/actions/sandbox/mcp-bridge-remove.ts
  • src/lib/actions/sandbox/mcp-bridge-restart.ts
  • src/lib/actions/sandbox/mcp-bridge-state.ts
  • src/lib/actions/sandbox/mcp-bridge-status-boundaries.test.ts
  • src/lib/actions/sandbox/mcp-bridge-status-removal.test.ts
  • src/lib/actions/sandbox/mcp-bridge-status-resolution.test.ts
  • src/lib/actions/sandbox/policy-channel-add-drift.test.ts
  • src/lib/actions/sandbox/policy-channel-baseline.test.ts
  • src/lib/actions/sandbox/policy-channel-conflict.test.ts
  • src/lib/actions/sandbox/policy-channel-dependencies.ts
  • src/lib/actions/sandbox/policy-channel-list.test.ts
  • src/lib/actions/sandbox/policy-channel-lock.test.ts
  • src/lib/actions/sandbox/policy-channel-policy.test.ts
  • src/lib/actions/sandbox/policy-channel-refresh.test.ts
  • src/lib/actions/sandbox/policy-channel-remove-flow.test.ts
  • src/lib/actions/sandbox/policy-channel.ts
  • src/lib/actions/sandbox/policy-explain.test.ts
  • src/lib/actions/sandbox/policy-list-render.test.ts
  • src/lib/actions/sandbox/rebuild-backup-phase.test.ts
  • src/lib/actions/sandbox/rebuild-backup-phase.ts
  • src/lib/actions/sandbox/rebuild-baseline-transition-preflight.test.ts
  • src/lib/actions/sandbox/rebuild-dcode-recovery.test.ts
  • src/lib/actions/sandbox/rebuild-destroy-phase.test.ts
  • src/lib/actions/sandbox/rebuild-destroy-phase.ts
  • src/lib/actions/sandbox/rebuild-durable-config.test.ts
  • src/lib/actions/sandbox/rebuild-durable-config.ts
  • src/lib/actions/sandbox/rebuild-flow-credential-preflight.test.ts
  • src/lib/actions/sandbox/rebuild-flow-helpers.test.ts
  • src/lib/actions/sandbox/rebuild-flow-lifecycle.test.ts
  • src/lib/actions/sandbox/rebuild-flow-recovery.test.ts
  • src/lib/actions/sandbox/rebuild-flow-target-credentials.test.ts
  • src/lib/actions/sandbox/rebuild-flow-target-image.test.ts
  • src/lib/actions/sandbox/rebuild-flow-test-fixtures.ts
  • src/lib/actions/sandbox/rebuild-gateway-drift.test.ts
  • src/lib/actions/sandbox/rebuild-gpu-opt-out.test.ts
  • src/lib/actions/sandbox/rebuild-gpu-opt-out.ts
  • src/lib/actions/sandbox/rebuild-hermes-accepted-target.test.ts
  • src/lib/actions/sandbox/rebuild-mcp-phase.ts
  • src/lib/actions/sandbox/rebuild-pipeline.ts
  • src/lib/actions/sandbox/rebuild-post-restore-phase.test.ts
  • src/lib/actions/sandbox/rebuild-post-restore-phase.ts
  • src/lib/actions/sandbox/rebuild-preflight-guards.ts
  • src/lib/actions/sandbox/rebuild-preflight-phase.ts
  • src/lib/actions/sandbox/rebuild-prepared-recovery.test.ts
  • src/lib/actions/sandbox/rebuild-recreate-journal.test.ts
  • src/lib/actions/sandbox/rebuild-recreate-journal.ts
  • src/lib/actions/sandbox/rebuild-recreate-observability.test.ts
  • src/lib/actions/sandbox/rebuild-recreate-phase.ts
  • src/lib/actions/sandbox/rebuild-recreate-reasoning.test.ts
  • src/lib/actions/sandbox/rebuild-registry-rollback.test.ts
  • src/lib/actions/sandbox/rebuild-restore-forwarding.test.ts
  • src/lib/actions/sandbox/rebuild-restore-phase.test.ts
  • src/lib/actions/sandbox/rebuild-restore-phase.ts
  • src/lib/actions/sandbox/rebuild-resume-snapshot.test.ts
  • src/lib/actions/sandbox/rebuild-shields-finally.test.ts
  • src/lib/actions/sandbox/runtime/hermes-lifecycle.ts
  • src/lib/actions/sandbox/snapshot-auto-create-failure.test.ts
  • src/lib/actions/sandbox/snapshot-baseline-exclusion-output.test.ts
  • src/lib/actions/sandbox/snapshot-baseline-exclusion-summary.test.ts
  • src/lib/actions/sandbox/snapshot-baseline-exclusion-summary.ts
  • src/lib/actions/sandbox/snapshot-command-host-local-authority.test.ts
  • src/lib/actions/sandbox/snapshot-failed-create-cleanup.test.ts
  • src/lib/actions/sandbox/snapshot-restore-baseline-exclusions.test.ts
  • src/lib/actions/sandbox/snapshot-restore-clone-ports.test.ts
  • src/lib/actions/sandbox/snapshot-restore-lifecycle.test.ts
  • src/lib/actions/sandbox/snapshot-restore-observability-policy.test.ts
  • src/lib/actions/sandbox/snapshot-restore-observability-reconciliation.test.ts
  • src/lib/actions/sandbox/snapshot-restore-test-fixture.ts
  • src/lib/actions/sandbox/snapshot.test.ts
  • src/lib/actions/sandbox/snapshot.ts
  • src/lib/actions/sandbox/status-flow.test.ts
  • src/lib/actions/sandbox/status-snapshot-inference-health.test.ts
  • src/lib/actions/sandbox/status-snapshot-recovery.test.ts
  • src/lib/actions/sandbox/status-snapshot-route-drift.test.ts
  • src/lib/actions/sandbox/status-snapshot.ts
  • src/lib/actions/sandbox/status-text.ts
  • src/lib/actions/sandbox/status.ts
  • src/lib/actions/sandbox/vm-dns-monkeypatch.test.ts
  • src/lib/actions/sandbox/vm-dns-monkeypatch.ts
  • src/lib/actions/upgrade-sandboxes-recovery.test.ts
  • src/lib/adapters/openshell/policy-authority.test.ts
  • src/lib/adapters/openshell/policy-state.test.ts
  • src/lib/adapters/openshell/policy-state.ts
  • src/lib/agent/onboard.test.ts
  • src/lib/cli/public-display-defaults.ts
  • src/lib/inference/llama-cpp/managed-installer.test.ts
  • src/lib/inference/llama-cpp/managed-installer.ts
  • src/lib/inventory/index.test.ts
  • src/lib/inventory/index.ts
  • src/lib/list-command-deps.ts
  • src/lib/messaging/README.md
  • src/lib/messaging/channels/channel-health.ts
  • src/lib/messaging/channels/metadata.test.ts
  • src/lib/messaging/channels/slack/hooks/status-health.test.ts
  • src/lib/messaging/channels/slack/hooks/status-health.ts
  • src/lib/messaging/channels/telegram/hooks/status-health-eval.test.ts
  • src/lib/messaging/channels/telegram/hooks/status-health-eval.ts
  • src/lib/messaging/channels/telegram/hooks/status-health.test.ts
  • src/lib/messaging/channels/telegram/hooks/status-health.ts
  • src/lib/messaging/channels/whatsapp/hooks/status-health-eval.test.ts
  • src/lib/messaging/channels/whatsapp/hooks/status-health-eval.ts
  • src/lib/messaging/channels/whatsapp/hooks/status-health.test.ts
  • src/lib/messaging/channels/whatsapp/hooks/status-health.ts
  • src/lib/messaging/compiler/manifest-compiler.test.ts
  • src/lib/messaging/diagnostics.test.ts
  • src/lib/messaging/hydration.ts
  • src/lib/messaging/manifest/registry.test.ts
  • src/lib/messaging/manifest/types.test.ts
  • src/lib/messaging/persistence.ts
  • src/lib/messaging/plan-validation.test.ts
  • src/lib/messaging/plan-validation.ts
  • src/lib/onboard.ts
  • src/lib/onboard/agent-dashboard-forward.test.ts
  • src/lib/onboard/agent-dashboard-forward.ts
  • src/lib/onboard/agent-fixed-forward.test.ts
  • src/lib/onboard/agent-fixed-forward.ts
  • src/lib/onboard/agent-resume-state.ts
  • src/lib/onboard/authoritative-rebuild-target.test.ts
  • src/lib/onboard/authoritative-rebuild-target.ts
  • src/lib/onboard/cancel-rollback.test.ts
  • src/lib/onboard/compatible-endpoint-smoke.test.ts
  • src/lib/onboard/compatible-endpoint-smoke.ts
  • src/lib/onboard/created-sandbox-finalization.test.ts
  • src/lib/onboard/created-sandbox-finalization.ts
  • src/lib/onboard/credential-navigation.test.ts
  • src/lib/onboard/dashboard-forward-control.test.ts
  • src/lib/onboard/dashboard-forward-control.ts
  • src/lib/onboard/dashboard.ts
  • src/lib/onboard/docker-gpu-local-inference.test.ts
  • src/lib/onboard/exit-step-failure.test.ts
  • src/lib/onboard/experimental/hermes-portable-build-context-files.ts
  • src/lib/onboard/experimental/hermes-portable-container.test.ts
  • src/lib/onboard/experimental/hermes-portable-container.ts
  • src/lib/onboard/experimental/hermes-portable-lifecycle.test.ts
  • src/lib/onboard/experimental/hermes-portable-lifecycle.ts
  • src/lib/onboard/experimental/hermes-portable-ollama-gateway-transaction.ts
  • src/lib/onboard/experimental/hermes-portable-ollama-inference.ts
  • src/lib/onboard/experimental/hermes-portable-onboarding-authority-recovery.test.ts
  • src/lib/onboard/experimental/hermes-portable-onboarding-policy-source.test.ts
  • src/lib/onboard/experimental/hermes-portable-onboarding.test.ts
  • src/lib/onboard/experimental/hermes-portable-onboarding.ts
  • src/lib/onboard/experimental/hermes-portable-operating-authority.test.ts
  • src/lib/onboard/experimental/hermes-portable-operating-authority.ts
  • src/lib/onboard/experimental/hermes-portable-policy-authority.test.ts
  • src/lib/onboard/experimental/hermes-portable-policy-authority.ts
  • src/lib/onboard/experimental/hermes-portable-policy-state.ts
  • src/lib/onboard/experimental/hermes-portable-receipt.test.ts
  • src/lib/onboard/experimental/hermes-portable-receipt.ts
  • src/lib/onboard/experimental/portable-agent-lifecycle.test.ts
  • src/lib/onboard/experimental/portable-agent-lifecycle.ts
  • src/lib/onboard/gateway-teardown-authority.test.ts
  • src/lib/onboard/hermes-dashboard.test.ts
  • src/lib/onboard/hermes-dashboard.ts
  • src/lib/onboard/inference-providers/setup-nim-policy-requirements.test.ts
  • src/lib/onboard/inference-selection-validation.test.ts
  • src/lib/onboard/initial-policy-baseline-exclusion.test.ts
  • src/lib/onboard/initial-policy-real-policy.test.ts
  • src/lib/onboard/initial-policy.test.ts
  • src/lib/onboard/initial-policy.ts
  • src/lib/onboard/lifecycle-contracts.md
  • src/lib/onboard/local-model-profile/onboarder.test.ts
  • src/lib/onboard/machine/core-flow-phases.test.ts
  • src/lib/onboard/machine/core-flow-phases.ts
  • src/lib/onboard/machine/events.ts
  • src/lib/onboard/machine/final-flow-phases.runtime.test.ts
  • src/lib/onboard/machine/final-flow-phases.ts
  • src/lib/onboard/machine/finalization-deps.test.ts
  • src/lib/onboard/machine/handlers/agent-setup.test.ts
  • src/lib/onboard/machine/handlers/finalization.test.ts
  • src/lib/onboard/machine/handlers/policies-observability.test.ts
  • src/lib/onboard/machine/handlers/policies-restricted-resume.test.ts
  • src/lib/onboard/machine/handlers/policies-test-fixture.ts
  • src/lib/onboard/machine/handlers/policies.test.ts
  • src/lib/onboard/machine/handlers/policies.ts
  • src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts
  • src/lib/onboard/machine/handlers/provider-inference-policy-authority.test.ts
  • src/lib/onboard/machine/handlers/provider-inference.ts
  • src/lib/onboard/machine/handlers/sandbox-baseline-exclusion-lock.test.ts
  • src/lib/onboard/machine/handlers/sandbox-baseline-exclusions.test.ts
  • src/lib/onboard/machine/handlers/sandbox-checkpoint-crash-recovery.test.ts
  • src/lib/onboard/machine/handlers/sandbox-create-intent-boundary.test.ts
  • src/lib/onboard/machine/handlers/sandbox-credential-drift.test.ts
  • src/lib/onboard/machine/handlers/sandbox-destructive-resume-rollback.test.ts
  • src/lib/onboard/machine/handlers/sandbox-policy-authority-completion.test.ts
  • src/lib/onboard/machine/handlers/sandbox-recreate-journal.test.ts
  • src/lib/onboard/machine/handlers/sandbox-test-fixtures.ts
  • src/lib/onboard/machine/handlers/sandbox.test.ts
  • src/lib/onboard/machine/handlers/sandbox.ts
  • src/lib/onboard/machine/initial-flow-phases.test.ts
  • src/lib/onboard/machine/initial-flow-phases.ts
  • src/lib/onboard/machine/types.ts
  • src/lib/onboard/managed-workload-rebuild-transaction.test.ts
  • src/lib/onboard/managed-workload/onboard-orchestration.test.ts
  • src/lib/onboard/managed-workload/onboard-orchestration.ts
  • src/lib/onboard/managed-workload/rebuild/commit.ts
  • src/lib/onboard/managed-workload/rebuild/plan.ts
  • src/lib/onboard/messaging-policy-presets.ts
  • src/lib/onboard/observability-policy-presets.ts
  • src/lib/onboard/onboard-recreate-journal.test.ts
  • src/lib/onboard/onboard-recreate-journal.ts
  • src/lib/onboard/openclaw-setup.test.ts
  • src/lib/onboard/policy-authority/preflight-reservation.test.ts
  • src/lib/onboard/policy-authority/preflight.test.ts
  • src/lib/onboard/policy-authority/preflight.ts
  • src/lib/onboard/policy-carryforward.test.ts
  • src/lib/onboard/policy-carryforward.ts
  • src/lib/onboard/policy-preset-persistence.test.ts
  • src/lib/onboard/policy-preset-persistence.ts
  • src/lib/onboard/policy-preset-reconciliation.ts
  • src/lib/onboard/policy-requirements.ts
  • src/lib/onboard/policy-resume-selection.test.ts
  • src/lib/onboard/policy-resume-selection.ts
  • src/lib/onboard/policy-selection-application.test.ts
  • src/lib/onboard/policy-selection-host-local-route.test.ts
  • src/lib/onboard/policy-selection-recorded-tier.test.ts
  • src/lib/onboard/policy-selection.ts
  • src/lib/onboard/providers.test.ts
  • src/lib/onboard/providers.ts
  • src/lib/onboard/runtime-boundary.ts
  • src/lib/onboard/runtime-provider/runtime-provider-contract.test.ts
  • src/lib/onboard/sandbox-create-intent-resolution.ts
  • src/lib/onboard/sandbox-create-intent-types.ts
  • src/lib/onboard/sandbox-create-intent.ts
  • src/lib/onboard/sandbox-create-plan-materialization.ts
  • src/lib/onboard/sandbox-create-plan.test.ts
  • src/lib/onboard/sandbox-create-plan.ts
  • src/lib/onboard/sandbox-create/orchestration.test.ts
  • src/lib/onboard/sandbox-create/orchestration.ts
  • src/lib/onboard/sandbox-create/policy-creation-receipt.test.ts
  • src/lib/onboard/sandbox-create/policy-creation-receipt.ts
  • src/lib/onboard/sandbox-create/policy-verification.ts
  • src/lib/onboard/sandbox-lifecycle.test.ts
  • src/lib/onboard/sandbox-recreate-transaction.test.ts
  • src/lib/onboard/sandbox-recreate-transaction.ts
  • src/lib/onboard/sandbox-registration.test.ts
  • src/lib/onboard/sandbox-registration.ts
  • src/lib/onboard/sandbox-registry-metadata.test.ts
  • src/lib/onboard/sandbox-registry-metadata.ts
  • src/lib/onboard/sandbox-reuse.test.ts
  • src/lib/onboard/sandbox-reuse.ts
  • src/lib/onboard/session-bootstrap.test.ts
  • src/lib/onboard/session-updates.ts
  • src/lib/onboard/setup-inference-gateway-scope.test.ts
  • src/lib/onboard/setup-inference-policy-authority.test.ts
  • src/lib/onboard/setup-inference.ts
  • src/lib/onboard/setup-nim-flow-vllm-resume.test.ts
  • src/lib/onboard/setup-nim-ollama.test.ts
  • src/lib/onboard/tool-disclosure-flow.test.ts
  • src/lib/onboard/types.ts
  • src/lib/onboard/validation-recovery-prompt.test.ts
  • src/lib/onboard/vm-dns-monkeypatch.test.ts
  • src/lib/onboard/vm-dns-monkeypatch.ts
  • src/lib/policy/README.md
  • src/lib/policy/agent-base-preset.test.ts
  • src/lib/policy/baseline-exclusion-journal-integration.test.ts
  • src/lib/policy/baseline-exclusion-persistence.test.ts
  • src/lib/policy/baseline-exclusion.test.ts
  • src/lib/policy/baseline-exclusion.ts
  • src/lib/policy/commands.test.ts
  • src/lib/policy/context-builder.ts
  • src/lib/policy/context.test.ts
  • src/lib/policy/custom-preset-ownership.test.ts
  • src/lib/policy/failure-classifier.test.ts
  • src/lib/policy/failure-classifier.ts
  • src/lib/policy/index.ts
  • src/lib/policy/managed-policy-binding.test.ts
  • src/lib/policy/managed-policy-binding.ts
  • src/lib/policy/merge.ts
  • src/lib/policy/policy-apply-finality.test.ts
  • src/lib/policy/policy-list-display.ts
  • src/lib/policy/policy-live-state.test.ts
  • src/lib/policy/policy-mutation-authority.test.ts
  • src/lib/policy/preset-allowed-ips.test.ts
  • src/lib/policy/preset-provenance.test.ts
  • src/lib/policy/preset-provenance.ts
  • src/lib/policy/trusted-private-endpoints.test.ts
  • src/lib/policy/trusted-private-endpoints.ts
  • src/lib/registry-recovery-action.test.ts
  • src/lib/registry-recovery-action.ts
  • src/lib/registry-recovery-seeded-paths.test.ts
  • src/lib/shields/flow.test.ts
  • src/lib/shields/index.test.ts
  • src/lib/shields/index.ts
  • src/lib/shields/legacy-hermes-compat.test.ts
  • src/lib/shields/mcp-policy-transition.test.ts
  • src/lib/shields/mcp-policy-transition.ts
  • src/lib/shields/mutable-config-repair.test.ts
  • src/lib/shields/permissive-runtime.ts
  • src/lib/shields/policy-delta.test.ts
  • src/lib/shields/policy-transition.test.ts
  • src/lib/shields/status-state-lock-plan.test.ts
  • src/lib/shields/timer-recovery-budget.test.ts
  • src/lib/shields/timer.test.ts
  • src/lib/shields/timer.ts
  • src/lib/state/launch-readiness-lease.test.ts
  • src/lib/state/launch-readiness-lease.ts
  • src/lib/state/onboard-session-cross-process-lock.test.ts
  • src/lib/state/onboard-session-normalization.test.ts
  • src/lib/state/onboard-session.test.ts
  • src/lib/state/onboard-session.ts
  • src/lib/state/onboard-session/retained-sandbox-recovery.ts
  • src/lib/state/registry-mcp.ts
  • src/lib/state/registry-normalization.test.ts
  • src/lib/state/registry-normalization.ts
  • src/lib/state/registry-route-reservation.test.ts
  • src/lib/state/registry.ts
  • src/lib/state/registry/pending-create-verification.ts
  • src/lib/state/registry/pending-policy-verification.ts
  • src/lib/state/registry/route-reservation.ts
  • src/lib/state/registry/types.ts
  • src/lib/state/retained-sandbox-recovery.test.ts
  • src/lib/state/sandbox-manifest-publish.test.ts
  • src/lib/state/sandbox.ts
  • src/lib/status-command-deps.ts
  • test/agents/deepagents/deepagents-mcp-legacy-lifecycle.test.ts
  • test/agents/deepagents/langchain-deepagents-code-fetch-proxy.test.ts
  • test/agents/hermes/hermes-home-channel-snapshot.test.ts
  • test/agents/hermes/hermes-kanban-snapshot.test.ts
  • test/agents/hermes/hermes-mcp-shields-order.test.ts
  • test/agents/hermes/hermes-state-ledger-snapshot.test.ts
  • test/agents/openclaw/openclaw-config-restore.test.ts
  • test/agents/openclaw/openclaw-config-snapshot.test.ts
  • test/automation/pull-requests/pr-risk-plan.test.ts
  • test/channels/channels-add-bridge-lifecycle.test.ts
  • test/channels/channels-add-preset.test.ts
  • test/channels/channels-remove-full-teardown.test.ts
  • test/cli/channel-status-json.test.ts
  • test/cli/connect-readiness.test.ts
  • test/cli/connect-recovery.test.ts
  • test/cli/debug-command.test.ts
  • test/cli/destroy-detach-order.test.ts
  • test/cli/destroy-gateway-cleanup.test.ts
  • test/cli/destroy-gateway-unreachable.test.ts
  • test/cli/dispatch-basics.test.ts
  • test/cli/docker-outage.test.ts
  • test/cli/exit-code-user-error-surfaces.test.ts
  • test/cli/list-inference.test.ts
  • test/cli/list-share-live-inference.test.ts
  • test/cli/logs.test.ts
  • test/cli/repro-2666-silent-list-status.test.ts
  • test/cli/sandbox-mutations.test.ts
  • test/cli/sandbox-status-json.test.ts
  • test/cli/status-gateway-lifecycle.test.ts
  • test/cli/status-root-json.test.ts
  • test/credentials/rebuild-credential-preflight.test.ts
  • test/e2e-runtime/nemoclaw-cli-recovery.test.ts
  • test/e2e/e2e-cloud-experimental/checks/11-deepagents-code-observability.sh
  • test/e2e/live/network-policy.test.ts
  • test/e2e/live/policy-list-state.ts
  • test/e2e/live/rebuild-hermes.test.ts
  • test/e2e/live/rebuild-openclaw.test.ts
  • test/e2e/live/shields-config.test.ts
  • test/e2e/live/snapshot-commands.test.ts
  • test/helpers/hermes-portable-uninstall-fixture.ts
  • test/helpers/hermes-shields-provider-consumer-harness.ts
  • test/helpers/hermes-unsafe-config-shields-harness.ts
  • test/helpers/live-policy-fixture.ts
  • test/helpers/managed-image-buildless-e2e.ts
  • test/helpers/onboard-final-flow-phases.ts
  • test/helpers/onboard-script-mocks.cjs
  • test/helpers/openclaw-real-device-self-approval-proof.ts
  • test/helpers/rebuild-flow-dcode-harness.ts
  • test/helpers/rebuild-flow-generic-harness.ts
  • test/helpers/rebuild-flow-harness.ts
  • test/helpers/rebuild-flow-test-support.ts
  • test/helpers/shields-flow-harness.ts
  • test/inference/inference-set-config-read-exit.test.ts
  • test/inference/managed/issue-5667-hosted-inference-model-namespace.test.ts
  • test/installer-integration/install-hermes-portable-active.test.ts
  • test/mcp/mcp-add-crash-consistency.test.ts
  • test/mcp/mcp-bridge-destroy-marker-recovery.test.ts
  • test/mcp/mcp-destroy-lifecycle.test.ts
  • test/mcp/mcp-policy-key-ownership.test.ts
  • test/mcp/mcp-policy-transition.test.ts
  • test/mcp/mcp-provider-ownership.test.ts
  • test/mcp/mcp-restart-policy-order.test.ts
  • test/networking/dashboard-remote-bind-lifecycle.test.ts
  • test/networking/registry-host-local-inference.test.ts
  • test/onboard-external-policy-authority-composition.test.ts
  • test/onboarding/onboard-extra-provider-reconciliation.test.ts
  • test/onboarding/onboard-fresh-create-identity.test.ts
  • test/onboarding/onboard-fsm-live-slices.test.ts
  • test/onboarding/onboard-inference-failure-paths.test.ts
  • test/onboarding/onboard-inference-reconciliation.test.ts
  • test/onboarding/onboard-installer-restore-intent.test.ts
  • test/onboarding/onboard-mcp-observability-redirect.test.ts
  • test/onboarding/onboard-messaging.test.ts
  • test/onboarding/onboard-policy-application-wiring.test.ts
  • test/onboarding/onboard-pre-destructive-intent.test.ts
  • test/onboarding/onboard-prepared-build-context.test.ts
  • test/onboarding/onboard-reservation-recreate.test.ts
  • test/onboarding/onboard-sandbox-recreation.test.ts
  • test/onboarding/onboard-terminal-dashboard.test.ts
  • test/onboarding/onboard.test.ts
  • test/package-contract/cli/debug-cli-command.test.ts
  • test/package-contract/cli/policy-dispatch.test.ts
  • test/package-contract/cli/policy-prompt-eof.test.ts
  • test/package-contract/cli/policy-restore-acknowledgement.test.ts
  • test/package-contract/openshell-policy-boundary.test.ts
  • test/package-contract/repro-2010.test.ts
  • test/runtime/gateway/gateway-drift-preflight.test.ts
  • test/runtime/gateway/gateway-state-reconcile-2276.test.ts
  • test/runtime/gateway/recover-port-forward.test.ts
  • test/runtime/messaging/rebuild-messaging-conflict-preflight.test.ts
  • test/runtime/policy/permissive-runtime.test.ts
  • test/runtime/policy/policies-permissive-policy.test.ts
  • test/runtime/policy/policies-teams.test.ts
  • test/runtime/policy/policies.test.ts
  • test/runtime/policy/policy-add-remove-session-sync.test.ts
  • test/runtime/policy/policy-channel-agent-resolution.test.ts
  • test/runtime/policy/policy-diagnostic-read.test.ts
  • test/runtime/policy/policy-explain-cli.test.ts
  • test/runtime/policy/policy-mutation-read-failure.test.ts
  • test/runtime/policy/policy-openclaw-npm-compatibility.test.ts
  • test/runtime/policy/policy-preset-noop-disclosure.test.ts
  • test/runtime/policy/policy-roundtrip-docs.test.ts
  • test/runtime/policy/policy-semantic-validation-runtime.test.ts
  • test/runtime/policy/policy-tiers-onboard-restricted-stale-otel.test.ts
  • test/runtime/policy/policy-tiers-onboard.test.ts
  • test/runtime/policy/portable-policy-failure-finality.test.ts
  • test/runtime/policy/rebuild-policy-presets.test.ts
  • test/runtime/sandbox/reboot-identity-drift.test.ts
  • test/runtime/sandbox/sandbox-agent-surface-parity.test.ts
  • test/runtime/sandbox/sandbox-status-json-stdout.test.ts
  • test/runtime/sandbox/sandbox-stuck-recovery.test.ts
  • test/sandbox-connect-inference/auto-pair-approval.test.ts
  • test/sandbox-connect-inference/route-swap-repair.test.ts
  • test/shields-external-policy-recovery.test.ts
  • test/state/registry.test.ts
  • test/state/snapshot-backup-audit-hardlinks.test.ts
  • test/state/snapshot-gateway-guard.test.ts
  • test/state/snapshot-managed-restore-authority.test.ts
  • test/state/snapshot-openclaw-managed-extensions.test.ts
  • test/state/snapshot-restore-existing-dest.test.ts
  • test/state/snapshot-runtime-auth-state.test.ts
  • test/state/snapshot-shields-guard.test.ts
  • test/state/snapshot-stale-directory-restore.test.ts
  • test/state/snapshot-state-directory-contract.test.ts
  • test/state/snapshot.test.ts
  • test/support/connect-flow-test-harness.ts
  • test/support/status-flow-test-harness.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@github-code-quality

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall line coverage in commit 4eeb7a0 in the refactor/openshell-p... branch is 94%. The line coverage in commit 83fd95b in the main branch is 96%.

Show a line coverage summary of the most impacted files.
File main 83fd95b refactor/openshell-p... 4eeb7a0 +/-
nemoclaw/src/sh...cy-boundary.cts 100% 87% -13%
nemoclaw/src/bl...est-fixtures.ts 98% 85% -13%
nemoclaw/src/bl...ock-fixtures.ts 100% 92% -8%
nemoclaw/src/sh...nt-boundary.cts 100% 95% -5%
nemoclaw/src/bl...print/runner.ts 94% 90% -4%

@ericksoa

Copy link
Copy Markdown
Contributor Author

Closing the mistakenly created replacement. #10515 is restored as the sole delivery PR and contains the exact tested atomic cutover tree.

@ericksoa ericksoa closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make OpenShell the sole durable policy source of truth

1 participant