Input format
Participants are provided as a plain CSV file (one participant per line, no header row).
Basic format
The first column is the participant name. The second column is the dojo or team affiliation. Both are required: a competitor is identified by name and dojo together, and two competitors who share a name can only be told apart by it. A row with no dojo is rejected on every path: the command line, the legacy web UI, archive import, and the tournament app. Further columns are accepted and kept as metadata, such as a dan grade; they do not affect the draw.
Zekken display name
When using --with-zekken-name (-z), the second column provides the name printed on the zekken (name tag), and the third column provides the dojo/team affiliation. If the second column is empty the participant name is used instead.
Cersei Lannister, LANNISTER, Team Gamma
Daenerys Targaryen, TARGARYEN, Team Delta
Eddard Stark, STARK, Team Epsilon
Team matches
For team tournaments (--team-matches N), each row is one team: the name column holds the team's name and the dojo column its affiliation. N is the number of fighters per team. It sets how many bout rows print under each team encounter in the spreadsheet, so you can fill in the fighters' names by hand. The dojo column keeps teams from the same dojo apart across pools, the same rule individual mode uses.
Constraints
- Two people who share a name are accepted as long as their dojos differ, which is common with widespread surnames. The same name at the same dojo is one person entered twice and is rejected before any bracket is generated.
- The dojo must not be blank. A roster stored before this rule existed, or edited by hand, still loads so it can be repaired. Until you fix the blank dojo, the app refuses every change to that roster (check-ins included) and refuses to generate a draw from it. Each refusal names the participant to fix. Importing a saved tournament is refused the same way: correct the dojo in the archive's participant file and import again.
- The name must not be blank either. The command line, the legacy web UI, and archive import refuse a row with no name and quote it. The tournament app refuses it when you save the roster, and a roster with a blank name cannot be drawn.
- Team names are the exception: two teams may not share a name even at different dojos, because a team's name is what identifies it in results.
- Names in a seeds file must match the participant name exactly, accents included. Both lists are title-cased on read (the first letter of each word upper-cased, the rest kept as typed), so
alice adamsmatchesAlice AdamsbutALICE ADAMSdoes not.
Seeds file
Seeding is a separate CSV with a header row:
Pass it with --seeds seeds.csv. Only the listed participants are seeded; all others are placed randomly. A rank given to two names, or a name that is not in the participant list, stops the run with an error naming the offender.