Skip to content

[NemoClaw][brev]nemoclaw rebuild does not restore Telegram (messaging) policy presets — bridge starts but cannot reach api.telegram.org #1952

@zNeill

Description

@zNeill

Description

[Description]
After nemoclaw <name> rebuild --yes, the sandbox is recreated with workspace data restored,
but previously applied network policy presets (specifically telegram) are NOT restored.
The Telegram bridge process starts inside the sandbox (because the messaging channel config
is baked into the image), but it cannot reach api.telegram.org because the telegram network
policy is missing. The gateway proxy returns 403 Forbidden for all requests to
api.telegram.org. The bridge silently hangs at "starting provider" with no error visible
to the user.

[Environment]
Device: Ubuntu (Brev cloud instance, massedcompute A100)
Node.js: v22.22.2
npm: 10.9.7
Docker: Docker version 28.0.4, build b8034c0
OpenShell CLI: 0.0.26
NemoClaw: v0.0.16
OpenClaw: 2026.4.2 (d74a122)

[Steps to Reproduce]

  1. nemoclaw onboard (create sandbox "test222" with Cloud API + Telegram)
  2. nemoclaw test222 policy-add → select telegram → confirm
  3. Verify: nemoclaw test222 policy-list shows ● telegram
  4. Verify: Telegram bot responds to messages
  5. nemoclaw test222 rebuild --yes
  6. nemoclaw test222 policy-list

[Expected Result]
After rebuild:

  • policy-list shows ● telegram (preset restored)
  • Telegram bridge can reach api.telegram.org
  • Bot responds to messages

[Actual Result]
After rebuild:

  • policy-list shows ○ telegram (NOT applied)
  • From inside sandbox: node request to https://api.telegram.org returns 403 Forbidden
  • /tmp/gateway.log shows only:
    [telegram] [default] starting provider (@testnemoclaw001_bot)
    and then nothing — no getMe, no getUpdates, no error message
  • nemoclaw status does not indicate any problem
  • User must manually re-apply: nemoclaw test222 policy-add → telegram

[Root Cause Analysis]

  • The rebuild flow (in src/lib/rebuild.ts or nemoclaw.ts) performs:
    backup → destroy → onboard (recreate) → restore
  • The restore step recovers workspace state from the backup directory
    (agents/, extensions/, workspace/, skills/, etc.)
  • Policy presets are NOT part of the backup/restore flow. Presets are
    stored in the gateway's policy engine, not in the sandbox filesystem.
    When the sandbox is destroyed and recreated, the policy reverts to
    the base policy from nemoclaw-blueprint/policies/openclaw-sandbox.yaml.
  • Since v0.0.11, messaging endpoints (telegram, slack, discord) are NOT
    in the default policy — they require explicit policy-add.
  • The rebuild restore manifest includes: agents, extensions, workspace,
    skills, hooks, identity, devices, canvas, cron, memory, telegram,
    credentials — but "telegram" here is the telegram bridge config data,
    NOT the network policy preset.

Suggested fix:

  • During backup, also record the list of applied policy presets
    (e.g. from nemoclaw <name> policy-list output or the policy version).
  • During restore, after sandbox recreation, automatically re-apply
    the backed-up presets via the policy engine.
  • Alternatively, at minimum, print a warning after rebuild:
    "NOTE: Policy presets were not restored. Previously applied presets:
    telegram, npm, pypi. Run nemoclaw <name> policy-add to re-apply."

Bug Details

Field Value
Priority Unprioritized
Action Dev - Open - To fix
Disposition Open issue
Module Machine Learning - NemoClaw
Keyword NemoClaw, NEMOCLAW_GH_SYNC_APPROVAL, NemoClaw_Inference, NemoClaw-SWQA-RelBlckr-Recommended

[NVB# 6084077]

Metadata

Metadata

Assignees

Labels

Integration: TelegramUse this label to identify Telegram bot integration issues with NemoClaw.NV QABugs found by the NVIDIA QA TeamPlatform: UbuntuSupport for Linux UbuntuUATIssues flagged for User Acceptance Testing.bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions