From 843fdae535c4e6aa1eb35c82c340986cdcc9d7da Mon Sep 17 00:00:00 2001 From: Allan Joseph Date: Fri, 29 May 2026 11:42:34 +0530 Subject: [PATCH 1/3] Refactor broadcast info field --- doc/specs/schemas/BroadcastForm.yaml | 41 ++---------------------- doc/specs/schemas/BroadcastTour.yaml | 32 +----------------- doc/specs/schemas/BroadcastTourInfo.yaml | 39 ++++++++++++++++++++++ 3 files changed, 42 insertions(+), 70 deletions(-) create mode 100644 doc/specs/schemas/BroadcastTourInfo.yaml diff --git a/doc/specs/schemas/BroadcastForm.yaml b/doc/specs/schemas/BroadcastForm.yaml index 2c5d6e3f..2de9fe4f 100644 --- a/doc/specs/schemas/BroadcastForm.yaml +++ b/doc/specs/schemas/BroadcastForm.yaml @@ -8,45 +8,8 @@ properties: Name of the broadcast tournament. Example: `Sinquefield Cup` - info.format: - type: string - maxLength: 80 - description: | - Tournament format. - Example: `"8-player round-robin" or "5-round Swiss"` - info.location: - type: string - maxLength: 80 - description: | - Tournament Location - info.tc: - type: string - maxLength: 80 - description: | - Time control. - Example: `"Classical" or "Rapid" or "Rapid & Blitz"` - info.fideTC: - $ref: "./FideTimeControl.yaml" - info.timeZone: - type: string - description: | - Timezone of the tournament. Example: `America/New_York`. - See [list of possible timezone identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more. - info.players: - type: string - maxLength: 120 - description: | - Mention up to 4 of the best players participating. - info.website: - type: string - format: uri - description: | - Official website. External website URL - info.standings: - type: string - format: uri - description: | - Official Standings. External website URL, e.g. chess-results.com, info64.org + info: + $ref: "./BroadcastTourInfo.yaml" markdown: type: string maxLength: 20000 diff --git a/doc/specs/schemas/BroadcastTour.yaml b/doc/specs/schemas/BroadcastTour.yaml index 5f1c40bb..90add503 100644 --- a/doc/specs/schemas/BroadcastTour.yaml +++ b/doc/specs/schemas/BroadcastTour.yaml @@ -20,37 +20,7 @@ properties: maxItems: 2 example: [1722169800000, 1722666600000] info: - type: object - description: "Additional display information about the tournament" - properties: - website: - type: string - format: uri - description: "Official website. External website URL" - players: - type: string - description: "Featured players" - location: - type: string - description: "Tournament location" - tc: - type: string - description: "Time control" - fideTC: - description: "FIDE rating category" - $ref: "./FideTimeControl.yaml" - timeZone: - type: string - description: | - Timezone of the tournament. Example: `America/New_York`. - See [list of possible timezone identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more. - standings: - type: string - format: uri - description: "Official standings website. External website URL" - format: - type: string - description: "Tournament format" + $ref: "./BroadcastTourInfo.yaml" tier: type: integer description: "Used to designate featured tournaments on Lichess" diff --git a/doc/specs/schemas/BroadcastTourInfo.yaml b/doc/specs/schemas/BroadcastTourInfo.yaml new file mode 100644 index 00000000..56fecf0e --- /dev/null +++ b/doc/specs/schemas/BroadcastTourInfo.yaml @@ -0,0 +1,39 @@ +type: object +description: "Additional display information about the tournament" +properties: + format: + type: string + maxLength: 80 + description: | + Tournament format. + Example: `"8-player round-robin" or "5-round Swiss"` + tc: + type: string + description: | + Time control. + Example: `"Classical" or "Rapid" or "Rapid & Blitz"` + fideTC: + $ref: "./FideTimeControl.yaml" + timeZone: + type: string + description: | + Timezone of the tournament. Example: `America/New_York`. + See [list of possible timezone identifiers](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) for more. + location: + type: string + maxLength: 80 + description: "Tournament location" + players: + type: string + maxLength: 120 + description: | + Mentioning up to 4 of the best players participating. + website: + type: string + format: uri + description: Official website. External website URL + standings: + type: string + format: uri + description: | + Official standings website. External website URL, e.g. chess-results.com, info64.org From 757405dfe3c75b0beeca9df6a7b5138ab24b849f Mon Sep 17 00:00:00 2001 From: Allan Joseph Date: Fri, 29 May 2026 11:42:56 +0530 Subject: [PATCH 2/3] Document broadcast info regulations field --- doc/specs/schemas/BroadcastTourInfo.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/specs/schemas/BroadcastTourInfo.yaml b/doc/specs/schemas/BroadcastTourInfo.yaml index 56fecf0e..3cef58eb 100644 --- a/doc/specs/schemas/BroadcastTourInfo.yaml +++ b/doc/specs/schemas/BroadcastTourInfo.yaml @@ -37,3 +37,8 @@ properties: format: uri description: | Official standings website. External website URL, e.g. chess-results.com, info64.org + regulations: + type: string + format: uri + description: | + External URL to the official tournament regulations. From bed95331513ee8a988388cd3344203b6545a9411 Mon Sep 17 00:00:00 2001 From: Allan Joseph Date: Fri, 29 May 2026 17:24:31 +0530 Subject: [PATCH 3/3] Document broadcast grouping --- doc/specs/schemas/BroadcastForm.yaml | 29 +++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/doc/specs/schemas/BroadcastForm.yaml b/doc/specs/schemas/BroadcastForm.yaml index 2de9fe4f..0c89bb1c 100644 --- a/doc/specs/schemas/BroadcastForm.yaml +++ b/doc/specs/schemas/BroadcastForm.yaml @@ -101,11 +101,38 @@ properties: * `3` for Official: normal tier * `4` for Official: high tier * `5` for Official: best tier - tiebreaks[]: + tiebreaks: type: array maxItems: 5 items: $ref: "./BroadcastTiebreakExtendedCode.yaml" + grouping: + type: object + description: | + Group this broadcast along with others + properties: + info: + type: object + properties: + name: + type: string + description: Name of the group + example: "Chess Olympiad | Open" + tours: + type: string + description: | + A comma separated list of tournament IDs to group together. + example: wYigbpXq,M5YHvpOX,q6ezoCXP + scoreGroups: + type: array + maxItems: 10 + items: + type: string + description: | + A comma separated list of tournament IDs to group together for scoring purposes + Cannot overlap with other score groups. + Can only use groups mentioned in `info.tours`. + example: wYigbpXq,M5YHvpOX required: - name