Skip to content

Document platform commissioner cutover for coworld authors - #28

Open
aaln wants to merge 3 commits into
mainfrom
aaln/platform-commissioner-docs
Open

Document platform commissioner cutover for coworld authors#28
aaln wants to merge 3 commits into
mainfrom
aaln/platform-commissioner-docs

Conversation

@aaln

@aaln aaln commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add PLATFORM_COMMISSIONER.md: author/operator guide for cutting a seeded Coworld league from the container commissioner to the platform Temporal ladder (League.settings.ladder + commissioner_key=platform).
  • Link the guide from the README (Developing Coworlds, Main Workflows, Documentation Map), the docs concept map, and the Commissioner role page (with a clear platform-vs-container callout).
  • Covers ownership signals, prerequisites, pause→drain→seed override→settings→enable→unpause→trigger-round, seating/ranking choices, recommended defaults from recent cutovers (k_factor=16, min_episodes_per_entrant=1, Competition-only), hard rules (no dual-write; seed ownership; full-document POST/PATCH), exclusions (WoW, Proxywar, unsupported shapes), and pointers to Softmax-internal Metta runbooks.

Acting on behalf of Aaron Landy / Cursor agent.

Test plan

  • Skim README links resolve to src/coworld/docs/PLATFORM_COMMISSIONER.md
  • Confirm cutover steps and API paths match Metta docs/ai/onboarding/services/coworlds/migrate-to-platform-commissioner.md
  • Confirm seating/ranking table matches current platform strategies (swiss_neighbor, team_pair, variable_seat, clone_fill, scaling_roster, team_n, elo / score)

Made with Cursor

relh and others added 3 commits July 19, 2026 11:13
## Summary

- expose the existing typed Coworld league-seed PATCH route through `CoworldUploadClient`
- add `coworld league update` with explicit replacement-override semantics
- cover the CLI request shape and client/server endpoint contract

## Why

The current Vanilla WoW Persistent seed retained its `persistent_realm` game-config extension but lacked `commissioner_config_overlay_secret=persistent_window_feed`. The backend already supported updating an existing seed; operators only had create/list CLI commands, so there was no canonical client path to repair it without ad hoc HTTP.

## Validation

- `nix develop --command bazel test //packages/coworld/... //app_backend/... --test_tag_filters=lint` - 4 lint targets passed
- `nix develop --command uv run metta pytest packages/coworld/tests` - 539 passed, 1 skipped
- `nix develop --command uv run metta pytest packages/coworld/tests/test_coworld_league_cli.py app_backend/tests/test_coworld_api_client_contract.py -v` - 208 passed
- production readback after exercising this exact local CLI branch confirms the seed retained `commissioner_runnable_id=vanilla-wow-persistent-commissioner` and `commissioner_config_extensions.persistent_game_config_overlay_secret=persistent_realm`, added `commissioner_config_overlay_secret=persistent_window_feed`, and reconciled the same league ID
- live follow-through: the league config exposes both selectors and its first retained-window round completed with ranked v20/v30 results; both replacement jobs are healthy and actively progressing

`metta pytest --changed` currently over-collects the monorepo from a fresh testmon database and stops during collection because the external `cortex` package is unavailable (28 unrelated RL import errors). The focused package/server contract suites above are clean.

No browser-visible behavior or backend route changed; this PR adds the missing team-only CLI client for the already-deployed API.

Co-Authored-By: Codex GPT-5 <noreply@openai.com>
Co-authored-by: OpenAI Codex (GPT-5) <codex@openai.com>
Add an author-facing guide for cutting seeded leagues from container
commissioners to typed ladder + Temporal, and link it from the README
and commissioner role docs.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
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