cogames-agents 0.0.0.7__tar.gz → 0.0.0.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. cogames_agents-0.0.0.10/.nimby-version +1 -0
  2. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/PKG-INFO +3 -16
  3. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/README.md +0 -13
  4. cogames_agents-0.0.0.10/docs/beta-cvc-policy-validation.md +126 -0
  5. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/cogames-eval-internals.md +5 -6
  6. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/cogas-agent-design.md +5 -5
  7. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/cogsguard-mechanics-deep-dive.md +2 -2
  8. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/creating-scripted-agents.md +2 -8
  9. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/machina1-agent-analysis.md +0 -12
  10. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/metta-cogames-overview.md +2 -2
  11. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/role-distribution-analysis.md +8 -58
  12. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/scripted-agent-registry.md +0 -4
  13. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/pyproject.toml +1 -1
  14. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/README.md +2 -3
  15. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/benchmark_agents.sh +0 -1
  16. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/quick_eval.sh +2 -2
  17. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/evals/planky_evals.py +12 -3
  18. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/__init__.py +0 -2
  19. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/agents.py +0 -11
  20. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/nim_agents.nim +1 -7
  21. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/test_agents.py +1 -1
  22. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/thinky_eval.py +5 -4
  23. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/README.md +3 -3
  24. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/baseline_agent.py +13 -13
  25. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/__init__.py +5 -0
  26. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/context.py +67 -0
  27. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/entity_map.py +157 -0
  28. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/goals/aligner.py +222 -0
  29. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/goals/gear.py +12 -10
  30. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/goals/miner.py +15 -24
  31. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/goals/scout.py +40 -0
  32. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/goals/scrambler.py +218 -0
  33. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/goals/shared.py +54 -34
  34. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/goals/stem.py +49 -0
  35. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/goals/survive.py +96 -0
  36. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/navigator.py +1 -1
  37. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy/obs_parser.py +339 -0
  38. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/policy.py +40 -55
  39. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/entity_map.py +1 -1
  40. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/aligner.py +1 -1
  41. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/gear.py +1 -1
  42. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/miner.py +2 -2
  43. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/scout.py +1 -1
  44. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/scrambler.py +1 -1
  45. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/shared.py +1 -1
  46. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/navigator.py +1 -1
  47. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/obs_parser.py +67 -12
  48. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/aligner.py +4 -4
  49. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/debug_agent.py +5 -5
  50. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/policy.py +27 -22
  51. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/types.py +4 -4
  52. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/common/roles.py +4 -4
  53. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/demo_policy.py +6 -6
  54. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/CLAUDE.md +35 -20
  55. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/PLAN.md +3 -3
  56. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/README.md +0 -25
  57. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/entity_map.py +1 -1
  58. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/goal.py +109 -0
  59. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/goals/__init__.py +27 -0
  60. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/goals/aligner.py +3 -11
  61. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/goals/gear.py +185 -0
  62. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/goals/miner.py +486 -0
  63. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/goals/scout.py +1 -1
  64. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/goals/scrambler.py +1 -1
  65. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/goals/shared.py +275 -0
  66. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/goals/survive.py +2 -12
  67. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/navigator.py +388 -0
  68. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/obs_parser.py +68 -13
  69. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/policy.py +1056 -0
  70. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/helpers.py +12 -5
  71. cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/planky/trace.py +69 -0
  72. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents.egg-info/PKG-INFO +3 -16
  73. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents.egg-info/SOURCES.txt +18 -33
  74. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents.egg-info/requires.txt +2 -2
  75. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/conftest.py +2 -2
  76. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_agent_benchmarks.py +10 -13
  77. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_eval_metrics.py +5 -5
  78. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_evolution.py +1 -1
  79. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_planky_behaviors.py +2 -5
  80. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_scripted_policies.py +1 -7
  81. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_scripted_registry.py +0 -2
  82. cogames_agents-0.0.0.7/.nimby-version +0 -1
  83. cogames_agents-0.0.0.7/src/cogames_agents/policy/nim_agents/ladybug_agent.nim +0 -954
  84. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/DESIGN.md +0 -317
  85. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/__init__.py +0 -5
  86. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/__init__.py +0 -17
  87. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/aligner.py +0 -400
  88. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/base.py +0 -119
  89. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/miner.py +0 -632
  90. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/scout.py +0 -138
  91. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/behaviors/scrambler.py +0 -433
  92. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/policy.py +0 -570
  93. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/services/__init__.py +0 -7
  94. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/services/map_tracker.py +0 -808
  95. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/services/navigator.py +0 -864
  96. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/services/safety.py +0 -189
  97. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/state.py +0 -299
  98. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/pinky/types.py +0 -138
  99. cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/unclipping_agent.py +0 -461
  100. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_aligner_test.map +0 -26
  101. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_all_gear_stations.map +0 -28
  102. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_exploration_memory.map +0 -34
  103. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_gear_miner.map +0 -26
  104. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_gear_scout.map +0 -26
  105. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_maze_navigation.map +0 -30
  106. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_miner_bump_extractor.map +0 -16
  107. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_miner_extract.map +0 -26
  108. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_miner_full_cycle.map +0 -28
  109. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_multi_extractors.map +0 -29
  110. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_navigation_obstacles.map +0 -29
  111. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_retreat_test.map +0 -26
  112. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_scout_explore.map +0 -30
  113. cogames_agents-0.0.0.7/tests/pinky_evals/pinky_scrambler_test.map +0 -26
  114. cogames_agents-0.0.0.7/tests/test_pinky_behaviors.py +0 -360
  115. cogames_agents-0.0.0.7/tests/test_pinky_navigation.py +0 -904
  116. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/.gitignore +0 -0
  117. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/.nim-version +0 -0
  118. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/MANIFEST.in +0 -0
  119. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/README.co-gas.md +0 -0
  120. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/0018-tribal-village-temple-roles.md +0 -0
  121. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/aligned_junction_held_investigation.md +0 -0
  122. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/app-backend-eval-pipeline.md +0 -0
  123. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/aws-sso-on-mettabox.md +0 -0
  124. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/eval-results-log.md +0 -0
  125. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/evolution-system-architecture.md +0 -0
  126. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/leaderboard-submission-process.md +0 -0
  127. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/mettaboxes.md +0 -0
  128. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/nim-vs-python-agents-comparison.md +0 -0
  129. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/training-and-submission-guide.md +0 -0
  130. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/docs/wandb-analysis-cogsguard-training.md +0 -0
  131. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/ci_eval.sh +0 -0
  132. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/compare_agents.py +0 -0
  133. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/enrich_eval_output.py +0 -0
  134. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/eval_cogas.sh +0 -0
  135. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/regression_check.py +0 -0
  136. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/run_cogsguard_instrumented_audit.py +0 -0
  137. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/run_cogsguard_parity.py +0 -0
  138. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/run_cogsguard_rollout.py +0 -0
  139. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/scripts/tune_cogas.sh +0 -0
  140. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/setup.cfg +0 -0
  141. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/setup.py +0 -0
  142. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/__init__.py +0 -0
  143. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/evals/__init__.py +0 -0
  144. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/__init__.py +0 -0
  145. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/evolution/__init__.py +0 -0
  146. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/evolution/cogsguard/__init__.py +0 -0
  147. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/evolution/cogsguard/evolution.py +0 -0
  148. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/evolution/cogsguard/evolutionary_coordinator.py +0 -0
  149. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/cogsguard_agents.nim +0 -0
  150. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/cogsguard_align_all_agents.nim +0 -0
  151. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/common.nim +0 -0
  152. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/install.sh +0 -0
  153. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/nim_agents.nims +0 -0
  154. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/nimby.lock +0 -0
  155. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/racecar_agents.nim +0 -0
  156. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/random_agents.nim +0 -0
  157. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/nim_agents/thinky_agents.nim +0 -0
  158. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/__init__.py +0 -0
  159. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/goal.py +0 -0
  160. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/goals/__init__.py +0 -0
  161. {cogames_agents-0.0.0.7/src/cogames_agents/policy/scripted_agent/planky → cogames_agents-0.0.0.10/src/cogames_agents/policy/scripted_agent/buggy}/trace.py +0 -0
  162. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/__init__.py +0 -0
  163. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/context.py +0 -0
  164. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goal.py +0 -0
  165. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/__init__.py +0 -0
  166. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/stem.py +0 -0
  167. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/goals/survive.py +0 -0
  168. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/policy.py +0 -0
  169. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogas/trace.py +0 -0
  170. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/CLAUDE.md +0 -0
  171. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/README.md +0 -0
  172. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/__init__.py +0 -0
  173. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/aligned_junction_held_investigation.md +0 -0
  174. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/behavior_hooks.py +0 -0
  175. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/control_agent.py +0 -0
  176. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/miner.py +0 -0
  177. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/options.py +0 -0
  178. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/parity_metrics.py +0 -0
  179. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/prereq_trace.py +0 -0
  180. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/role_trace.py +0 -0
  181. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/roles.py +0 -0
  182. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/rollout_trace.py +0 -0
  183. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/scout.py +0 -0
  184. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/scrambler.py +0 -0
  185. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/targeted_agent.py +0 -0
  186. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/teacher.py +0 -0
  187. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/cogsguard/v2_agent.py +0 -0
  188. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/common/__init__.py +0 -0
  189. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/common/geometry.py +0 -0
  190. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/common/tag_utils.py +0 -0
  191. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/pathfinding.py +0 -0
  192. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/IMPROVEMENTS.md +0 -0
  193. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/NOTES.md +0 -0
  194. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/STRATEGY.md +0 -0
  195. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/__init__.py +0 -0
  196. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/context.py +0 -0
  197. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/goals/stem.py +0 -0
  198. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/__init__.py +0 -0
  199. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/conftest.py +0 -0
  200. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/test_aligner.py +0 -0
  201. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/test_miner.py +0 -0
  202. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/test_scout.py +0 -0
  203. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/test_scrambler.py +0 -0
  204. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/planky/tests/test_stem.py +0 -0
  205. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/types.py +0 -0
  206. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_agent/utils.py +0 -0
  207. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/policy/scripted_registry.py +0 -0
  208. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents/py.typed +0 -0
  209. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents.egg-info/dependency_links.txt +0 -0
  210. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/src/cogames_agents.egg-info/top_level.txt +0 -0
  211. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_cogsguard_action_timing.py +0 -0
  212. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_cogsguard_miner_danger_radius.py +0 -0
  213. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_cogsguard_roles.py +0 -0
  214. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_evolution_integration.py +0 -0
  215. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_evolutionary_coordinator.py +0 -0
  216. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_parity_metrics.py +0 -0
  217. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_prereq_trace.py +0 -0
  218. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_role_distributions.py +0 -0
  219. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_role_trace.py +0 -0
  220. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_rollout_trace.py +0 -0
  221. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_scripted_agent_tags.py +0 -0
  222. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tests/test_scripted_agent_type_tags.py +0 -0
  223. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tutorials/cogsguard_make_policy.ipynb +0 -0
  224. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tutorials/cogsguard_make_policy.md +0 -0
  225. {cogames_agents-0.0.0.7 → cogames_agents-0.0.0.10}/tutorials/cogsguard_make_policy.py +0 -0
