Skip to content

fix(chat): Tighten passive thread reply routing#173

Merged
dcramer merged 2 commits intomainfrom
fix/passive-thread-routing
Apr 10, 2026
Merged

fix(chat): Tighten passive thread reply routing#173
dcramer merged 2 commits intomainfrom
fix/passive-thread-routing

Conversation

@dcramer
Copy link
Copy Markdown
Member

@dcramer dcramer commented Apr 9, 2026

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.

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>
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 9, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
junior-docs Ready Ready Preview, Comment Apr 10, 2026 2:21am

Request Review

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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.

@dcramer dcramer marked this pull request as ready for review April 10, 2026 02:19
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>
@dcramer dcramer merged commit 0485794 into main Apr 10, 2026
14 checks passed
@dcramer dcramer deleted the fix/passive-thread-routing branch April 10, 2026 02:31
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