Description
Test Plan 2- https://docs.google.com/document/d/1KkbgO4KClboR6XB52ztkOyeUsUgWTzWXwsVWM4PuCSA/edit?tab=t.0
4.2
Description
1. Issue summary
nemoclaw policy-add fails with failed to parse sandbox policy YAML — missing field 'version' because bin/lib/policies.js generates a policy YAML without the required version field that openshell policy set expects.
2. Detailed description
What were you trying to do?
Apply the outlook policy preset to sandbox my-assistant using nemoclaw my-assistant policy-add.
What happened instead?
Command failed with:
Error: × failed to parse sandbox policy YAML
╰─▶ missing field `version`
Command failed (exit 1): openshell policy set --policy "/tmp/nemoclaw-policy-1773628802112.yaml" --wait my-assistant
Steps to reproduce:
Install nemoclaw from repo root: npm install -g .
Have a sandbox registered (e.g. my-assistant).
Run nemoclaw my-assistant policy-add.
Type outlook at the preset prompt.
Type Y at the confirmation prompt.
Expected: Outlook preset is applied — graph.microsoft.com, login.microsoftonline.com, outlook.office365.com, outlook.office.com endpoints added. No schema errors.
Actual: openshell policy set rejects the YAML with missing field 'version'.
Environment: openshell 0.0.4, nemoclaw 0.1.0, Node.js v22.16.0, Ubuntu (asdf).
Root cause: The applyPreset() function in bin/lib/policies.js (lines 132–138) generates the merged policy YAML without a version field. When no existing policy is found, it produces:
network_policies:
outlook_graph:
...But openshell policy set requires:
version: "1.0"
network_policies:
outlook_graph:
...
Log :
Available presets:
○ discord — Discord API, gateway, and CDN access
○ docker — Docker Hub and NVIDIA container registry access
○ huggingface — Hugging Face Hub, LFS, and Inference API access
○ jira — Jira and Atlassian Cloud access
○ npm — npm and Yarn registry access
○ outlook — Microsoft Outlook and Graph API access
○ pypi — Python Package Index (PyPI) access
○ slack — Slack API and webhooks access
○ telegram — Telegram Bot API access
Preset to apply: outlook
Apply 'outlook' to sandbox 'my-assistant'? [Y/n]: Y
Error: × failed to parse sandbox policy YAML
╰─▶ missing field `version`
Command failed (exit 1): openshell policy set --policy "/tmp/nemoclaw-policy-1773628802112.yaml" --wait m
pruprakash@700d01b-lcedt:~/Documents/pruprakash/openshell-openclaw-plugin/nemoclaw$
Steps to reproduce
No steps provided.
[NVB# 5982764]
[NVB#5982764]
Description
Test Plan 2- https://docs.google.com/document/d/1KkbgO4KClboR6XB52ztkOyeUsUgWTzWXwsVWM4PuCSA/edit?tab=t.0
4.2
Description
1. Issue summary
nemoclaw policy-add fails with failed to parse sandbox policy YAML — missing field 'version' because bin/lib/policies.js generates a policy YAML without the required version field that openshell policy set expects.
2. Detailed description
What were you trying to do?
Apply the outlook policy preset to sandbox my-assistant using nemoclaw my-assistant policy-add.
What happened instead?
Command failed with:
Steps to reproduce:
Install nemoclaw from repo root: npm install -g .
Have a sandbox registered (e.g. my-assistant).
Run nemoclaw my-assistant policy-add.
Type outlook at the preset prompt.
Type Y at the confirmation prompt.
Expected: Outlook preset is applied — graph.microsoft.com, login.microsoftonline.com, outlook.office365.com, outlook.office.com endpoints added. No schema errors.
Actual: openshell policy set rejects the YAML with missing field 'version'.
Environment: openshell 0.0.4, nemoclaw 0.1.0, Node.js v22.16.0, Ubuntu (asdf). Root cause: The applyPreset() function in bin/lib/policies.js (lines 132–138) generates the merged policy YAML without a version field. When no existing policy is found, it produces:network_policies: outlook_graph: ...But openshell policy set requires:version: "1.0" network_policies: outlook_graph: ...Log :
Available presets: ○ discord — Discord API, gateway, and CDN access ○ docker — Docker Hub and NVIDIA container registry access ○ huggingface — Hugging Face Hub, LFS, and Inference API access ○ jira — Jira and Atlassian Cloud access ○ npm — npm and Yarn registry access ○ outlook — Microsoft Outlook and Graph API access ○ pypi — Python Package Index (PyPI) access ○ slack — Slack API and webhooks access ○ telegram — Telegram Bot API access Preset to apply: outlook Apply 'outlook' to sandbox 'my-assistant'? [Y/n]: Y Error: × failed to parse sandbox policy YAML ╰─▶ missing field `version` Command failed (exit 1): openshell policy set --policy "/tmp/nemoclaw-policy-1773628802112.yaml" --wait m pruprakash@700d01b-lcedt:~/Documents/pruprakash/openshell-openclaw-plugin/nemoclaw$Steps to reproduce
No steps provided.
[NVB# 5982764]
[NVB#5982764]