#3316 · every ork agent could message any of your live sessions by guessed name; none could list them.
BEFORE AFTER can SEND ██████████████████ 34/36 ██████████ 19/36 can SEE ░░░░░░░░░░░░░░░░░░ 0/36 ██████████ 19/36 send blind ██████████████████ 34 ░░░░░░░░░░ 0 ◄ the fix
"Team coordination tools such as SendMessage and the task management tools are always available to a teammate even when `tools` restricts other tools."
| Context the agent runs in | tools: has SendMessage? | Can it message? |
|---|---|---|
| Agent-Teams teammate | irrelevant | YES — force-granted by CC |
| Ordinary background run | no (revoked) | NO — the ambient hole, closed |
| Foreground subagent | yes + ListAgents | YES — addressed, not guessed |
src/settings/ork.settings.json + "isolatePeerMachines": true
Docs: "A true from any settings scope applies, so a checked-in project file can turn the requirement on but not off." A plugin-shipped true is therefore enforceable — every cross-machine send prompts the operator, even in bypassPermissions mode. Verified against cross-session-messaging.md directly, not from an agent's paraphrase.
guess-proof W2 ListAgents + "address, never guess" prose 19 fg agents
grant-proof W1 SendMessage revoked, NO exemptions 15/15 bg agents
scope-proof — teammates: force-grant inside teams only, 4 bg teammates
discovery via team config, never the roster
machine-proof W6 isolatePeerMachines: true every session
rot-proof W5 invariant test: the RULE, not a file list agent #37 covered