@@ -0,0 +1 @@
1
+ 0.1.18
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cogames-agents
3
- Version: 0.0.0.7
3
+ Version: 0.0.0.10
4
4
  Summary: Optional agent policies for CoGames
5
5
  Author: Metta AI
6
6
  License-Expression: MIT
@@ -12,8 +12,8 @@ Classifier: Operating System :: POSIX :: Linux
12
12
  Classifier: Operating System :: MacOS
13
13
  Requires-Python: <3.13,>=3.12
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: cogames==0.3.64
16
- Requires-Dist: mettagrid==0.2.0.74
15
+ Requires-Dist: cogames==0.3.68
16
+ Requires-Dist: mettagrid==0.2.0.82
17
17
  Requires-Dist: numpy>=2.0.0
18
18
  Provides-Extra: test
19
19
  Requires-Dist: pytest; extra == "test"
@@ -44,7 +44,6 @@ Common scripted policy names include:
44
44
  - CogsGuard variants: `alignall`, `cogsguard_control`, `cogsguard_targeted`, `cogsguard_v2`
45
45
  - CogsGuard roles: `miner`, `scout`, `aligner`, `scrambler`
46
46
  - Teacher: `teacher`
47
- - Pinky: `pinky`
48
47
 
49
48
  For the full registry snapshot, see `docs/scripted-agent-registry.md`.
