fix(chat): Tighten passive thread reply routing#173
Merged
Conversation
Use transcript-aware routing signals for subscribed-thread replies so Junior only treats clear turn-backs as implicit asks. Replace the old attachment-only and lexical follow-up shortcuts with narrower guards, recent-thread context, and expanded coverage for acknowledgments, terse clarifications, and same-topic side conversations. Add a per-scenario eval reply timeout override and give the GitHub issue-creation eval a larger budget. That removes the bad reporter detour and targets the one known slow eval path without broadening the whole suite. Co-Authored-By: Codex GPT-5 <codex@openai.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6cdc4e4. Configure here.
Address the review regressions in subscribed-thread passive routing. Attachment-bearing follow-ups should still reach the classifier even when the text alone looks like an acknowledgment or a vague side-chat request. This also removes the impossible one-human-after-Junior threshold guard and locks the intended behavior in focused unit and integration regressions. Co-Authored-By: Codex GPT-5 <codex@openai.com>
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.

Tighten passive reply routing for subscribed Slack threads.
The passive gate was still keying too much on lexical overlap and direct self-reference, which caused two failure modes in practice: Junior would jump into same-topic human side conversations, and it would miss terse follow-ups that were clearly turning the thread back to Junior.
This changes the subscribed-thread router to rely on thread geometry plus a small set of high-precision guards. It now reasons about who last held the floor, how many human turns have happened since Junior replied, whether a message is just an acknowledgment or opt-out, and whether the latest message clearly turns back to Junior. Attachment-only passive messages now go through the router instead of forcing a reply, and the prompt/tests/evals are updated around those contracts.
I considered broader lexical cues and suite-wide eval serialization, but both were the wrong tool here. The final patch keeps only narrow deterministic guards and adds a per-scenario eval reply-timeout override for the one known slow GitHub issue-creation eval instead of broadening the whole suite budget.