Summary
Clawdapus currently abstracts Discord bot identity through handles, but not human/operator ingress. If a pod wants humans to be able to mention traders in a Discord guild, authors still have to wire raw user IDs into channel://discord surfaces.
That is too low-level for the common “operators can talk to agents” case.
What Happened
In a live trading-desk pod:
- bot-to-bot mentions worked
- human mentions from the operator did not create a session
- the generated OpenClaw config only included the peer bot IDs in
channels.discord.guilds.<guild>.users
To make the operator able to mention traders, we had to explicitly add the human Discord user ID plus every bot ID to the guild allowlist.
Why This Feels Wrong
Today the abstraction boundary is:
handles: bot IDs, usernames, guild membership, mention patterns, peer bot allowlist
channel surfaces: human routing ACLs via raw guild/channel/user IDs
That means a pod author has to know and repeat:
- the operator’s raw Discord user ID
n- every peer bot ID
- the guild ID
- the channel ID
for what is conceptually just “let the desk operator talk to the traders in trading-floor”.
Expected
Clawdapus should have a higher-level way to express this. Examples:
- a first-class
operators / humans / principals block at pod level
- a way to merge those principals into generated Discord guild users automatically
- a simpler channel-surface knob like
allow_operators: true
- named principals instead of raw user IDs everywhere
Benefit
This would eliminate a lot of brittle Discord-specific config and make the common operator-to-agent path feel like an actual pod abstraction instead of raw OpenClaw plumbing.
Summary
Clawdapus currently abstracts Discord bot identity through
handles, but not human/operator ingress. If a pod wants humans to be able to mention traders in a Discord guild, authors still have to wire raw user IDs intochannel://discordsurfaces.That is too low-level for the common “operators can talk to agents” case.
What Happened
In a live trading-desk pod:
channels.discord.guilds.<guild>.usersTo make the operator able to mention traders, we had to explicitly add the human Discord user ID plus every bot ID to the guild allowlist.
Why This Feels Wrong
Today the abstraction boundary is:
handles: bot IDs, usernames, guild membership, mention patterns, peer bot allowlistchannelsurfaces: human routing ACLs via raw guild/channel/user IDsThat means a pod author has to know and repeat:
n- every peer bot ID
for what is conceptually just “let the desk operator talk to the traders in trading-floor”.
Expected
Clawdapus should have a higher-level way to express this. Examples:
operators/humans/principalsblock at pod levelallow_operators: trueBenefit
This would eliminate a lot of brittle Discord-specific config and make the common operator-to-agent path feel like an actual pod abstraction instead of raw OpenClaw plumbing.