50
49
 
@@ -64,18 +63,6 @@ metta://policy/role_py?role_cycle=aligner,miner,scrambler,scout
64
63
  metta://policy/role_py?role_order=aligner,miner,aligner,miner,scout
65
64
  ```
66
65
 
67
- Pinky role counts are applied in a different order than CogsGuard:
68
-
69
- - Pinky order: miner -> scout -> aligner -> scrambler, and any remaining agents stay default/noop.
70
- - CogsGuard order: scrambler -> aligner -> miner -> scout, then fills remaining agents with gear.
71
-
72
- Examples:
73
-
74
- ```
75
- metta://policy/pinky?miner=4&aligner=2&scrambler=4
76
- metta://policy/pinky?miner=2&scout=2&aligner=1&scrambler=1&debug=1
77
- ```
78
-
79
66
  ## Recipe usage
80
67
 
81
68
  The `recipes.experiment.scripted_agents` recipe accepts the same scripted policy names:
@@ -22,7 +22,6 @@ Common scripted policy names include:
22
22
  - CogsGuard variants: `alignall`, `cogsguard_control`, `cogsguard_targeted`, `cogsguard_v2`
23
23
  - CogsGuard roles: `miner`, `scout`, `aligner`, `scrambler`
24
24
  - Teacher: `teacher`
25
- - Pinky: `pinky`
26
25
 
27
26
  For the full registry snapshot, see `docs/scripted-agent-registry.md`.
28
27
 
@@ -42,18 +41,6 @@ metta://policy/role_py?role_cycle=aligner,miner,scrambler,scout
42
41
  metta://policy/role_py?role_order=aligner,miner,aligner,miner,scout
43
42
  ```
44
43
 
45
- Pinky role counts are applied in a different order than CogsGuard:
46
-
47
- - Pinky order: miner -> scout -> aligner -> scrambler, and any remaining agents stay default/noop.
48
- - CogsGuard order: scrambler -> aligner -> miner -> scout, then fills remaining agents with gear.
49
-
50
- Examples:
51
-
52
- ```
53
- metta://policy/pinky?miner=4&aligner=2&scrambler=4
54
- metta://policy/pinky?miner=2&scout=2&aligner=1&scrambler=1&debug=1
55
- ```
56
-
57
44
  ## Recipe usage
58
45
 
59
46
  The `recipes.experiment.scripted_agents` recipe accepts the same scripted policy names:
