Description
Observed (main a13080d, Mac instance 3080, Face-to-face room "Danyang, Friend"): the owner picked a friend's Bot chip (技术文档 · Danyang's Bot) in the room composer and sent "你是干嘛的". The chat shows: 技术文档: not sent — Chief has no grant to that Bot, so it cannot message friends' Bots. Meanwhile Chief just answered a plain message in the same room.
Expected Per the owner design, every human in a group can talk to and operate the group's Bots within the group. A human's own message addressed to a Bot that is a member of the room must be delivered as that human in the room scope, not relayed through Chief, so Chief's missing grant must not matter. (A Bot-to-friend's-Bot send by Chief itself still needs a grant.)
Likely cause The human's chip message is routed as a Chief -> remote Bot send: plugins/social/src/social.js sendOut() throws when activeMember(msg.from) is undefined (Chief has no server identity in this room), and core/src/host/reach.js reach() denies toRemote when the sender has no grant. The inRoom && remoteInRoom allowance doesn't help when Chief isn't a participant or has no member identity.
Fix direction For a human-originated message to a remote Bot that is in the same room, send via the room (send_face_room_message / the room's human sender with the mention) and don't require the sender Bot's grant. Add a regression test and keep Chief-originated sends gated.
Usability note: the error text is developer-ish; if a send is really not allowed, say what to do next in one short line.
Activity
fix(social): deliver a human room line to a friend Bot without Chief'…
fix(social): a human's message to a room's friend Bot no longer goes …
Read that room only for the Bot whose whole consent it is
Judge a room-only Bot's 1:1 line under the room it joined (ThinkFlowL…
Pin the held-reply seam: a terminal failure reaches the view as retry…