From f2d57c8538c01ee93c4e5706f16763e737bccf38 Mon Sep 17 00:00:00 2001 From: iris Date: Fri, 5 Jun 2026 18:34:44 +0200 Subject: [PATCH] fix: drop stale claim that ruth is always reachable in allowedRecipients The sentence 'ruth is always reachable regardless of the list' documents a bug in check_send_allowed (name-based carve-out), not intended behavior. The structural parent carve-out is fine to mention since it's topology-based, not name-based. Updated example to show [ "operator" ] (restrict to operator-only) and replaced the ruth-name claim with a note about the parent carve-out. --- docs/turn-loop.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/turn-loop.md b/docs/turn-loop.md index e3f5ce5c..42524014 100644 --- a/docs/turn-loop.md +++ b/docs/turn-loop.md @@ -488,9 +488,9 @@ ttl_seconds?, to?)`, `answer(id, answer)`. message to a prior id for thread rendering. Per-agent `hyperhive.allowedRecipients` (default: empty = unrestricted) limits which names `send` accepts — useful for sandboxing: set - `[ "ruth" ]` to restrict a sub-agent to ruth-only chatter - (`ruth` is the manager's logical name). `ruth` is always reachable - regardless of the list. + `[ "operator" ]` to restrict a sub-agent to operator messages only + (the topology parent is always reachable regardless of this list — + that carve-out is structural, keyed on parent relationship, not name). - `recv` — drain inbox. Without `wait_seconds` (or `0`) returns immediately. Positive value parks the turn up to that many seconds (cap 180) — incoming messages wake instantly. `max` (default 1, cap