@@ -0,0 +1,126 @@
1
+ # Beta-CVC Policy Validation (Local)
2
+
3
+ Date: 2026-01-29
4
+
5
+ This document summarizes the current state of local validation for the beta-cvc policies referenced in the
6
+ beta-cogsguard leaderboard list. The goal was to re-download the exact uploaded bundles and confirm they start correctly
7
+ on the beta-cvc mission (`cogsguard_machina_1.basic`).
8
+
9
+ ## Scope
10
+
11
+ - Policies tested (19 total) match the earlier beta-cogsguard leaderboard list:
12
+ - daveey.pinky:v5/v6/v7/v8/v9
13
+ - daveey.planky:v6/v7/v8
14
+ - relh.cogas:v6/v7/v8/v10
15
+ - relh.wombo-mix:v1/v3/v4
16
+ - noah::coggernaut:v4/v9
17
+ - manvi_metcon:v3
18
+ - cogsguard-roster-mix:v1
19
+
20
+ - All bundles were re-downloaded from the policy `s3_path` recorded in the backend, not from the older
21
+ `policy-versions/` location.
22
+
23
+ ## Bundle Download (Exact Uploaded Artifacts)
24
+
25
+ The backend stores a policy version’s `s3_path` at: `/stats/policies/versions/{policy_version_id}`.
26
+
27
+ We used the policy version lookup to get `s3_path`, then downloaded via S3:
28
+
29
+ ```
30
+ aws s3 cp s3://observatory-private/cogames/submissions/<user>/<upload_id>.zip \
31
+ outputs/beta-cvc-policy-bundles-redownload/<policy>_v<version>.zip
32
+ ```
33
+
34
+ All 19 bundles are now in: `outputs/beta-cvc-policy-bundles-redownload/`
35
+
36
+ ## Local Validation Commands
37
+
38
+ We validated against the beta-cvc mission (CogsGuard Machina1):
39
+
40
+ ```
41
+ uv run cogames scrimmage -m cogsguard_machina_1.basic -c 5 -e 1 -s 300 --format json \
42
+ -p ./outputs/beta-cvc-policy-bundles-redownload/<policy>.zip
43
+
44
+ uv run cogames eval -m cogsguard_machina_1.basic -c 5 -e 1 -s 300 --format json \
45
+ -p ./outputs/beta-cvc-policy-bundles-redownload/<policy>.zip
46
+ ```
47
+
48
+ Notes:
49
+
50
+ - Use a relative path starting with `./` for local bundles; otherwise the CLI interprets the argument as a class name.
51
+
52
+ ## Results: Scrimmage + Eval (CVC Map)
53
+
54
+ Summary:
55
+
56
+ - **18/19** bundles run successfully for both `scrimmage` and `eval`.
57
+ - **1/19** fails due to a missing class in the bundle.
58
+
59
+ Failures:
60
+
61
+ - `relh.wombo-mix:v3` fails to import: `cogames_agents.policy.scripted_agent.cogsguard.policy.CogsguardWomboMixPolicy`
62
+
63
+ Logs and summary:
64
+
65
+ - `outputs/beta-cvc-policy-bundles-redownload/smoke_logs/summary.txt`
66
+ - Per-policy logs: `outputs/beta-cvc-policy-bundles-redownload/smoke_logs/*__scrimmage.log` and `*__eval.log`
67
+
68
+ ## Diagnose (Diagnostic Evals) Caveats
69
+
70
+ `cogames diagnose` runs **diagnostic evals**, which are not CogsGuard missions. These maps have:
71
+
72
+ - Max cogs = 4.
73
+ - A different action set.
74
+ - Variants incompatible with CogsGuard missions.
75
+
76
+ ### Full diagnostic suite
77
+
78
+ Running `diagnose` with the full `diagnostic_evals` set fails broadly because the evals are incompatible with CogsGuard
79
+ mission variants or cogs > 4.
80
+
81
+ ### Single diagnostic experiment
82
+
83
+ We ran a single diagnostic experiment as a smoke test:
84
+
85
+ ```
86
+ uv run cogames diagnose -S diagnostic_evals \
87
+ --experiments diagnostic_chest_deposit_near \
88
+ -c 4 -e 1 -s 300 \
89
+ ./outputs/beta-cvc-policy-bundles-redownload/<policy>.zip
90
+ ```
91
+
92
+ Results:
93
+
94
+ - OK:
95
+ - cogsguard-roster-mix:v1
96
+ - daveey.pinky:v5/v6/v7/v8/v9
97
+ - noah::coggernaut:v4/v9
98
+ - relh.wombo-mix:v1/v4
99
+ - FAIL:
100
+ - daveey.planky:v6/v7/v8
101
+ - manvi_metcon:v3
102
+ - relh.cogas:v6/v7/v8/v10
103
+ - relh.wombo-mix:v3
104
+
105
+ Typical failure pattern for the diagnostic experiment:
106
+
107
+ - Action mismatch in diagnostics env (example: `KeyError: 'change_vibe_miner'`).
108
+ - `relh.wombo-mix:v3` still fails due to missing class.
109
+
110
+ Conclusion: `diagnose` is **not a reliable signal** for CogsGuard policies. The best local signal for beta-cvc is
111
+ `scrimmage`/`eval` on `cogsguard_machina_1.basic`.
112
+
113
+ ## Beta-CVC Tournament State (As of 2026-01-29)
114
+
115
+ Leaderboard is empty because no competition matches have completed yet. Policies currently in beta-cvc:
116
+
117
+ - Qualifying completed (2 matches): daveey.pinky:v8, daveey.planky:v6, cogsguard-roster-mix:v1, noah::coggernaut:v9,
118
+ noah::coggernaut:v10.
119
+ - Competition active but no matches completed: manvi_metcon:v3.
120
+
121
+ ## Known Issues / Follow-ups
122
+
123
+ - `relh.wombo-mix:v3` bundle references a class that does not exist in the repository (`CogsguardWomboMixPolicy`), so it
124
+ cannot run locally or in the tournament runner.
125
+ - If we need a single “diagnose”-style smoke check for CogsGuard, we should add a dedicated CogsGuard diagnostic mission
126
+ set (or avoid `diagnose` entirely for this season).
@@ -98,7 +98,7 @@ The core pipeline is in `packages/cogames/src/cogames/evaluate.py`:
98
98
  2. **For each mission:** a. `allocate_counts()` distributes agents among policies by weight (largest-remainder method).
99
99
  b. `np.repeat(np.arange(len(counts)), counts)` creates the initial assignment array.
100
100
 
101
- 3. **Episode loop** (`run_multi_episode_rollout()` in `metta_alo/rollout.py:271`):
101
+ 3. **Episode loop** (`run_multi_episode_rollout()` in `mettagrid/runner/rollout.py`):
102
102
  - For each episode:
103
103
  - Shuffle assignments via `rng.shuffle(assignments)` (randomizes which agent slots get which policy).
104
104
  - `run_single_episode_rollout()` creates the environment, loads policies, runs the simulation, collects
@@ -167,16 +167,15 @@ cogames replay <replay_path>
167
167
 
168
168
  ## 5. Wandb Integration Points
169
169
 
170
- **There is no wandb integration in the eval command.**
170
+ **There is no wandb integration in the eval/diagnose commands.**
171
171
 
172
- The `cogames eval`/`scrimmage` pipeline does not import or call wandb. No metrics are logged to wandb during evaluation.
172
+ The `cogames run`/`scrimmage`/`diagnose` pipelines do not import or call wandb. No metrics are logged to wandb during
173
+ evaluation.
173
174
 
174
- Wandb integration exists in:
175
+ Wandb integration exists only in:
175
176
 
176
177
  - The **training pipeline** (`cogames train`) -- logs training curves, losses, and periodic eval metrics during
177
178
  training.
178
- - The standalone **`scripts/run_evaluation.py`** -- has optional wandb logging for batch evaluation runs (this is a
179
- separate script, not the CLI command).
180
179
 
181
180
  This is a significant observability gap. Eval results are ephemeral unless captured via `--format json` to a file.
182
181
 
