fix(db): ignore closing keywords inside inline code spans - #4039
Conversation
extractLinkedIssueNumbersWithOverflow scanned raw PR body text for "Closes #N"-style keywords with no regard for markdown code spans. This repo's own PR template checklist contains the literal example text "(e.g. `Closes #123`)", so every PR that keeps the unmodified checklist item spuriously linked to issue #123 -- exactly the kind of linked-issue misdetection this review stack needs to get right. GitHub's own native closing-keyword linker does not treat backtick-wrapped text as a real directive either, so stripping inline code spans before scanning also brings this closer to GitHub's actual behavior.
|
Superagent did not find any vulnerabilities or security issues in this PR. |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-07 12:43:08 UTC
⏸️ Suggested Action - Manual Review
Review summary Blockers
Nits — 4 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4039 +/- ##
=======================================
Coverage 93.58% 93.58%
=======================================
Files 382 382
Lines 35532 35533 +1
Branches 13028 13028
=======================================
+ Hits 33251 33252 +1
Misses 1618 1618
Partials 663 663
🚀 New features to boost your workflow:
|
Port inline code-span stripping and qualified owner/repo#N scoping from repositories.ts (JSONbored#4039/JSONbored#3862) into the MCP local-branch mirror and the predicted-gate engine so template checklist text does not spuriously link issue JSONbored#123 and branch-analysis gate predictions match server preflight. Co-authored-by: Cursor <cursoragent@cursor.com>
Port inline code-span stripping and qualified owner/repo#N scoping from repositories.ts (JSONbored#4039/JSONbored#3862) into the MCP local-branch mirror and the predicted-gate engine so template checklist text does not spuriously link issue JSONbored#123 and branch-analysis gate predictions match server preflight. Co-authored-by: Cursor <cursoragent@cursor.com>
Port inline code-span stripping and qualified owner/repo#N scoping from repositories.ts (JSONbored#4039/JSONbored#3862) into the MCP local-branch mirror and the predicted-gate engine so template checklist text does not spuriously link issue JSONbored#123 and branch-analysis gate predictions match server preflight. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
extractLinkedIssueNumbersWithOverflowscanned raw PR body text for closing keywords (Closes #N,Fixes #N, etc.) with no regard for markdown inline code spans.(e.g. \Closes feat(data): add contributor reconciliation reports #123`)`, so every PR that keeps that checklist line unedited spuriously linked to issue feat(data): add contributor reconciliation reports #123 — discovered while triaging why several unrelated JSONbored PRs were flagged with an "issue overlap" review blocker.No issue: found as a side effect of auditing other PRs' review-panel blockers; a one-line regex fix with a direct regression test didn't seem worth filing separately.
Test plan
npm run typecheck— cleannpx vitest run test/unit/db-parsers.test.ts— 44/44, including a new regression test reproducing the exact template-checklist false positive