docs(backlog): record relevance.ts left-word-boundary false positives - #99
Conversation
Found during a manual review of #96/#97, which merged under an explicit no-CodeRabbit-review exception. CodeRabbit cannot review a merged PR — `@coderabbitai review` answers "Already reviewed" on #96 and "Pull request is closed" on #97 — so the manual pass was the substitute, and this is what it produced. Same bug class CodeRabbit caught on #96 (`tech` -> `\btech`, "Biotech Help"), but in terms predating that PR. 60 of 67 terms lack a leading `\b`; four are substrings of common words: lease\b <- P-lease "Please Note: Library Closed Monday" rental <- Pa-rental "Parental Controls: Keeping Kids Safe Online" tenant <- Lieu-tenant "Lieutenant Governor Reading Award Ceremony" resume <- P-resume-d "Presumed Innocent: Film Screening" Latent, not firing: please / parental / lieutenant / presum / resumed all return 0 matches across both the 395-title captured corpus and all 206 rows in public.events. Recorded rather than fixed because adding `\b` NARROWS the regex, so it needs the same corpus re-verification the `\btech` fix got — best folded into whichever PR next touches relevance.ts. Docs only. No code change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughThe change adds a backlog finding for four ChangesEvents crawler relevance audit
Estimated code review effort: 1 (Trivial) | ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
What & why
Records a real defect found during a manual review of #96/#97, both of which merged under an explicit no-CodeRabbit-review exception when the free-tier review quota ran out.
Worth stating up front: a retroactive CodeRabbit review of those two PRs is not obtainable. I tested it —
@coderabbitai reviewreturns⚠️ Already reviewedon #96 (its incremental system considers the earlier commit reviewed) and⚠️ Pull request is closedon #97. Not rate limits; the quota had cleared. So a manual pass was the substitute, and this entry is what it produced.Docs only. No code change.
The finding
Same bug class CodeRabbit itself caught on #96 —
tech→\btech, which was matching the tail of "Biotech Help" — but in terms that predate that PR. A sweep of all 67 terms inRELEVANCE_REfound 60 lack a leading\b. Most are harmless (no English word ends in "newcomer"). Four are substrings of common words:lease\bPlease Note: Library Closed MondayrentalParental Controls: Keeping Kids Safe OnlinetenantLieutenant Governor Reading Award CeremonyresumePresumed Innocent: Film ScreeningEach verified against the live filter, not reasoned about on paper.
Status: latent, zero live incidence
please,parental,lieutenant,presumandresumedeach return 0 matches across:public.eventsNothing is being wrongly ingested today.
Parental …is the likeliest to fire eventually since it's ordinary library programming — so worth fixing before it does, but not urgent.Why recorded rather than fixed here
Adding
\bnarrows the regex. The monotonicity argument that makes term additions safe ("a union alternative can only add keeps") does not apply — a narrowing edit can drop an existing keep. It needs the same corpus re-verification the\btechfix got, plus DROP fixtures inlib/relevance_test.ts.Best folded into whichever PR next touches
relevance.ts— e.g. the near-misses already recorded directly above this entry — rather than shipped as its own change.Placement
Deliberately a separate entry rather than folded into the existing
relevance.ts near-missessection. That section is about terms the filter wrongly drops (false negatives); this is the opposite direction — titles it wrongly keeps. Different failure mode, different fix shape. Placed adjacent so they read together.Verification
npx tsc --noEmit— cleandeno test supabase/functions/events-crawler/lib/relevance_test.ts— 2/2 passgit status—BACKLOG.mdis the only file touched🤖 Generated with Claude Code
Summary by CodeRabbit