@@ -7,9 +7,9 @@ Blueprint for a leaderboard-winning agent targeting `cogs.aligned.junction.held
7
7
  Cogas uses a **phased goal-tree** architecture, combining Planky's declarative goal decomposition with CogsGuard's
8
8
  phase-based state machine and evolution-driven role selection.
9
9
 
10
- **Why not pure behavior-tree (Pinky)?** Pinky's vibe-driven approach lacks explicit precondition reasoning. Agents
11
- thrash between behaviors when preconditions aren't met (e.g., attempting to align without hearts). Goal-trees naturally
12
- decompose "align junction" into "have gear AND have hearts AND be adjacent" without custom priority logic.
10
+ **Why not pure behavior-tree?** A vibe-driven approach lacks explicit precondition reasoning. Agents thrash between
11
+ behaviors when preconditions aren't met (e.g., attempting to align without hearts). Goal-trees naturally decompose
12
+ "align junction" into "have gear AND have hearts AND be adjacent" without custom priority logic.
13
13
 
14
14
  **Why not pure goal-tree (Planky)?** Planky has no phase awareness. It re-evaluates the full goal list every tick, which
15
15
  is wasteful when the agent is mid-navigation. Adding phases (BOOTSTRAP, CONTROL, SUSTAIN) gives temporal structure that
@@ -28,7 +28,7 @@ are imperative spaghetti. Goal-tree decomposition inside each phase keeps role l
28
28
  ├─────────────────────────────────────┤
29
29
  │ GoalEvaluator (per-phase goals) │ Precondition decomposition
30
30
  ├─────────────────────────────────────┤
31
- │ Navigator + EntityMap + SafetyMgr │ Shared services (from Planky/Pinky)
31
+ │ Navigator + EntityMap + SafetyMgr │ Shared services (from Planky)
32
32
  └─────────────────────────────────────┘
33
33
  ```
34
34
 
@@ -347,7 +347,7 @@ accumulation. The catalog tracks:
347
347
  3. Implement `PhaseController` with BOOTSTRAP/CONTROL/SUSTAIN transitions
348
348
  4. Port Planky's goal-tree evaluator with phase-aware goal lists
349
349
  5. Implement role-specific goals (miner, aligner, scrambler, scout)
350
- 6. Reuse Planky's `Navigator`, `EntityMap` and Pinky's `SafetyManager`
350
+ 6. Reuse Planky's `Navigator` and `EntityMap`
351
351
 
352
352
  ### Stage 2: Innovations
353
353
 
@@ -206,8 +206,8 @@ Four resources mined from extractors in map corners:
206
206
 
207
207
  **Source:** `stations.py:122-206`
208
208
 
209
- **Miner bonus:** With miner gear, extractors yield 10x resources (large_amount vs small_amount in
210
- `SimpleExtractorConfig`, `stations.py:275-300`).
209
+ **Miner bonus:** With miner gear, extractors yield 10x resources (large_amount vs small_amount in `CvCExtractorConfig`,
210
+ `stations.py:275-300`).
211
211
 
212
212
  ### Hearts
213
213
 
@@ -23,11 +23,6 @@ cogames-agents/src/cogames_agents/policy/
23
23
  │ │ ├── roles.py # Per-role policies (miner, scout, etc.)
24
24
  │ │ ├── types.py # CogsGuard-specific state types
25
25
  │ │ └── ...
26
- │ ├── pinky/ # Behavior-tree style agent
27
- │ │ ├── policy.py # PinkyPolicy (short_name: "pinky")
28
- │ │ ├── behaviors/ # Per-role behavior modules
29
- │ │ ├── services/ # Map, navigation, safety services
30
- │ │ └── state.py # Agent state
31
26
  │ └── planky/ # Goal-tree agent
32
27
  │ ├── policy.py # PlankyPolicy (short_name: "planky")
33
28
  │ ├── goals/ # Goal definitions per role
@@ -315,8 +310,7 @@ class MyPolicyImpl(BaselineAgentPolicyImpl):
315
310
 
316
311
  ## 6. Roles and Vibes
317
312
 
318
- The vibe system is used by team-play agents (CogsGuard, Pinky, Planky) to control agent behavior through in-game visual
319
- state.
313
+ The vibe system is used by team-play agents (CogsGuard, Planky) to control agent behavior through in-game visual state.
320
314
 
321
315
  ### What are vibes?
322
316
 
@@ -407,7 +401,7 @@ uv run cogames play --mission recipes.experiment.cogsguard.play \
407
401
 
408
402
  ```bash
409
403
  # Full evaluation across all diagnostic missions
410
- uv run python packages/cogames/scripts/run_evaluation.py --policy my_agent
404
+ uv run cogames diagnose my_agent -S diagnostic_evals
411
405
  ```
412
406
 
413
407
  ## 8. Code Examples from Existing Agents
@@ -87,17 +87,6 @@ loop.
87
87
  | Weaknesses | Inherits all baseline weaknesses. Unclipping is only relevant when enemy scramblers have clipped extractors -- in pure resource gathering it adds overhead. |
88
88
  | Machina1 fit | **Poor to moderate**. Useful only in adversarial scenarios. The baseline movement inefficiency dominates performance. |
89
89
 
90
- ### Pinky Agent
91
-
92
- **Architecture**: Vibe-based role system with per-agent Brain. Roles: miner, scout, aligner, scrambler. URI-configurable
93
- role distribution.
94
-
95
- | Aspect | Assessment |
96
- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
97
- | Strengths | Multi-role coordination. Scout discovers map efficiently. Aligner/scrambler handle junction control. Dynamic role switching based on communal resource levels. Gear acquisition from stations. |
98
- | Weaknesses | Role switching logic may thrash on machina1 where resource availability shifts as biome zones are discovered. Navigator service quality depends on map complexity -- maze biomes can confuse BFS. |
99
- | Machina1 fit | **Moderate**. Role specialization helps, but the brain/service abstraction adds overhead. Works best when tuned via URI params for specific role ratios. |
100
-
101
90
  ### Planky Agent
102
91
 
