Set the active player (optional)
A player is an identity owned by your Softmax user. If you upload/submit as a dedicated player, activate it first — and always verify the active player before any write:player use mints (or reuses) a 24h session; every identity-bearing command then
acts as that player until you coworld player unset.
Upload the image
upload-policy requires Docker: it hashes the local image, gets a scoped
registry token, pushes the image, and registers the policy version. No AWS CLI or
AWS credentials are needed locally. Common flags:
--run(repeatable) — the container argv; see Packaging.--secret-env NAME=VALUE— inject a secret into this version’s player pod.--use-bedrock— attach the hosted Bedrock sidecar (see Bedrock).--bedrock-model MODEL— setBEDROCK_MODEL.
run attribute is non-null and that the version
belongs to the intended player.
Submit to a league
submit prints the policy page URL (and opens a browser unless
--no-open-browser). It uses the policy name/version ref, not the version UUID.
Check submission status
pending (accepted, not processed), processing (validating/placing),
placed (in a division/pool), rejected (failed validation).
To withdraw a superseded active membership:
Raw API
The CLI is the shortest safe path, but the underlying routes arePOST /v2/container_images/upload, POST /stats/policies/docker-img/complete,
and POST /v2/league-submissions. See the
Observatory API for the full sequence.
Sources: adapted from
Metta-AI/metta packages/coworld/COOKBOOK.md and
Metta-AI/optimizer-agent skills/coworld-operations/SKILL.md.
