feat(signals): flag issues whose body only restates the title#1445
feat(signals): flag issues whose body only restates the title#1445jaso0n0818 wants to merge 1 commit into
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1445 +/- ##
=======================================
Coverage 95.45% 95.45%
=======================================
Files 202 202
Lines 21766 21777 +11
Branches 7864 7872 +8
=======================================
+ Hits 20776 20787 +11
Misses 414 414
Partials 576 576
🚀 New features to boost your workflow:
|
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ Gittensory review — safe to merge
✅ Approved — safe to merge Review summary
Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
Review detailsGenerated from public PR metadata and the diff. Advisory only; deterministic signals remain authoritative. Adds `title_only_restatement` as a third mutually-exclusive issue-triage signal. The mutual-exclusivity guard (`emptyBodyFinding || unfilledTemplateFinding ? null : ...`) is correctly ordered so the new signal only evaluates when both earlier signals are already ruled out. The `normalizeIssueText` helper is sound — Unicode-property regex with the `u` flag handles multibyte characters correctly, and the post-trim empty-length guard in `buildTitleRestatementIssueFinding` handles punctuation-only inputs. The `slopRisk` accumulation correctly adds `ISSUE_SLOP_WEIGHTS.titleRestatement`, and all new paths have full branch coverage per the tests. Nits (5)
🟩 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.
|
Add a third deterministic issue-slop signal (JSONbored#533) alongside the empty-body and unfilled-template findings: `title_only_restatement` fires when a non-empty issue body normalizes to exactly the title, i.e. the submitter pasted the title back as the description and added nothing. Conservative and high-precision, matching the issue-triage rubric: the body must reduce to the title with zero extra words after case- and punctuation-insensitive normalization, so any genuine added detail (steps, location, expected vs actual) clears it. The three issue signals stay mutually exclusive — restatement only evaluates once empty-body and unfilled-template are ruled out, since it requires a body with real prose.
1284cfa to
04884ed
Compare
What
Adds a third deterministic issue-slop triage signal (#533) next to the existing empty-body and unfilled-template findings:
title_only_restatementfires when a non-empty issue body normalizes to exactly the title — the submitter pasted the title back as the description and added nothing.Why
The issue-side triage in
buildIssueSlopAssessmentcatches an empty body and an unfilled template, but a body that merely restates the title slips through ascleantoday even though it carries no more information than the title alone. This is a common low-effort pattern the advisory triage should surface.How / precision
Full branch coverage on every added line; rubric markdown and weights updated in lockstep.