103
92
  **Architecture**: Goal-tree hierarchical policy. Each role has a priority-ordered goal list. Goals evaluate
@@ -344,7 +333,6 @@ This would produce generation-over-generation shifts in the role population.
344
333
  | tiny_baseline | Non-viable | Testing only |
345
334
  | baseline | Poor | Ablation baseline |
346
335
  | ladybug_py | Poor-Moderate | Adversarial unclipping |
347
- | pinky | Moderate | Tunable role experiments |
348
336
  | planky | Moderate-Good | Goal-priority research |
349
337
  | role_py (CoGsGuard) | Good | General competitive play |
350
338
  | cogsguard_v2 | Good-Strong | Balanced default teams |
@@ -130,7 +130,7 @@ class=baseline,proportion=0.5
130
130
 
131
131
  # URI format (role-based)
132
132
  metta://policy/role_py?role_cycle=aligner,miner,scrambler,scout
133
- metta://policy/pinky?miner=4&aligner=2&scrambler=4&scout=0
133
+ metta://policy/role_py?miner=4&aligner=2&scrambler=4&scout=0
134
134
  ```
135
135
 
136
136
  ## 4. CogsGuard Game Mechanics
@@ -237,7 +237,7 @@ Recipe execution:
237
237
  - `thinky`, `race_car`, `ladybug` -- Nim-compiled (faster)
238
238
  - `role`, `role_py`, `wombo` -- Role-rotation strategies
239
239
  - `miner`, `scout`, `aligner`, `scrambler` -- Role specialists
240
- - `teacher`, `pinky` -- Role assignment meta-policies
240
+ - `teacher` -- Role assignment meta-policy
241
241
 
242
242
  **Templates** (from cogames):
243
243
 
@@ -11,7 +11,7 @@ game-state-driven role switching.
11
11
 
12
12
  **Key Finding:** The highest-performing agents (CoGsGuard Control, Wombo) share a common pattern: they start with an
13
13
  explore-heavy distribution and dynamically shift toward aligner/scrambler-heavy distributions as junctions are
14
- discovered. Pure static distributions (planky defaults, pinky defaults) leave performance on the table.
14
+ discovered. Pure static distributions (planky defaults) leave performance on the table.
15
15
 
16
16
  ---
17
17
 
@@ -59,50 +59,7 @@ hub recipes.
59
59
 
60
60
  ---
61
61
 
62
- ### 2.2 Pinky (`metta://policy/pinky`)
63
-
64
- **Architecture:** Vibe-based role system with per-agent Brain. URI-configurable static distribution.
65
-
66
- **Default distribution:** All zeroes -- no agents active unless URI params specify counts.
67
-
68
- **Gear-vibe distribution (when `?gear=10`):** The "gear" vibe triggers a hardcoded role selection cycle:
69
-
70
- | Agent ID | Role | Pattern |
71
- | -------- | --------- | ------- |
72
- | 0 | aligner | |
73
- | 1 | aligner | |
74
- | 2 | scrambler | |
75
- | 3 | miner | |
76
- | 4 | aligner | |
77
- | 5 | scrambler | |
78
- | 6 | aligner | |
79
- | 7 | scrambler | |
80
- | 8 | aligner | |
81
- | 9 | miner | |
82
-
83
- **Effective gear-vibe distribution (10 agents):**
84
-
85
- | Role | Count | Percentage |
86
- | --------- | ----- | ---------- |
87
- | Miner | 2 | 20% |
88
- | Scout | 0 | 0% |
89
- | Aligner | 5 | 50% |
90
- | Scrambler | 3 | 30% |
91
-
92
- **Key observations:**
93
-
94
- - The gear-vibe cycle is **heavily biased toward aligners** (50%).
95
- - **Zero scouts** -- same blind-discovery problem as planky defaults.
96
- - Only 2 miners -- may struggle with resource economy on larger maps.
97
- - Supports dynamic `change_role` parameter: miners become aligners/scramblers when all communal resources exceed 25, and
98
- aligners/scramblers revert to miners when any resource drops below 3.
99
- - Agents beyond the specified count stay `default` (noop) -- pinky does NOT fill remaining slots automatically.
100
-
101
- **Source:** `pinky/policy.py:133-148` (gear cycle), `pinky/policy.py:457-477` (constructor).
102
-
103
- ---
104
-
105
- ### 2.3 Role_py / CoGsGuard (`metta://policy/role_py`)
62
+ ### 2.2 Role_py / CoGsGuard (`metta://policy/role_py`)
106
63
 
107
64
  **Architecture:** Multi-role vibe system with SmartRoleCoordinator. Dynamic role switching.
108
65
 
@@ -141,7 +98,7 @@ assigns roles based on team state:
141
98
 
142
99
  ---
143
100
 
144
- ### 2.4 CoGsGuard V2 (`metta://policy/cogsguard_v2`)
101
+ ### 2.3 CoGsGuard V2 (`metta://policy/cogsguard_v2`)
145
102
 
146
103
  **Architecture:** CoGsGuard base with tuned static default allocation formula.
147
104
 
@@ -175,7 +132,7 @@ assigns roles based on team state:
175
132
 
176
133
  ---
177
134
 
178
- ### 2.5 CoGsGuard Control (`metta://policy/cogsguard_control`)
135
+ ### 2.4 CoGsGuard Control (`metta://policy/cogsguard_control`)
179
136
 
180
137
  **Architecture:** Phased commander coordinator with active role reassignment.
181
138
 
@@ -202,7 +159,7 @@ assigns roles based on team state:
202
159
 
203
160
  ---
204
161
 
205
- ### 2.6 Wombo (`metta://policy/wombo`)
162
+ ### 2.5 Wombo (`metta://policy/wombo`)
206
163
 
207
164
  **Architecture:** CoGsGuard generalist variant prioritizing multi-junction alignment.
208
165
 
