Repository navigation
Feature: feat/panel to dev - #479
github-actions[bot] wants to merge 1 commit into
Conversation
Ranking and dispatch have to be extractable later, so they live under judging/ as pure functions with no host imports. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit aaad2da. Configure here.
| } | ||
| } | ||
| return out; | ||
| } |
There was a problem hiding this comment.
Pairwise ranking collapses on tied rubrics
Medium Severity
scaleStrengths maps Bradley-Terry strengths onto the rubric min/max. When those anchors are equal, every compared project is assigned that same value, so pairwise outcomes do not affect score or placement. Rubric ties are common after z-normalization of single-vote judges, which is the case pairwise blending is meant to resolve.
Reviewed by Cursor Bugbot for commit aaad2da. Configure here.


Automated PR tracking changes from
feat/panelintodev.Note
Low Risk
Additive documentation and a new tested library package; legacy judging in
packages/apiis untouched until a later cutover.Overview
Introduces Panel, a standalone hackathon judging product under
judging/, with a long-formPLAN.md, MIT license, README, and ADRs for a standalone boundary and a pure@panel/core.Phase 0 deliverable: new workspace package
@panel/core— zero runtime deps, ESLintno-restricted-importsblocking host/@queryimports in library code — implementing portable judging logic: phase gating, rubric validation, visit timers, table distance (zones/coordinates), dispatch (coverage/uncertainty), ranking (z-score, Bayesian shrink, optional Bradley–Terry blend), uncertainty helpers, and shared event log / outbox / WebSocket channel types. Logic is ported from today’s club judge stack with tests assertingrank()matches the legacy pipeline atpairwiseWeight = 0.Monorepo wiring adds
judging/*topnpm-workspace.yamland includesjudging/corein the rootpnpm testscript. No@panel/server, DB, web UI, or changes to existingpackages/apijudge routers yet.Reviewed by Cursor Bugbot for commit aaad2da. Bugbot is set up for automated code reviews on this repo. Configure here.