Skip to content

fix(installer): enable the harness plugins in OpenClaw - #98

Open
sauagarwa wants to merge 1 commit into
validatedpatterns-sandbox:mainfrom
sauagarwa:fix/openclaw-enable-harness
Open

sauagarwa wants to merge 1 commit into
validatedpatterns-sandbox:mainfrom
sauagarwa:fix/openclaw-enable-harness

Conversation

@sauagarwa

@sauagarwa sauagarwa commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Enable the harness plugins in OpenClaw

#101 moved the NemoClaw sandbox image to v0.0.133, which ships OpenClaw 2026.9.2. On OpenClaw 2026.9.x, a harness bundle mounted at /sandbox/harness is found but never loaded, so verification fails for any NemoClaw sandbox with a harness:

FAIL  harness in sandbox 'assistant': OpenClaw does not load the harness bundle 'daily-briefing' from /sandbox/harness

openclaw plugins inspect gives the reason: "status": "disabled", "activationReason": "not in allowlist". 2026.9.x keeps a plugin found on plugins.load.paths disabled until it is enabled with capability consent. The NemoClaw image also ships a restrictive plugins.allow (brave, memory-core, nemoclaw), which blocks it outright. 2026.7.1 loaded the bundle regardless.

Change

  • After setting plugins.load.paths, the installer runs openclaw plugins enable <id> --accept-capabilities for the bundle (the name in its plugin.json) and for each native plugin under plugins/. On an administrator enable, OpenClaw also adds the id to an existing plugins.allow.
  • Older releases may not know --accept-capabilities, so the installer retries without it. Both steps are best effort; verification still decides.
  • When the bundle is not loaded, the verify failure now includes OpenClaw's status and error (for example status disabled: not in allowlist).

Checks

  • Tests: 454 installer tests pass. test_full_apply_mounts_the_harness_into_notebook now also checks that ds-default and its saw-echo plugin are enabled.
  • Live: on a NemoClaw sandbox running OpenClaw 2026.9.2 with the daily-briefing harness, the bundle loads with slack-reader and gmail-reader registered, the apply ends with apply: Done, and the assistant lists both tools.

Notes

  • Main's default profiles are not affected yet: the data-science notebook uses the AIPCC OpenClaw image, and cuda-sandbox (NemoClaw) is disabled and has no harness. The demo's personal assistant (NemoClaw with the daily-briefing harness) needs this before it moves to a v0.0.133 image.
  • Rebased onto build(nemoclaw): upgrade CLI and sandbox to v0.0.133 #101: 454 installer tests and the image-build tests pass.

After this merges, I'll merge main into demo so the demo branch has it too.

OpenClaw 2026.9.x keeps a plugin found on plugins.load.paths disabled
until it is enabled with capability consent, and NemoClaw's restrictive
plugins.allow blocks it outright ("not in allowlist"). Found live on the
personal-assistant sandbox with OpenClaw 2026.9.2: the daily-briefing
bundle and its MCP servers were detected but never loaded.

After pointing OpenClaw at the bundle, run `plugins enable` for the
bundle (its plugin.json name) and each native plugin under plugins/;
this also adds them to an existing plugins.allow. Older releases load
the bundle anyway and may not know --accept-capabilities, so retry
without it. The verify failure now says why the bundle is not loaded.

Co-Authored-By: Claude
@sauagarwa
sauagarwa force-pushed the fix/openclaw-enable-harness branch from 93fc557 to 1c9f80d Compare October 13, 2026 14:28
sauagarwa added a commit to sauagarwa/secure-agent-workspace that referenced this pull request Oct 13, 2026
…rns-sandbox#98 into demo

Brings current main into demo (including validatedpatterns-sandbox#101, the NemoClaw v0.0.133
images with OpenClaw 2026.9.2) and the installer fix from validatedpatterns-sandbox#98
(1c9f80d), so a later main -> demo merge has nothing to redo.

Conflict: values-secret.yaml.template. Main (validatedpatterns-sandbox#93) removed the
keycloak-users entry (no implicit demo users); kept that, and the
demo's Slack and Gmail entries.

Co-Authored-By: Claude
sauagarwa added a commit to sauagarwa/secure-agent-workspace that referenced this pull request Oct 13, 2026
… off

The personal assistant moves to ghcr.io/validatedpatterns-sandbox/
nemoclaw-sandbox:latest, which validatedpatterns-sandbox#101 builds from NemoClaw v0.0.133 with
OpenClaw 2026.9.2: that release loads the bundle's plugin.json and
mcp.json (2026.7.1 loaded only its skills), and validatedpatterns-sandbox#98 enables it.

With the Slack provider attached, OpenClaw treats its own slack chat
channel as configured, tries to install @openclaw/slack from npm at
gateway startup (egress denied) and does not start; the UI answers 502.
Found live. The provider is for the harness's governed reads, so the
installer sets channels.slack.enabled false in every sandbox with a
Slack provider, instead of allowing npm egress.

The demo docs now mark both Tier 1 blockers (T1a, T1c) as resolved and
describe the bundle as it is (plugin.json, mcp.json).

Co-Authored-By: Claude
sauagarwa added a commit that referenced this pull request Oct 13, 2026
Merge main (through #101) and #98 into demo
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.

1 participant