Repository navigation
Closed
Labels
agent:webClaimed by Agent: WebClaimed by Agent: Webarea:frontendFrontend / Next.js / UIFrontend / Next.js / UIbugSomething isn't workingSomething isn't workingstatus:doneTask completed and verifiedTask completed and verified
Description
Found by the live sweep #1131 (Production c23ab85b, 2026-10-27, anonymous visitor).
Problem
The five per-criterion scores (Màn hình, Hiệu năng, Camera/Âm thanh, Pin, Đáng tiền) on the leaderboard, versus pages and the product-page rank chips are not measured: when a product has no real criterion ratings, apps/web/src/lib/leaderboard-engine.ts (parseRaw, around line 228) returns the star rating plus a small category heuristic delta, clamped to 5. Any product rated about 4.85 or more therefore scores 5.00 on almost every criterion, and the rankings become ties.
Evidence (desktop 1280 and phone 390):
- https://rate.vn/leaderboard, Điện thoại: 6 of 8 phones score "5.00/5.0"; the 1v1 cards read "Δ 0.00 / 5.0" and the home page shows "Ngang điểm" for all three battles. iPhone 15 (2023) ranks Merge dev into main: Shopee captcha-safe export + duplicate-guard + v1.0.33 #1 above iPhone 18 Pro Max.
- https://rate.vn/compare/apple-watch-series-11-46mm-gps-64gb-vs-apple-watch-ultra-2-64gb: both watches get 5.00/5.0 on Màn hình, Hiệu năng, Camera/Âm thanh and Pin (API
criteria_head_to_head, allwinner_slug: "tie"), and both have 0 stored reviews. - https://rate.vn/earbuds/samsung-galaxy-buds3-pro: rank chips "Merge dev into main: Shopee captcha-safe export + duplicate-guard + v1.0.33 #1 Màn hình (5.00/5.0)", "Merge dev into main: Shopee captcha-safe export + duplicate-guard + v1.0.33 #1 Camera / Âm thanh (5.00/5.0)", while the same page says "Chưa có điểm theo từng tiêu chí" and every criterion row reads "Chưa có".
So the site presents invented criterion scores as rankings and contradicts its own product page.
Proposed fix
- When a product has no real criterion data, return
nullfor that criterion instead of a derived number; show "Chưa có" in the leaderboard, versus table and rank chips, and rank by the combined score only (criterion sort lists only products with data). - Hide criteria that do not apply to the category (no "Màn hình" rank for earbuds; label "Camera / Âm thanh" per category).
- Keep the API fields but return
nulland document it in the OpenAPI spec. - Unit tests in
leaderboard-enginefor a product with no criteria data and for an earbud.
Acceptance
- No criterion score is shown for a product without criterion data, on any page or API.
- The Buds3 Pro page no longer shows "Merge dev into main: Shopee captcha-safe export + duplicate-guard + v1.0.33 #1 Màn hình".
Metadata
Metadata
Assignees
Labels
agent:webClaimed by Agent: WebClaimed by Agent: Webarea:frontendFrontend / Next.js / UIFrontend / Next.js / UIbugSomething isn't workingSomething isn't workingstatus:doneTask completed and verifiedTask completed and verified
Activity
JOY commentedon Oct 27, 2026
[Agent: Audit] Release: filed from the live sweep #1131; research only, no code started. Status Ready on Project #9. The next session may take it over with
node scripts/ops/board.mjs 1143 --status in-progress --agent <Nick> --take-over, citing this comment. Evidence was gathered on Productionc23ab85bon 2026-10-27; re-check the live numbers before fixing, since crawls change them.docs: decisions page takes the PO's answers and two more items
docs: one page of the decisions waiting on JOY (#1494)
JOY commentedon Oct 31, 2026
[Agent: Web] Takeover. JOY assigned this to the Rate Core PO on 2026-10-31, word for word: "Cho nhận #1143".
The
agent:auditlabel was the finder's label from the live sweep (#1131). The issue wasstatus:ready, with no live work on it.This implements decision D4 of the #1531 design (
Docs/Proposals/2026-10-31-criteria-stars-pros-cons.html):fix(web): weighted ranks list scored products only; earbuds drop scre…
fix(web): per-criterion scores are real or null, never derived from s…
JOY commentedon Oct 31, 2026
[Agent: Web] Live check after promote #1552: rate.vn serves
maind7ab2edc(/api/health: database ok)./leaderboardcriteria_scoresis allnullon every phone and earbud. Thecriterion=cameratab returns 0 products. The combined scores no longer carry invented criteria./leaderboard?cat=smartphones/leaderboard?cat=earbuds&criterion=screen/smartphones/apple-iphone-16-128gb/compare/apple-iphone-15-128gb-vs-apple-iphone-16-128gb/earbuds/samsung-galaxy-buds3-proFollow-up filed as #1553. These are not regressions in the scores; they are gaps the change exposed:
Note: "Ngang điểm" still appears on that versus page and on the home and leaderboard pairs (
5.00 VS 5.00). It comes from the main scores, since those phones' buyer ratings round to 5.0. Criteria do not cause it. It belongs to #1470's single-score question.fix(web): versus and deals offer a persona only with a scored criteri…