You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is no end-to-end coverage for the post-onboard messaging-channel lifecycle. Three bugs have shipped to main in this area in the last few weeks because no test exercises these flows:
All three involve a full sandbox rebuild (>10 min each), so they belong as E2E scripts on Brev rather than as unit tests.
This issue tracks adding two E2E scripts under test/e2e/ that exercise the channel lifecycle end-to-end and assert against the baked image (/opt/nemoclaw/openclaw.json — the real source
of truth at runtime), not only the host-side registry. The #3381 → #3453 sequence is the exact reason: #3381's fix made the registry-side state correct, which masked the fact that the baked image
was still wrong until #3453 surfaced it.
Why two scripts instead of one
Each rebuild takes >10 min, so a single onboard → add → stop → start → remove script would run ~50 min and have a long mean-time-to-feedback when any one step regresses. Splitting into two
scripts:
Bounds each run to ~30 min
Lets us run them in parallel on separate Brev instances
Makes regressions easier to attribute (channel-add bug vs. channel-stop bug)
nemoclaw channels remove telegram; accept the rebuild prompt
Assert:openclaw.json does not contain telegram; bridge process is gone; policy list no longer contains the telegram preset; registry shows telegram removed from messagingChannels
Summary
There is no end-to-end coverage for the post-onboard messaging-channel lifecycle. Three bugs have shipped to
mainin this area in the last few weeks because no test exercises these flows:channels startafterchannels stopreported success but the bot stayed offline (fixed via fix(onboard): preserve disabled channels through rebuild so channels start can recover #3395)channels stop <name>does not stop the bridge through rebuild —openclaw.jsonstill bakes the channel in #3453 —channels stopfollowed by rebuild still bakes the channel intoopenclaw.json(the build-time disable filter regression that surfaced after [Messaging] Cannot start a channel after a stop #3381 was closed)channels adddoesn't apply the channel's network policy preset, so the bridge boots with no egressAll three involve a full sandbox rebuild (>10 min each), so they belong as E2E scripts on Brev rather than as unit tests.
This issue tracks adding two E2E scripts under
test/e2e/that exercise the channel lifecycle end-to-end and assert against the baked image (/opt/nemoclaw/openclaw.json— the real sourceof truth at runtime), not only the host-side registry. The #3381 → #3453 sequence is the exact reason: #3381's fix made the registry-side state correct, which masked the fact that the baked image
was still wrong until #3453 surfaced it.
Why two scripts instead of one
Each rebuild takes >10 min, so a single onboard → add → stop → start → remove script would run ~50 min and have a long mean-time-to-feedback when any one step regresses. Splitting into two
scripts:
Test 1 —
onboard telegram → channels stop → channels startRegression test for #3381 and #3453.
nemoclaw onboard --agent openclawwith telegram enabledopenclaw.jsoncontains the channel; bot responds to a DMnemoclaw channels stop telegram; accept the rebuild promptchannels stop <name>does not stop the bridge through rebuild —openclaw.jsonstill bakes the channel in #3453):docker exec <sandbox> jq .channels /opt/nemoclaw/openclaw.jsondoes not contain telegram; gateway logs show no telegram-bridge provider attacheddisabledChannels: ["telegram"]andmessagingChannelsstill includestelegramnemoclaw channels start telegram; accept the rebuild promptopenclaw.jsoncontains telegram againTest 2 —
onboard empty → channels add → channels removeRegression test for #3437.
nemoclaw onboard --agent openclawwith no messaging channel selectednemoclaw channels add telegram; provide token; accept the rebuild promptnemoclaw policy listcontains thetelegrampreset — no manualpolicy-addstep requiredapi.telegram.org:443; sending a DM gets a responseopenclaw.jsoncontains telegramnemoclaw channels remove telegram; accept the rebuild promptopenclaw.jsondoes not contain telegram; bridge process is gone;policy listno longer contains the telegram preset; registry shows telegram removed frommessagingChannels