Skip to content

feat(agent): introduce itself and the room's topic when invited - #57

Merged
arthware-dev merged 1 commit into
mainfrom
feat/agent-join-greeting
Aug 2, 2026
Merged

feat(agent): introduce itself and the room's topic when invited#57
arthware-dev merged 1 commit into
mainfrom
feat/agent-join-greeting

Conversation

@arthware-dev

Copy link
Copy Markdown
Contributor

Being added to a room is when a family is actually looking at the agent and wondering what it does. It joined in silence, so the answer was nothing.

On an invite it now takes one ordinary turn. In a topic room: who it is, what the topic is about, how many todos are open and one or two of them, and that it can add or tick items off. Anywhere else, a DM included: who it is and what it can actually do. The topic is resolved before the turn rather than guessed during it.

The overview already exists as prose in the brain projection and the per-turn briefing already names the room's topic, so nothing new is fetched and no room history is read.

Stacked on #56 (same three files); base retargets to main once that merges.

@arthware-dev

Copy link
Copy Markdown
Contributor Author

Verified on the demo rig against a real topic room, seeded through the front door: Topic: Camping created, two notes sent as homer and marge, archivist filed them (2 captures, 2 auto-extracted todos), topic page generated, then a genuine Matrix invite.

Topic room:

I'm Stacky, the family agent. This room is about planning camping trips, and there are 2 open todos: replacing the broken pole for the big tent and getting a sleeping bag for Bart. I can add items, tick them off, or change them whenever you need.

DM:

I'm Stacky, the family's agent. I can answer questions from the family's own notes and documents, and keep topic todo lists.

Three defects found by running it, each now pinned by a test:

  1. DM dead end. Asked to describe a topic that does not exist, the model answered "I'm Stacky, the family bot. Let me check what this room is about." and never spoke again. Fixed by resolving the topic before choosing the prompt. Same failure would have hit a brand-new topic room whose page has not been generated yet — covered too.
  2. Double post. The model narrated "let me check how many and what they are" as its own message, so the family saw it introduce itself twice.
  3. Sign-off. It ended with "Let me know if you'd like help with anything else!" — the register the voice rules exist to prevent.

Unit lane: 2193 passed, 8 skipped. ruff clean.

Known gap, deliberately not addressed here: stack messages join force-joins via the Synapse admin API and bypasses the invite flow, so a bot added that way gets no greeting. MicroBot has the same limitation. Greeting on becoming a member would cover both but needs a first-run guard or every existing room is greeted at once — same shape as the cursor anchor in #53, and worth its own change.

Being added to a room is when a family is actually looking at the agent
and wondering what it does. It joined in silence, so the answer was
nothing.

On an invite it now takes one ordinary turn. In a topic room: who it is,
what the topic is about, how many todos are open and one or two of them,
and that it can add or tick items off. Anywhere else, a DM included: who
it is and what it can actually do. The topic is resolved before the turn
rather than guessed during it, because asked to describe a topic that
does not exist the model says "let me check what this room is about" and
then stops, which is a worse first impression than staying quiet.

The overview already exists as prose in the brain projection and the
per-turn briefing already names the room's topic, so nothing new is
fetched and nothing is recited from a stale snapshot.
@arthware-dev
arthware-dev force-pushed the feat/agent-join-greeting branch from a83ddc4 to 9632264 Compare August 2, 2026 13:01
@arthware-dev
arthware-dev changed the base branch from feat/agent-name-trigger to main August 2, 2026 13:01
@arthware-dev
arthware-dev merged commit d271e14 into main Aug 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant