feat(miner): add metadata-only opportunity ranker pipeline - #2806
Conversation
136bd75 to
935f8d4
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2806 +/- ##
==========================================
+ Coverage 96.16% 96.19% +0.03%
==========================================
Files 248 253 +5
Lines 27574 27750 +176
Branches 10014 10086 +72
==========================================
+ Hits 26517 26695 +178
+ Misses 434 433 -1
+ Partials 623 622 -1
🚀 New features to boost your workflow:
|
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-03 20:24:13 UTC
⏸️ Suggested Action - Manual Review Review summary Nits — 5 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.
|
Compose deterministic engine signals from fan-out issue metadata and rank candidates locally with the shared opportunity ranker, including freshness and competition parity helpers for local dup-risk estimation. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…ches Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the engine package node:test file so codecov patch only gates test/unit coverage. Invalid or missing issue timestamps now floor freshness instead of ranking malformed metadata first. Summary skippedInvalid counts malformed rows only, not deduped valid pairs. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…anches Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…patch Co-authored-by: Cursor <cursoragent@cursor.com>
…nominator Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2ef6424 to
539236b
Compare
Summary
potential,feasibility, batch dup risk) plus freshness/competition parity helpers.rankMetadataOpportunitiesso fan-out issue metadata can be sorted with the shared opportunity ranker.@jsonbored/gittensory-minerrankCandidateIssues/rankCandidateIssuesWithSummarywrappers for the metadata-only discovery → rank path.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.md.Validation
npm run test:cilocally — Node.js is not installed on the contributor machine; CI will run the full gate on push.Safety
UI Evidence
Not applicable — engine + miner package only.
Notes
fetchCandidateIssuesfan-out (feat(miner-discovery): cross-repo GitHub search/listing fan-out (metadata-only) #2307) andrankOpportunities(feat(miner-discovery): pure ranker function — potential x feasibility x laneFit x freshness x (1-dupRisk) #2302) without duplicating source fetch behavior.