docs(turn-loop.md): document get_loose_ends agent parameter scoping

Add clarification for the agent parameter: omit to list own threads,
pass agent name for direct children (always accessible), or query_agent_state
capability for non-children. Note that hive-wide '*' query unavailable
on agent socket.
This commit is contained in:
lexis 2026-06-04 18:38:19 +02:00
commit 13fe5ef9d3

View file

@ -315,13 +315,17 @@ ttl_seconds?, to?)`, `answer(id, answer)`.
- `answer` — respond to a `question_asked` event routed to this
agent. Strict authorisation: only the declared target can answer.
**Inbox** (`inbox` group): `get_loose_ends()`,
**Inbox** (`inbox` group): `get_loose_ends(agent?)`,
`cancel_loose_end(kind, id)`, `remind(message, delay_seconds? |
at_unix_timestamp?)`, `request_next_turn()`.
- `get_loose_ends` — list pending questions (asked/owed) and
- `get_loose_ends(agent?)` — list pending questions (asked/owed) and
scheduled reminders. Each row carries an id + kind for
`cancel_loose_end`.
`cancel_loose_end`. Omit `agent` to list your own threads. Pass
`agent: "<name>"` to inspect a direct child agent (always
accessible per topology enforcement); non-children require the
`query_agent_state` capability. The `"*"` hive-wide query is not
available on the agent socket.
- `cancel_loose_end` — withdraw a `question` (posts `[cancelled by
<self>]`), hard-delete a `reminder`, or cancel a pending `approval`
row. Agents may only cancel rows they own; the `approval` kind is