Skip to content

feat(configs): bundle agricogla commissioner config + publish its image#49

Merged
daveey merged 1 commit into
mainfrom
daveey/agricogla-bundled-config
Jun 22, 2026
Merged

feat(configs): bundle agricogla commissioner config + publish its image#49
daveey merged 1 commit into
mainfrom
daveey/agricogla-bundled-config

Conversation

@daveey

@daveey daveey commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What

Makes the agricogla commissioner follow the cue-n-woo pattern: a first-class bundled config built from source and published to GitHub Packages by CI, instead of a downstream FROM commissioners-default@digest Dockerfile in the metta repo.

  • Adds commissioners/ruleset_strategy_commissioner/configs/agricogla.yamldefault plus 10 competition episodes/round and scoring.round_score: rank (per-episode placement, merged in feat(ruleset_strategy): add round_score "rank" (per-episode placement scoring) #48).
  • Adds an agricogla-commissioner matrix entry to build-commissioner-images.yml, so on push to main CI builds the shared commissioners/Dockerfile (RULESET_STRATEGY_CONFIG_NAME=agricogla) and publishes ghcr.io/metta-ai/commissioners-agricogla (+ :latest, :coworld-<sha>).

Why

Today agricogla (and cognames) layer their config onto the base image with a metta-side commissioner.Dockerfile (FROM commissioners-default@<pinned digest> + COPY agricogla-commissioner.yaml), built locally and pushed on coworld upload. That means a hand-maintained base digest and a "directly pushed" image. The clean games (cogsul, coguire, werecog) just reference a published ghcr.io/metta-ai/commissioners-* image. This makes agricogla one of those: its config lives here, CI publishes the image, and the metta coworld references it directly (follow-up metta PR).

Tests

  • New agricogla.yaml is auto-covered by the parametrized test_ruleset_strategy_configs_declare_migration_divisions (Qualifiers/-99, Competition/Daily/1). Full suite: 92 passing.
  • Verified the config loads with round_score: rank, score kind rank_episode_round_score, 10 competition episodes.

Follow-up (metta)

Once this merges + the image publishes, the metta agricogla coworld will switch compose.yaml's commissioner service to image: ghcr.io/metta-ai/commissioners-agricogla@sha256:… and delete commissioner.Dockerfile + agricogla-commissioner.yaml.

🤖 Generated with Claude Code

Add agricogla as a first-class bundled ruleset_strategy config (like cue_n_woo
etc.) and a matrix entry so CI builds + publishes ghcr.io/metta-ai/commissioners-
agricogla to GitHub Packages from source. It's `default` plus 10 competition
episodes/round and `scoring.round_score: rank` (per-episode placement).

This lets the agricogla coworld reference a published commissioner image directly
(the cogsul/coguire/werecog pattern) instead of a downstream Dockerfile that does
`FROM commissioners-default@digest` + COPY config and pushes a locally-built image.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@daveey daveey requested a review from nishu-builder June 22, 2026 20:47
@daveey daveey merged commit 61fc9b5 into main Jun 22, 2026
8 checks passed
@daveey daveey deleted the daveey/agricogla-bundled-config branch June 22, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants