agricogla: add self-contained symbolic-planner Coworld player#73
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
agricogla: add self-contained symbolic-planner Coworld player#73devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
Fork of packages/cogweb/games/agricogla's planner player into a standalone players-repo leaf with no @cogweb/* dependency. Carries its own copy of the game engine + planner (belief model, determinized rollout, argmax) and a minimal cogweb.player.v1 websocket runtime. Conforms to the player packaging contract via tools/players_build/build_lib.sh. Verified: npm run typecheck clean; smoke.ts plays a full 14-round 4-player episode over redacted views with the planner piloting seat 0, no crash; build.sh produces the linux/amd64 image + player[] snippet + coplayer_manifest. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
players/agricogla/symbolic-planner/— a self-contained fork of the in-tree planner player frommetta/packages/cogweb/games/agricogla, so the agricogla planner lives in this repo as a canonical, uploadable player and can compete on the league as its own player, independent of the metta source.The point of the fork is dependency isolation: the metta player imports
@cogweb/*workspace packages, which don't exist here. This leaf instead carries its own verbatim copy of the game engine (src/engine/) and planner (src/planner/) plus a minimalcogweb.player.v1websocket runtime (src/runtime/player-runtime.ts), so it builds and runs entirely from this directory with no metta checkout.What the policy does (unchanged from the source): deterministic, no-LLM. For each legal move it determinizes hidden state and rolls the game out to round 14 under a baseline continuation, then argmaxes terminal score margin (one-step policy improvement). The determinization is what keeps it from crashing on the host's redacted view — opponent hands + the undealt deck arrive as the
"hidden"sentinel, and a naive rollout that reads them throwsunknown card: hidden.Packaging conforms to
docs/coworld-player-packaging.md:build.shsourcestools/players_build/build_lib.shand sets the player metadata, so it produces thelinux/amd64image, theplayer[]snippet on stdout, anddist/coplayer_manifest.json.players/agricogla/symbolic-planner/build.sh # -> players-agricogla-symbolic-planner:dev + player[] snippet + coplayer_manifest.jsonVerification
npm run typecheck— clean.npm run smoke(smoke.ts) — full 4-player, 14-round episode with the planner piloting seat 0 over redacted views (exact host masking), no crash; planner wins/ties.build.sh— builds thelinux/amd64image and emits both manifest artifacts.Notes
node_modules/,dist/, andpackage-lock.jsonare git-ignored; the image bundles everything via esbuild so the runtime layer is justplanner-player.js.Link to Devin session: https://app.devin.ai/sessions/f7ff86c598a747539827d0f4e34ea79f
Requested by: @aaln