fix: correct auto-accept invites claim — daemon wakes agent, agent decides

The daemon does not call join_room_by_id. It fires a wake and writes
to mcp-loose-ends/matrix.json; the agent calls list_invites + join_room.

Replace the inaccurate 'Auto-accept invites' paragraph with 'Invite
wakes' describing the actual flow. Merge the pending-invites paragraph
into a single accurate block.
This commit is contained in:
iris 2026-06-05 18:35:33 +02:00 committed by mara
commit 9a19919943

View file

@ -60,19 +60,17 @@ The same per-room breakdown is included in the `UnreadMatrix` entry
returned by `get_loose_ends` so unread rooms surface in the
loose-ends list between turns.
**Auto-accept invites**: when the daemon's sync loop receives an
`m.room.member` invite event for the agent's own user, it immediately
calls `join_room_by_id` and fires a wake so the agent learns about the
new room. This closes the gap where invites (e.g. the hive Matrix Space
created by hive-c0re on boot) would sit in the `invited_rooms()` list
indefinitely until the agent called `join_room` manually.
**Invite wakes**: when the daemon's sync loop receives an
`m.room.member` invite event, it writes the invite to
`mcp-loose-ends/matrix.json` and fires a hyperhive wake. The daemon
does **not** auto-join — the agent calls `list_invites` to see pending
invites and `join_room` to accept (or ignore).
**Pending invites as loose ends**: any remaining pending invites (not
yet auto-accepted, e.g. delivered while the daemon was down) are written
to `mcp-loose-ends/matrix.json` and appear in `get_loose_ends` output
as `[matrix] pending invite: <room> — use list_invites to see,
join_room to accept`. The file is updated atomically after each invite
arrives or a room is joined.
**Pending invites as loose ends**: pending invites are written to
`mcp-loose-ends/matrix.json` and appear in `get_loose_ends` output as
`[matrix] pending invite: <room> — use list_invites to see, join_room
to accept`. The file is updated atomically after each invite event
and after each `join_room` call clears the entry.
See [`docs/matrix.md`](../matrix.md) for the homeserver setup,
provisioning flow, and federation config.