Problem
/api/ranked-candidates (backed by packages/loopover-miner/lib/ranked-candidates.js) already exposes a full per-issue discovery breakdown (laneFit/freshness/potential/feasibility/dupRisk) — real, working data — but was built for the browser extension's opportunity badge, and no miner-ui dashboard route consumes it.
Area
apps/loopover-miner-ui/.
Proposal
Add a dashboard route/view consuming /api/ranked-candidates.
⚠️ Required pattern — read apps/loopover-miner-ui/src/routes/run-history.tsx and its vite-*-api.ts backing plugin before starting (or another existing data-driven miner-ui route, if a closer match exists — check the routes directory). The new route's data-fetching, loading-state, and layout conventions must match an existing route, not invent a new fetching/rendering approach.
Deliverables
Test Coverage Requirements
apps/loopover-miner-ui/** — match this package's existing route test conventions.
Resources
Boundaries
Read-only view of already-existing data — no changes to the ranking logic itself.
Contributor-eligible. Mirror an existing route's exact conventions — name which one in the PR.
Problem
/api/ranked-candidates(backed bypackages/loopover-miner/lib/ranked-candidates.js) already exposes a full per-issue discovery breakdown (laneFit/freshness/potential/feasibility/dupRisk) — real, working data — but was built for the browser extension's opportunity badge, and no miner-ui dashboard route consumes it.Area
apps/loopover-miner-ui/.Proposal
Add a dashboard route/view consuming
/api/ranked-candidates.Deliverables
/api/ranked-candidatesdata, matching an existing miner-ui route's exact structural conventions (name the specific route file mirrored, in the PR description).Test Coverage Requirements
apps/loopover-miner-ui/**— match this package's existing route test conventions.Resources
packages/loopover-miner/lib/ranked-candidates.js,/api/ranked-candidatesapps/loopover-miner-ui/src/routes/run-history.tsx(a concrete existing pattern to mirror)Boundaries
Read-only view of already-existing data — no changes to the ranking logic itself.
Contributor-eligible. Mirror an existing route's exact conventions — name which one in the PR.