The Staffing page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/SdazaP/ruTournament/llms.txt
Use this file to discover all available pages before exploring further.
/dashboard/tournament/:id/staffing) is where you designate which competitors will serve as competition staff during each category. Every WCA competition requires people to fill three operational roles alongside the competitors who are actively solving, and ruTournament tracks those assignments at the per-category level so they can be automatically respected when generating groups and schedules. Staff data is stored on each CompetitorLocal record using two fields: roles (a global list of capabilities) and assignedRoles (a Record<string, string[]> mapping category ID to an array of role strings).
The three roles
Judge
Calls the competitor to their station, monitors the full inspection and solve attempt to ensure WCA regulations are followed, and signs off on the official result. Judges start the timer after inspection and halt the attempt if a regulation violation occurs.
Runner
Moves competitors and puzzles between the waiting area, the scrambling table, and the solving station. Runners keep the competition floor flowing by delivering covered puzzles to judges and guiding competitors to their assigned seats.
Scrambler
Applies the official scramble sequence to the puzzle before each solve attempt. Scramblers work under a cover to prevent competitors from seeing the scrambled state in advance, ensuring a fair and unbiased competition.
Assigning roles
The Staffing page displays a category selector in the header. Use it to switch between the tournament’s categories — the table below updates to show all competitors scoped to the selected category. To make changes, click “Activar Edición”. While Edit Mode is active:- The competitor table shows three columns: Competitor name, Competing in this category? (a Yes/No badge), and Role assignments.
- Only competitors enrolled in the selected category have role checkboxes. Competitors not enrolled in the category see an “No participa en esta categoría” label.
- Toggle the Judge, Runner, and Scrambler checkboxes independently. A competitor can hold any combination of roles in the same category.
competitor.roles— the competitor’s global capabilities across the whole tournament (e.g.["judge", "scrambler"]).competitor.assignedRoles— a dictionary of which roles the competitor holds in each specific category, e.g.{ "17512345670": ["judge"] }.
roles array.
The competitor list is sorted so that competitors who already have at least one global role appear at the top, making it easier to locate your established staff members.
assignedRoles data structure
"judge", "runner", and "scrambler" (all lowercase), matching the AVAILABLE_ROLES constant in Staffing.tsx.
To save your changes, click “Activar Edición” a second time. If unsaved changes exist, the Save Changes modal offers three options:
| Button | Action |
|---|---|
| Guardar Cambios | Writes the updated competitors array to IndexedDB and exits Edit Mode. |
| Descartar Cambios | Rolls back all changes to the snapshot taken when Edit Mode was activated. |
| Cancelar | Dismisses the modal and returns to Edit Mode. |
Roles and group generation
When the Group Generator creates competition groups for a WCA category round, it reads theassignedRoles for every competitor in that category. Competitors assigned as Judge, Runner, or Scrambler for a given group are placed into the staff pool and are not included in the competing pool for that group.
This means staff assignments defined here flow directly into the auto-generated schedule: groups are built with a balanced mix of competing slots and staff slots without any manual re-ordering.
A competitor can both compete and serve as staff within the same category — just in different groups. For example, a competitor assigned as Judge may be scheduled in Group A as staff and compete in Group B. The Group Generator handles this automatically as long as the assignments are set up correctly here.
