feat(scoring): explain issue-discovery validity floor in score breakdown#1979
Conversation
Surface the upstream MIN_VALID_SOLVED_ISSUES / MIN_ISSUE_CREDIBILITY gate in explainScoreBreakdown with the same neutral/full/blocked pattern used for merged-PR history, so linked-issue previews show an actionable lever. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-01 04:26:22 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 7 non-blocking
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.
|
JSONbored
left a comment
There was a problem hiding this comment.
Review comment mentions things I'd like fixed before I can approve this:
The main remaining risk is edge coverage: partial issue-history inputs and inactive linked-issue inputs are not exercised, so the new wording relies on upstream invariants that are not made explicit here.
Summary
Adds an
issueDiscoveryHistoryMultipliercomponent toexplainScoreBreakdown, matching the existing merged-PR history breakdown pattern.When linked-issue scoring is active and contributor history is observed, miners now see whether their valid-solved count and issue credibility meet the upstream floors (
MIN_VALID_SOLVED_ISSUES,MIN_ISSUE_CREDIBILITY). When history is unobserved, the breakdown stays neutral and explains that the floor is not enforced yet.Why
buildScorePreviewalready applies the issue-discovery validity multiplier and emitsissue_discovery_validity_floorblockers, but the score breakdown never explained that gate. This closes the same visibility gap that #1453 and recent merged-history breakdown work addressed for other floors.Test plan
npx vitest run test/unit/score-breakdown.test.ts