@@ -244,7 +201,7 @@ algorithm considering:
244
201
 
245
202
  ---
246
203
 
247
- ### 2.7 Teacher (`metta://policy/teacher`)
204
+ ### 2.6 Teacher (`metta://policy/teacher`)
248
205
 
249
206
  **Architecture:** Wrapper that delegates to Nim CoGsGuard agents with forced initial vibes.
250
207
 
@@ -286,12 +243,6 @@ metta://policy/role_py?role_order=aligner,miner,aligner,miner # Exact sequenc
286
243
  metta://policy/role_py?evolution=1 # Evolutionary roles
287
244
  ```
288
245
 
289
- ### Pinky additional params:
290
-
291
- ```
292
- metta://policy/pinky?miner=4&aligner=3&scrambler=3&debug=1&change_role=100
293
- ```
294
-
295
246
  ### Planky additional params:
296
247
 
297
248
  ```
@@ -316,7 +267,6 @@ For a standard 10-agent team:
316
267
  | Agent | Miner | Scout | Aligner | Scrambler | Dynamic? | Notes |
317
268
  | --------------------- | ------------ | ------- | ------- | --------- | -------- | ----------------------------------------------- |
318
269
  | **planky** (default) | 4 (40%) | 0 (0%) | 2 (20%) | 4 (40%) | No | No scouts; denial-heavy |
319
- | **pinky** (gear=10) | 2 (20%) | 0 (0%) | 5 (50%) | 3 (30%) | Partial | Aligner-heavy; resource-triggered switching |
320
270
  | **role_py** (default) | 4 (40%) | 0-2\* | 0-2\* | 1 (10%) | Yes | 5 dynamic `gear` agents fill gaps |
321
271
  | **cogsguard_v2** | 5 (50%) | 1 (10%) | 2 (20%) | 2 (20%) | Limited | Balanced static formula |
322
272
  | **cogsguard_control** | 5-7 | 1-2 | 0-2 | 1-2 | Yes | Phase-aware; commander reassigns every 40 steps |
@@ -405,8 +355,8 @@ Aggressive junction control with double scouts and generalist role switching.
405
355
 
406
356
  ## 6. Conclusions
407
357
 
408
- 1. **No agent currently uses a theoretically optimal distribution out of the box.** Planky and pinky lack scouts
409
- entirely in their defaults. Role_py's defaults are miner-heavy with most agents dynamically assigned.
358
+ 1. **No agent currently uses a theoretically optimal distribution out of the box.** Planky lacks scouts entirely in its
359
+ defaults. Role_py's defaults are miner-heavy with most agents dynamically assigned.
410
360
 
411
361
  2. **Dynamic role switching outperforms static allocation.** CoGsGuard Control and Wombo (the highest-rated agents in
412
362
  machina1 analysis) both use adaptive distributions.
@@ -36,7 +36,3 @@ python -c "from cogames_agents.policy.scripted_registry import list_scripted_age
36
36
  - `cogsguard_v2` - V2 variant
37
37
  - `miner`, `scout`, `aligner`, `scrambler` - Role-specific policies
38
38
  - `teacher` - Teacher wrapper over Nim multi-role
39
-
40
- ## Pinky (Python, CogsGuard)
41
-
42
- - `pinky` - Role-count based policy (`?miner=...&scout=...&aligner=...&scrambler=...`)
@@ -17,7 +17,7 @@ classifiers = [
17
17
  "Operating System :: MacOS",
18
18
  ]
19
19
  urls = { Homepage = "https://github.com/Metta-AI/metta/tree/main/packages/cogames-agents", Repository = "https://github.com/Metta-AI/metta" }
20
- dependencies = ["cogames==0.3.64", "mettagrid==0.2.0.74", "numpy>=2.0.0"]
20
+ dependencies = ["cogames==0.3.68", "mettagrid==0.2.0.82", "numpy>=2.0.0"]
21
21
 
22
22
  [project.optional-dependencies]
23
23
  test = ["pytest", "pytest-xdist", "ruff"]
@@ -16,7 +16,7 @@ Runs every registered scripted agent through `cogames scrimmage` and saves per-a
16
16
  ./scripts/benchmark_agents.sh -e 20 -s 2000 -m cogsguard_arena.basic -o ./my_results
17
17
 
18
18
  # Subset of agents
