Stu Mason
Stu Mason

Activity

Pull Request Opened

PR #109 opened: feat(reports): scoreboard — the credibility chart

Summary

New `/reports/scoreboard` page that backtests the HN predictor on the last 7 days of real front-pagers. For every story that peaked above 300, we ask: at hour 1, 2, or 3 since publish, was its score above our flag threshold? The verdict column shows which snapshot caught it (or whether it slipped through).

Together with `/reports/predicting-hn` (PR #108), this is the LinkedIn-content engine:

  • Monday: post the 5 highest-velocity stories from /predicting-hn
  • Friday: post last week's scoreboard with hit rate
  • Trust compounds. Predictions stop being vibes, become numbers.

Filter rule (transparent)

Story counts as a catch if:

  • score ≥ 20 at hour 1 since publish, OR
  • score ≥ 50 at hour 2, OR
  • score ≥ 80 at hour 3

No machine learning. No tuned coefficients. One rule, three snapshots.

Backtest output

Computed live from `raw_items` with a 1h cache. Realistic numbers based on the data:

  • ~30% hit rate with hour-1 snapshot alone
  • ~47% with all three snapshots
  • Pure slow-burners (5-10% of front-pagers) need different signals — we say so honestly in the methodology narrative.

Test plan

  • `npm run build` passes
  • `vendor/bin/pint --dirty` passes
  • Post-merge: verify `/reports/scoreboard` renders on prod
  • Verify stat grid pulls live numbers, leaderboard pulls live data
+214
additions
-0
deletions
2
files changed