Skip to content

Invite dialog: filter routines/Echo, exclude participants, fix Jimmy's name (CL-6649) - #322

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-6649-invite
Aug 22, 2026
Merged

Invite dialog: filter routines/Echo, exclude participants, fix Jimmy's name (CL-6649)#322
TheGreatAxios merged 3 commits into
mainfrom
cl-6649-invite

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes the four bugs in CL-6649 (owner critique, urgent):

  1. Routines leaking in as agents. The invite picker's isConversationalAgentDefinition checked !isAutomatableWorkflowName instead of isConversationalWorkflowName. Echo and "Last 30 days research report" are both non-automatable and non-conversational, so the old check let both through as if they were real chat agents. Fixed at the data layer (apps/hub/src/index.ts), matching the same flag the sidebar's DM listing already uses correctly.
  2. Jimmy's row showed his description, not his name. The quick-create row rendered only JIMMY_QUICK_CREATE.description ("Searches Giphy and replies with a GIF") — his name never appeared. Now renders "Jimmy" prominently with a "by Corbits" attribution, description as a secondary line; the general row list gets the same name/fallback treatment.
  3. Myra offered for invite while already in the room. /workbenches/:id/invitable now resolves the room's current agent participants back to their definition ids and excludes them from the listing.
  4. Echo appears at all. Addressed for every real invite/DM surface via fix Notifications: approvals, failures, and mentions as durable mail #1 (Echo is conversational: false, so it's now excluded everywhere the picker is used). Full deletion of Echo's seeding is tracked separately as CL-6668 — packages/hub-client/test/seed.test.ts has 30+ references treating Echo as its generic single-workflow test fixture, and safely reworking all of them didn't fit this timebox.

Deferred (design items, scoped down per the ticket's own instructions)

  • Row identity (avatar, full first-party attribution for every row) — only Jimmy's row got explicit attribution; general rows still lack avatars.
  • Perceived speed on invite — not touched this pass.
  • Guided resources on invite — owner reversed this mid-review: instead of a post-invite connect-pending card, credentials must be collected before the agent joins (pick agent → guided credential step → confirm → agent joins). Tracked as CL-6669; the old room-card design does not ship here.

Follow-ups filed

  • CL-6668 — delete Echo entirely (stop seeding it into real tenants)
  • CL-6669 — invite dialog credentials-first flow for under-equipped agents

Test plan

  • WORKBENCH_CHECK_SINCE=origin/main bun run typecheck — pass
  • WORKBENCH_CHECK_SINCE=origin/main bun run test — pass (new tests added for filtering, participant exclusion, Jimmy's row)
  • bun run lint — pass
  • Live browser verification on :3000 (not completed this pass)

…my's row name

CL-6649: pins the exact trap that let a routine's delivery workflow and
Echo leak into the invite-agent picker (non-automatable but also
non-conversational), covers excluding an already-present participant
from /workbenches/:id/invitable, and covers the quick-create Jimmy row
rendering his name instead of his description.
The invite picker's conversational-agent ruling checked
!isAutomatableWorkflowName, not isConversationalWorkflowName — a
non-automatable, non-conversational catalog entry (a routine's delivery
workflow like "Last 30 days research report", the Echo wiring check)
slipped through as if it were a real chat agent. Switch to the flag
that actually means "conversational", matching the sidebar's own DM
listing.

/workbenches/:id/invitable also excluded nothing: a definition already
resident in the room (e.g. Myra) was re-offered for invite. Resolve the
room's current agent participants back to their definition ids and
drop them from the listing.

Echo's e2e wiring-check tests resolved its definition id through this
same (now correctly filtered) endpoint; point them at the
agent-definitions by-name lookup instead, since Echo is intentionally
no longer conversational/invitable.
…escription

The quick-create Jimmy row rendered only his description ("Searches
Giphy and replies with a GIF") and never his name at all. Render the
name prominently with a "by Corbits" attribution for first-party
agents, and the description as a secondary line — same treatment for
every other row's display name/slug fallback.
@TheGreatAxios
TheGreatAxios merged commit e9dbccd into main Aug 22, 2026
5 checks 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