19
- ./scripts/benchmark_agents.sh -a role,pinky,baseline,wombo -e 50
19
+ ./scripts/benchmark_agents.sh -a role,baseline,wombo -e 50
20
20
  ```
21
21
 
22
22
  **Options:**
@@ -67,7 +67,7 @@ Fast single-agent eval for development iteration (3 episodes, 500 steps by defau
67
67
  ./scripts/quick_eval.sh role
68
68
 
69
69
  # JSON output
70
- ./scripts/quick_eval.sh pinky --json
70
+ ./scripts/quick_eval.sh planky --json
71
71
 
72
72
  # Open in MettaScope GUI
73
73
  ./scripts/quick_eval.sh baseline --gui
@@ -84,7 +84,6 @@ Registered scripted agents (from `cogames-agents` package):
84
84
  | -------------------- | ------------------------------- |
85
85
  | `role` | Multi-role Nim CogsGuard policy |
86
86
  | `role_py` | Python multi-role CogsGuard |
87
- | `pinky` | Alternative role ordering |
88
87
  | `planky` | Plank-focused strategy |
89
88
  | `wombo` | Alternative multi-role |
90
89
  | `baseline` | Standard baseline |
@@ -27,7 +27,6 @@ AGENTS=""
27
27
  ALL_AGENTS=(
28
28
  role
29
29
  role_py
30
- pinky
31
30
  planky
32
31
  wombo
33
32
  baseline
@@ -6,7 +6,7 @@
6
6
  #
7
7
  # Examples:
8
8
  # ./scripts/quick_eval.sh role
9
- # ./scripts/quick_eval.sh pinky -e 5 -s 500
9
+ # ./scripts/quick_eval.sh planky -e 5 -s 500
10
10
  # ./scripts/quick_eval.sh baseline --json
11
11
  # ./scripts/quick_eval.sh role -m cogsguard_arena.basic --seed 99
12
12
 
@@ -16,7 +16,7 @@ if [[ $# -lt 1 ]] || [[ "$1" == "-h" ]] || [[ "$1" == "--help" ]]; then
16
16
  echo "Usage: $0 AGENT [OPTIONS]"
17
17
  echo ""
18
18
  echo "Arguments:"
19
- echo " AGENT Scripted agent name (e.g. role, pinky, baseline)"
19
+ echo " AGENT Scripted agent name (e.g. role, planky, baseline)"
20
20
  echo ""
21
21
  echo "Options:"
22
22
  echo " -e EPISODES Number of episodes (default: 3)"
@@ -14,7 +14,9 @@ from typing import Dict
14
14
  from pydantic import Field
15
15
 
16
16
  from cogames.cogs_vs_clips.cog import CogConfig
17
- from cogames.cogs_vs_clips.mission import Mission, Site
17
+ from cogames.cogs_vs_clips.mission import CoGameSite as Site
18
+ from cogames.cogs_vs_clips.mission import CvCMission as Mission
19
+ from cogames.cogs_vs_clips.team import CogTeam
18
20
  from mettagrid.config.mettagrid_config import MettaGridConfig
19
21
  from mettagrid.map_builder.map_builder import MapBuilderConfig
20
22
  from mettagrid.mapgen.mapgen import MapGen, MapGenConfig
@@ -90,7 +92,6 @@ class _PlankyDiagnosticBase(Mission):
90
92
  default_factory=lambda: CogConfig(
91
93
  energy_limit=255,
92
94
  initial_energy=255,
93
- energy_regen=255,
94
95
  initial_hp=100,
95
96
  hp_regen=0,
96
97
  influence_regen=0,
@@ -108,6 +109,14 @@ class _PlankyDiagnosticBase(Mission):
108
109
  custom_map = _get_planky_map(self.map_name)
109
110
  original_map_builder = self.site.map_builder
110
111
  self.site.map_builder = custom_map
112
+
113
+ # Apply wealth to teams (base class wealth attribute wasn't being used)
114
+ original_teams = self.teams
115
+ self.teams = {
116
+ name: CogTeam(name=team.name, short_name=team.short_name, num_agents=team.num_agents, wealth=self.wealth)
117
+ for name, team in self.teams.items()
118
+ }
119
+
111
120
  try:
112
121
  cfg = super().make_env()
113
122
  cfg.game.map_builder = custom_map
@@ -124,6 +133,7 @@ class _PlankyDiagnosticBase(Mission):
124
133
  return cfg
125
134
  finally:
126
135
  self.site.map_builder = original_map_builder
136
+ self.teams = original_teams
127
137
 
128
138
 
129
139
  # ==============================================================================
@@ -264,7 +274,6 @@ class PlankySurviveRetreat(_PlankyDiagnosticBase):
264
274
  default_factory=lambda: CogConfig(
265
275
  energy_limit=255,
266
276
  initial_energy=255,
267
- energy_regen=255,
268
277
  initial_hp=20,
269
278
  hp_regen=0,
270
279
  influence_regen=0,
@@ -6,14 +6,12 @@ __all__ = [
6
6
  "RandomAgentsMultiPolicy",
7
7
  "ThinkyAgentsMultiPolicy",
8
8
  "RaceCarAgentsMultiPolicy",
9
- "LadyBugAgentsMultiPolicy",
10
9
  "CogsguardAlignAllAgentsMultiPolicy",
11
10
  ]
12
11
 
13
12
  # Re-export the policy classes for convenience
14
13
  from cogames_agents.policy.nim_agents.agents import ( # noqa: F401
15
14
  CogsguardAlignAllAgentsMultiPolicy,
16
- LadyBugAgentsMultiPolicy,
17
15
  RaceCarAgentsMultiPolicy,
18
16
  RandomAgentsMultiPolicy,
19
17
  ThinkyAgentsMultiPolicy,
@@ -55,17 +55,6 @@ class RaceCarAgentsMultiPolicy(NimMultiAgentPolicy):
55
55
  )
56
56
 
57
57
 
58
- class LadyBugAgentsMultiPolicy(NimMultiAgentPolicy):
59
- short_names = ["ladybug"]
60
-
61
- def __init__(self, policy_env_info: PolicyEnvInterface, agent_ids: Sequence[int] | None = None):
62
- super().__init__(
63
- policy_env_info,
64
- nim_policy_factory=na.LadybugPolicy,
65
- agent_ids=agent_ids,
66
- )
67
-
68
-
69
58
  class CogsguardAgentsMultiPolicy(NimMultiAgentPolicy):
70
59
  short_names = ["role"]
71
60
 
@@ -1,6 +1,6 @@
1
1
  import
2
2
  genny, fidget2/measure,
3
- random_agents, thinky_agents, racecar_agents, ladybug_agent, cogsguard_agents,
3
+ random_agents, thinky_agents, racecar_agents, cogsguard_agents,
4
4
  cogsguard_align_all_agents
5
5
 
6
6
 
@@ -45,12 +45,6 @@ exportRefObject RaceCarPolicy:
45
45
  procs:
46
46
  stepBatch(RaceCarPolicy, pointer, int, int, int, int, pointer, int, pointer)
47
47
 
48
- exportRefObject LadybugPolicy:
49
- constructor:
50
- newLadybugPolicy(string)
51
- procs:
52
- stepBatch(LadybugPolicy, pointer, int, int, int, int, pointer, int, pointer)
53
-
54
48
  exportRefObject CogsguardPolicy:
55
49
  constructor:
56
50
  newCogsguardPolicy(string)