Repository navigation
fix(conversations): Add participants only when they start a Turn - #2571
Merged
Merged
Conversation
Co-Authored-By: David Cramer <23610+dcramer@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
4 screenshot changes — 4 changed · 0 added · 0 removed Review screenshots in Frameshift
|
dcramer
approved these changes
Nov 2, 2026
Co-Authored-By: David Cramer <23610+dcramer@users.noreply.github.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Anyone whose message landed in a Slack thread became a conversation participant. That gave them feed membership, archive state, and private-conversation access, and put them in the participant list. This happened even when Junior only stored their message as context: thread backfill, skipped passive messages, or
passive-routingoff.The event store now adds a participant only when a
turn_startedevent names one of that person's messages as Turn input. The root actor rule does not change. Message events still keep their author identity, so attribution is the same.The dashboard participant list reads message authors through the participants table, so it follows the same rule. System identities have no participant rows, so the explicit
kind != systemfilter is no longer needed.A mention from a different person during a running Turn is queued as its own follow-up Turn (the default
follow_upmode), so that person joins. The Slack steering eval now checks this through the dashboard participant list.Known gaps:
!!override, orJUNIOR_CROSS_ACTOR_MID_RUN_MODE=steer, puts another person's message into the running Turn. It is not inturn_started, so that person does not join.via @dcramer.
--
View Session [Sentry]