Stop routing threads to the "worth a comment" lane, and hide the ones left in the feed - #97
Merged
Merged
Conversation
… left in the feed A helper, or a thread where nobody asks, used to become a `context` lead whenever the product plainly fit. On the 442 leads labelled 2026-09-22 that lane showed 11 threads, none good and 5 bad, against 49% good and 13% bad for buyers, and it skipped both the score floor and the lead model that decide buyers. routeLead now returns a buyer or nothing. Context leads already stored stay in the database. A new one is hidden from the feed; one the user resolved or hid stays in that tab. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.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.
Why
On the 442 leads labelled 2026-09-22, with #96 deployed, the "worth a comment" (
context) lane showed 11 threads: none good, 6 weak, 5 bad. The buyer lane showed 146 threads, 49% good and 13% bad. Every one of the 11 got in asno_active_needwith fit 3. The lane also skips everything #96 added:OVER_THRESHOLDlet anycontextlead past the score floor, and the lead model only decides buyers.What
routeLead(src/lib/scan/gates.ts) returns"buyer"ornull. Helpers and threads where nobody asks are dropped.OVER_THRESHOLDinsrc/lib/leads.ts) hidescontextleads with statusnew. Stored ones are hidden, not deleted, so nothing is lost. Acontextlead the user already resolved or hid stays in that tab.LeadKindkeeps"context"for those stored rows, and the "Worth a comment" chip still marks them in the lead detail view.No rescore or migration is needed: the feed stops showing the old rows immediately, and new scans stop creating them.
Tests
550 passing. The routing tests now expect
nullfor a helper or a thread with no active need, even at fit 3. The feed tests cover a hidden newcontextlead and a resolved one that stays visible.🤖 Generated with Claude Code