Skip to content

Migrations, Track Selection and HackBot Knowledge updates#535

Merged
michelleyeoh merged 15 commits intomainfrom
migrations-fixes
May 8, 2026
Merged

Migrations, Track Selection and HackBot Knowledge updates#535
michelleyeoh merged 15 commits intomainfrom
migrations-fixes

Conversation

@ReehalS
Copy link
Copy Markdown
Member

@ReehalS ReehalS commented May 8, 2026

Migrations Fixes:

  • Migration: Teams: Make tableNumber back to a string and update tracks.
  • Migration: Panels: Add a migration for the panels for new 2026 data.
  • Validation Data: Add judgeVisibleTracks and panelTracks to validation data.

Panels:

  • Add "Best Hack for Social Good" to the panels creation.
  • Made a new "panelTracks" in tracks.ts which is judgeVisibleTracks + Best Hack for Social Good
  • Fixed this in panel creation as well

Prize information:

  • Added submission information for Tracks 1-3 and Opt in prizes to the project info page.
  • Update HackBot knowledge with above information as well.
  • Update HackBot with new tracks information.

Test Data:

  • Added Test data with 10 teams and 2026 tracks.

Closes #528

@ReehalS
Copy link
Copy Markdown
Member Author

ReehalS commented May 8, 2026

Closes #536

@ReehalS ReehalS linked an issue May 8, 2026 that may be closed by this pull request
@ReehalS
Copy link
Copy Markdown
Member Author

ReehalS commented May 8, 2026

Added a preview table for the CSV ingestion with all the ingested items, errors and team contacts listed out neatly:

Screenshot 2026-05-08 at 12 43 00 AM

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates 2026 track/panel data and validation, improves the admin CSV ingestion UX by surfacing processed team rows + contact info, and updates hacker-facing submission guidance (plus HackBot knowledge) around Devpost track selection (Tracks 1–3 vs Opt-in Prizes).

Changes:

  • Add/adjust MongoDB collection validators and track sets for 2026 (teams tableNumber type, panels track list).
  • Extend CSV validation to collect per-row contact info and render a processed-teams table in the admin CSV page.
  • Update submission instructions + HackBot knowledge to clarify HackDavis tracks vs Opt-in prizes; add 2026 test CSV data.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
migrations/20260507000000-fix-table-number-type.mjs Updates teams validator to require tableNumber as a string.
migrations/20260506120000-update-panels-tracks.mjs Updates panels validator to restrict track to the new panelTracks list.
migrations/20260506000000-add-2026-tracks.mjs Simplifies teams validator migration to use the current tracks list for both up/down.
app/(pages)/admin/csv/page.tsx Adds processed-teams table rendering and adjusts layout padding.
app/(pages)/admin/_components/CsvIngestion/ProcessedTeamsTable.tsx New client component to view/search/sort processed team rows with expandable details.
app/(pages)/(hackers)/_components/ProjectInfo/SubmissionInfo/SubmissionSteps/FillOutDetails/FillOutDetails.tsx Updates submission text to clarify track selection rules.
app/(pages)/(hackers)/_components/ProjectInfo/SubmissionInfo/SubmissionSteps/DevpostSubmission/SubmissionTips.tsx Updates checklist items to reflect HackDavis tracks vs Opt-in prizes.
app/(api)/_utils/csv-ingestion/csvAlgorithm.ts Adds rowContacts to validation output for richer admin UX.
app/(api)/_datalib/panels/createPanels.ts Switches panel creation validation to use panelTracks.
app/(api)/_data/test_projects_2026.csv Adds 2026 CSV fixture data (10 teams).
app/_data/tracks.ts Adds and exports panelTracks (judge-visible tracks + Social Good).
app/_data/hackbot_knowledge_import.json Expands HackBot knowledge around submission steps and track selection.
app/_data/db_validation_data.json Adds judgeVisibleTracks and panelTracks arrays for validation/migrations.
tests/datalib/panels/createPanels.test.ts Updates mocks to include panelTracks.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread app/(api)/_datalib/panels/createPanels.ts
Comment thread app/(pages)/admin/_components/CsvIngestion/ProcessedTeamsTable.tsx Outdated
Comment thread app/(pages)/admin/_components/CsvIngestion/ProcessedTeamsTable.tsx
Comment thread migrations/20260507000000-fix-table-number-type.mjs Outdated
@ReehalS ReehalS self-assigned this May 8, 2026
@ReehalS
Copy link
Copy Markdown
Member Author

ReehalS commented May 8, 2026

Panel judge assignment now prioritizes domain specialists over unmatched judges.

The bug:

Array.indexOf returns -1 when the item isn't found, which is less than any valid index (0, 1, 2…), so judges with no matching specialty were sorting to the front and getting picked first over actual domain experts. Fixed by mapping -1 to Infinity so unqualified judges always fall to the back of the sort rather than the front.

Eg:
If a panel is track AIML:

Judge specialties indexOf("aiml")
Alice ["aiml", "swe"] 0 = best match
Bob ["swe", "aiml"] 1 = secondary match
Carol ["design", "business"] -1 = no match

IndexOf puts Carol, who is completely unrelated to the front of the queue.

Mostly a non issue for us since every judge will have every track but in case they don't have all of them for whatever reason, it won't result in a bad match.
Edit: Technically possible because you can for some reason delete a specialty for a judge from admin panel

Copy link
Copy Markdown
Contributor

@michelleyeoh michelleyeoh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm
question - what is rowContacts? is that a new row in the devpost csv that is new? Is ProcessedTeamsTable a csv download of success/erorrs?

@michelleyeoh michelleyeoh merged commit a804110 into main May 8, 2026
2 checks passed
@michelleyeoh michelleyeoh deleted the migrations-fixes branch May 8, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migration Fixes Add Devpost track submission information

3 participants