Migrations, Track Selection and HackBot Knowledge updates#535
Migrations, Track Selection and HackBot Knowledge updates#535michelleyeoh merged 15 commits intomainfrom
Conversation
|
Closes #536 |
There was a problem hiding this comment.
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
tableNumbertype, 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.
|
Panel judge assignment now prioritizes domain specialists over unmatched judges. The bug:
Eg:
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. |
michelleyeoh
left a comment
There was a problem hiding this comment.
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?

Migrations Fixes:
Panels:
Prize information:
Test Data:
Closes #528