feat(scoring): explain the open-issue spam gate in the score breakdown#1453
feat(scoring): explain the open-issue spam gate in the score breakdown#1453jaso0n0818 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 #1453 +/- ##
=======================================
Coverage 95.45% 95.45%
=======================================
Files 202 202
Lines 21766 21773 +7
Branches 7864 7867 +3
=======================================
+ Hits 20776 20783 +7
Misses 414 414
Partials 576 576
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review — held for maintainer review
⏸️ Held for maintainer review — Touches a guarded path — held for manual review Review summary
Nits — 6 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 `openIssueBreakdown` as a direct structural mirror of `openPrBreakdown`, filling the only missing slot in `explainScoreBreakdown`'s multiplier coverage. The implementation is correct: it reads the already-computed `openIssueMultiplier`, `openIssueCount`, and `openIssueThreshold` from the preview, delegates to the shared `bandForMultiplier`, and emits a properly shaped `ScoreMultiplierBreakdown`. Two test paths cover the new branch (within-allowance → `full`, over-threshold → `blocked`), the FORBIDDEN regex guard is applied, and the component is correctly appended to the pipeline before `sanitizePublicComment` runs. 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.
|
`explainScoreBreakdown` surfaces a lever for every score multiplier except the open-issue spam gate (JSONbored#808) — the issue-discovery sibling of the open-PR gate, which already has `openPrBreakdown`. A miner in the issue-discovery lane whose score is zeroed by too many concurrent open issues gets no breakdown row explaining why, or how to recover. Add `openIssueBreakdown`, mirroring `openPrBreakdown`: it reads the existing `openIssueMultiplier` and the `openIssueCount`/`openIssueThreshold` gate fields already on the preview, and emits a full/blocked band with a concrete lever (close or resolve excess open issues). No new inputs or score math — purely an explanation for a dimension the preview already computes.
62732c5 to
5aeaf93
Compare
What
explainScoreBreakdownproduces an improvement lever for every score multiplier — density, contribution bonus, label, issue, credibility, review penalty, open-PR — except the open-issue spam gate (#808). That gate is the issue-discovery-lane sibling of the open-PR gate (which already hasopenPrBreakdown), so the breakdown is asymmetric: a miner whose score is zeroed by too many concurrent open issues gets no row explaining why or how to recover.How
Adds
openIssueBreakdown, a direct mirror ofopenPrBreakdown. It reads values the preview already computes —scoreEstimate.openIssueMultiplierand thegates.openIssueCount/openIssueThresholdfields — and emits a full/blocked band with a concrete lever (close or resolve excess open issues). No new inputs, no score-math change, no schema change: purely an explanation for a dimension that already exists in the preview.Tests / coverage
fullband (existing fixture, no open issues).blockedband, the 'exceeds the current allowance' summary, and the close/resolve lever.