diff --git a/.github/workflows/build-commissioner-images.yml b/.github/workflows/build-commissioner-images.yml index 31ca105..f6d67b7 100644 --- a/.github/workflows/build-commissioner-images.yml +++ b/.github/workflows/build-commissioner-images.yml @@ -33,6 +33,10 @@ jobs: commissioner_key: config_driven ruleset_strategy_config_name: default image: ghcr.io/metta-ai/commissioners-default + - name: agricogla-commissioner + commissioner_key: config_driven + ruleset_strategy_config_name: agricogla + image: ghcr.io/metta-ai/commissioners-agricogla - name: among-them-commissioner commissioner_key: config_driven ruleset_strategy_config_name: among_them diff --git a/commissioners/ruleset_strategy_commissioner/configs/agricogla.yaml b/commissioners/ruleset_strategy_commissioner/configs/agricogla.yaml new file mode 100644 index 0000000..f6b975d --- /dev/null +++ b/commissioners/ruleset_strategy_commissioner/configs/agricogla.yaml @@ -0,0 +1,56 @@ +# agricogla: 4-seat worker-placement game. Same as `default` except: +# - competition rounds run 10 episodes (not 1) so baseline_window seating seats +# every champion across the 4 seats each round instead of only 4 of them. +# - rounds are scored by per-episode placement (round_score: rank) instead of mean +# score, so the league rewards consistently beating the table, not blowouts. +scoring: + round_score: rank + +defaults: + seating: baseline_window + fill_seats: duplicate + min_entries_to_start: 2 + stage: + label: Round + episodes: 10 + min_episodes_per_entrant: 1 + +divisions: + qualifiers: + name: Qualifiers + level: -99 + match: + name: Qualifiers + type: staging + entrants: qualifying + min_entries_to_start: 1 + stages: + - id: crash_check + schedule: + label: Qualifier + self_play: true + attempts: 2 + min_episodes_per_entrant: 2 + on_episode_complete: + - id: qualified + criteria: + completed_episodes_gt: 0 + actions: + - type: update_membership + division: competition + status: competing + substatus: champion + - id: disqualified + criteria: otherwise + actions: + - type: update_membership + status: disqualified + substatus: inactive + + competition: + name: Competition + previous_name: Daily + level: 1 + match: + type: competition + entrants: champions