feat(signals): flag issues whose body only restates the title - #1445
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.50% 95.51%
=======================================
Files 204 204
Lines 22018 22029 +11
Branches 7957 7965 +8
=======================================
+ Hits 21029 21040 +11
Misses 413 413
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 a well-scoped third deterministic issue-triage signal: `title_only_restatement` fires when a non-empty body normalizes via Unicode-aware `/[^\p{L}\p{N}]+/gu` stripping to exactly the title. The mutual-exclusivity chain is correctly ordered — restatement only evaluates after both emptier signals are ruled out — and the `slopRisk` arithmetic correctly adds the new weight. Tests drive both the orchestrator path (`buildIssueSlopAssessment`) and the builder in isolation with thorough null-branch coverage. `validate` and `lint` are failing on this commit for a cause not visible in the diff and must be resolved before merge. 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.