AI Slop Code RIsk Monitor

Farama-Foundation/PettingZoo

A standard API for multi-agent reinforcement learning environments, with popular reference environments and related utilities

22.4 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Farama-Foundation/PettingZoo, a Python project with 3,531 GitHub stars. SynthScan examined 46,707 lines of code across 382 source files, recording 871 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 22.4 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

22.4
Adjusted Signal
22.4
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
3.5K
Stars
Python
Language
46.7K
Lines of Code
382
Files
871
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 47.9/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 486 finding(s).

Hallucinated Dependency & Supply Chain Risk 28.7/100 · MEDIUM

Are imports declared and package/API names verified? 320 finding(s).

Agent Over-Engineering Ratio 44.6/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 443 finding(s).

PR Review Velocity Impact 66.9/100 · HIGH

Which changes need focused human review? 871 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 21MEDIUM 28LOW 822

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 871 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers370 hits · 422 pts
SeverityFileLineSnippetContext
LOWconftest.py1def pytest_markdown_docs_globals():CODE
LOW⚡test/deprecated_module_test.py7def test_removed_env_raises_with_guidance():CODE
LOW⚡test/deprecated_module_test.py13def test_unknown_env_raises_attribute_error():CODE
LOW⚡test/deprecated_module_test.py19def test_getattr_default_still_works():CODE
LOW⚡test/deprecated_module_test.py24def test_outdated_version_still_deprecated():CODE
LOWtest/wrapper_record_video_test.py13def test_video_folder_and_filenames_base(CODE
LOWtest/wrapper_record_video_test.py49def test_video_folder_and_filenames_parallel(CODE
LOWtest/wrapper_record_video_test.py88def test_incompatible_render_mode(wrapper, env_fn):CODE
LOW⚡test/test_registry.py75 def test_pettingzoo_suffix_to_gymnasium_suffix(self):CODE
LOW⚡test/test_registry.py78 def test_internal_underscore_in_name_is_preserved(self):CODE
LOW⚡test/test_registry.py84 def test_non_version_suffix_is_preserved(self):CODE
LOW⚡test/test_registry.py110 def test_register_warns_on_override(self):CODE
LOW⚡test/test_registry.py116 def test_register_with_kwargs(self):CODE
LOW⚡test/test_registry.py121 def test_register_normalizes_pettingzoo_version_suffix(self):CODE
LOW⚡test/test_registry.py181 def test_builtin_canonical_id_uses_gymnasium_suffix(self):CODE
LOW⚡test/test_registry.py187 def test_builtin_pettingzoo_suffix_alias_resolves(self):CODE
LOW⚡test/test_registry.py193 def test_builtin_unversioned_resolves_latest(self):CODE
LOW⚡test/test_registry.py201 def test_unversioned_exact_match(self):CODE
LOW⚡test/test_registry.py208 def test_unversioned_namespace_not_found(self):CODE
LOW⚡test/test_registry.py212 def test_unversioned_name_not_found_no_namespace(self):CODE
LOW⚡test/test_registry.py222 def test_load_env_creator_none(self):CODE
LOW⚡test/test_registry.py228 def test_load_env_creator_string_success(self):CODE
LOW⚡test/test_registry.py234 def test_load_env_creator_non_callable(self):CODE
LOWtest/test_registry.py26 def test_simple_name_with_version(self):CODE
LOWtest/test_registry.py32 def test_namespaced_with_version(self):CODE
LOWtest/test_registry.py50 def test_pettingzoo_version_suffix_alias(self):CODE
LOWtest/test_registry.py56 def test_no_namespace_no_version(self):CODE
LOWtest/test_registry.py150 def test_explicit_pettingzoo_version_suffix_alias(self):CODE
LOWtest/test_registry.py267 def test_envspec_make_with_max_cycles(self):CODE
LOWtest/test_registry.py301 def test_make_with_envspec_directly(self):CODE
LOWtest/test_registry.py327 def test_make_max_cycles_override(self):CODE
LOWtest/test_registry.py354 def test_make_max_cycles_disable(self):CODE
LOWtest/test_registry.py387 def test_make_type_mismatch_warns(self):CODE
LOWtest/test_registry.py452 def test_make_kwargs_override(self):CODE
LOWtest/frame_skip_test.py127def test_aec_repeats_action_and_keeps_turn_order():CODE
LOWtest/frame_skip_test.py155def test_aec_accumulates_rewards_since_agent_last_acted():CODE
LOWtest/frame_skip_test.py172def test_aec_num_frames_one_is_unchanged():CODE
LOWtest/frame_skip_test.py181def test_aec_stops_replaying_when_episode_ends(truncate):CODE
LOWtest/frame_skip_test.py204def test_aec_agent_removed_while_replaying():CODE
LOWtest/frame_skip_test.py229def test_aec_added_agent_gets_its_first_action_from_caller():CODE
LOWtest/frame_skip_test.py249def test_aec_reset_clears_pending_actions_and_rewards():CODE
LOWtest/frame_skip_test.py266def test_aec_rejects_invalid_num_frames(num_frames):CODE
LOWtest/frame_skip_test.py271def test_aec_rejects_parallel_env():CODE
LOWtest/frame_skip_test.py347def test_parallel_repeats_actions_and_sums_rewards():CODE
LOWtest/frame_skip_test.py364def test_parallel_stops_when_episode_ends(truncate):CODE
LOWtest/frame_skip_test.py378def test_parallel_agent_removed_partway_keeps_final_transition():CODE
LOWtest/frame_skip_test.py396def test_parallel_added_agent_uses_default_action():CODE
LOWtest/frame_skip_test.py408def test_parallel_added_agent_without_default_action_raises():CODE
LOWtest/frame_skip_test.py415def test_parallel_drops_agent_added_and_removed_within_one_step():CODE
LOWtest/frame_skip_test.py427def test_parallel_random_num_frames_uses_env_rng():CODE
LOWtest/frame_skip_test.py447def test_parallel_rejects_invalid_num_frames(num_frames):CODE
LOWtest/agents_done_test.py24def test_agents_empty_only_after_dead_steps(env_fn):CODE
LOWtest/agents_done_test.py72def test_connect_four_user_mischeck_timing():CODE
LOW⚡test/sticky_action_test.py309def test_aec_first_action_is_never_repeated(probability):CODE
LOW⚡test/sticky_action_test.py318def test_parallel_first_action_is_never_repeated(probability):CODE
LOW⚡test/sticky_action_test.py326def test_aec_zero_probability_never_repeats():CODE
LOW⚡test/sticky_action_test.py335def test_parallel_zero_probability_never_repeats():CODE
LOW⚡test/sticky_action_test.py404def test_parallel_reset_clears_previous_actions():CODE
LOW⚡test/sticky_action_test.py414def test_aec_reset_forwards_seed_to_the_inner_env():CODE
LOW⚡test/sticky_action_test.py420def test_parallel_reset_forwards_seed_to_the_inner_env():CODE
310 more matches not shown…
Unused Imports314 hits · 298 pts
SeverityFileLineSnippetContext
LOWtest/wrapper_record_video_test.py1CODE
LOWtest/frame_skip_test.py1CODE
LOWtest/unwrapped_test.py1CODE
LOWtest/agents_done_test.py12CODE
LOWtest/sticky_action_test.py1CODE
LOWtest/agent_indicator_test.py1CODE
LOWtest/rescale_observation_test.py1CODE
LOWtest/frame_stack_test.py1CODE
LOWtest/black_death_test.py1CODE
LOWtest/flatten_test.py1CODE
LOWtest/pickle_test.py1CODE
LOWtest/wrapper_test.py1CODE
LOWtest/all_parameter_combs_test.py1CODE
LOWtest/seed_test_test.py3CODE
LOWtest/turn_based_conversion_test.py1CODE
LOWtest/delay_observation_test.py1CODE
LOWtest/doc_examples_test.py1CODE
LOWtest/scale_action_test.py1CODE
LOWtest/clip_out_of_bounds_test.py1CODE
LOWtest/reshape_test.py1CODE
LOWtest/pad_action_space_test.py1CODE
LOWtest/nan_zeros_test.py1CODE
LOWtest/pad_observations_test.py1CODE
LOWtest/color_reduction_test.py1CODE
LOWtest/variable_env_test.py1CODE
LOWtest/nan_noop_test.py1CODE
LOWtest/api_spaces_test.py1CODE
LOWtest/max_observation_test.py1CODE
LOWtest/pygame_init_test.py1CODE
LOWtest/nan_random_test.py1CODE
LOWtest/dtype_test.py1CODE
LOWtest/clip_reward_test.py1CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py5CODE
LOWpettingzoo/__init__.py14CODE
LOWpettingzoo/__init__.py14CODE
LOWpettingzoo/butterfly/knights_archers_zombies_v11.py3CODE
LOWpettingzoo/butterfly/knights_archers_zombies_v11.py3CODE
LOWpettingzoo/butterfly/knights_archers_zombies_v11.py3CODE
LOWpettingzoo/butterfly/knights_archers_zombies_v11.py8CODE
LOWpettingzoo/butterfly/pistonball_v6.py3CODE
LOWpettingzoo/butterfly/pistonball_v6.py3CODE
LOWpettingzoo/butterfly/pistonball_v6.py3CODE
LOWpettingzoo/butterfly/pistonball_v6.py3CODE
LOWpettingzoo/butterfly/cooperative_pong_v6.py3CODE
LOWpettingzoo/butterfly/cooperative_pong_v6.py3CODE
LOWpettingzoo/butterfly/cooperative_pong_v6.py3CODE
LOWpettingzoo/butterfly/cooperative_pong_v6.py8CODE
LOWpettingzoo/butterfly/pistonball/pistonball.py94CODE
LOW…tingzoo/butterfly/cooperative_pong/cooperative_pong.py91CODE
LOW…fly/knights_archers_zombies/knights_archers_zombies.py185CODE
LOW…ttingzoo/butterfly/knights_archers_zombies/test_kaz.py3CODE
LOW…ngzoo/butterfly/knights_archers_zombies/src/players.py3CODE
LOW…ngzoo/butterfly/knights_archers_zombies/src/weapons.py13CODE
LOW…ngzoo/butterfly/knights_archers_zombies/src/weapons.py13CODE
254 more matches not shown…
Empty Error Handlers14 hits · 70 pts
SeverityFileLineSnippetContext
HIGHtest/all_parameter_combs_test.py280except NotImplementedError:CODE
HIGHpettingzoo/__init__.py45except Exception: # nosecCODE
HIGHpettingzoo/test/state_test.py33except ModuleNotFoundError:CODE
HIGHpettingzoo/test/save_obs_test.py20except ModuleNotFoundError:CODE
HIGHpettingzoo/test/bombardment_test.py31except ModuleNotFoundError:CODE
HIGHpettingzoo/test/api_test.py60except ModuleNotFoundError:CODE
HIGHpettingzoo/utils/conversions.py121except AttributeError:CODE
HIGHpettingzoo/utils/conversions.py136except AttributeError:CODE
HIGHpettingzoo/utils/conversions.py260except AttributeError:CODE
HIGHpettingzoo/utils/conversions.py266except AttributeError:CODE
HIGHpettingzoo/utils/conversions.py431except AttributeError:CODE
HIGHpettingzoo/utils/conversions.py439except AttributeError:CODE
HIGHpettingzoo/sisl/pursuit/pursuit_base.py200except AttributeError:CODE
HIGHpettingzoo/sisl/pursuit/pursuit_base.py198except AttributeError:CODE
Deep Nesting53 hits · 52 pts
SeverityFileLineSnippetContext
LOWtest/action_mask_test.py18CODE
LOWtest/frame_stack_test.py256CODE
LOWtest/frame_stack_test.py349CODE
LOWtest/turn_based_conversion_test.py48CODE
LOWtest/max_observation_test.py208CODE
LOWtest/print_test.py4CODE
LOWpettingzoo/butterfly/pistonball/manual_policy.py21CODE
LOW…tingzoo/butterfly/cooperative_pong/cooperative_pong.py376CODE
LOWpettingzoo/butterfly/cooperative_pong/manual_policy.py50CODE
LOW…fly/knights_archers_zombies/knights_archers_zombies.py490CODE
LOW…fly/knights_archers_zombies/knights_archers_zombies.py639CODE
LOW…zoo/butterfly/knights_archers_zombies/manual_policy.py23CODE
LOW…ngzoo/butterfly/knights_archers_zombies/src/players.py69CODE
LOWpettingzoo/test/parallel_test.py26CODE
LOWpettingzoo/test/performance_benchmark.py7CODE
LOWpettingzoo/test/bombardment_test.py35CODE
LOWpettingzoo/test/render_test.py9CODE
LOWpettingzoo/test/api_test.py393CODE
LOWpettingzoo/test/api_test.py533CODE
LOW…mple_envs/generated_agents_parallel_cust_agentid_v0.py115CODE
LOWpettingzoo/test/example_envs/generated_agents_env_v0.py112CODE
LOW…gzoo/test/example_envs/generated_agents_parallel_v0.py115CODE
LOW…ample_envs/generated_agents_env_action_mask_info_v0.py118CODE
LOW…xample_envs/generated_agents_env_action_mask_obs_v0.py120CODE
LOW…t/example_envs/generated_agents_env_cust_agentid_v0.py112CODE
LOWpettingzoo/classic/hanabi/rendering.py58CODE
LOWpettingzoo/classic/go/go_base.py108CODE
LOWpettingzoo/classic/go/go.py336CODE
LOWpettingzoo/classic/rps/rps.py219CODE
LOWpettingzoo/classic/rps/rps.py451CODE
LOWpettingzoo/classic/rlcard_envs/texas_holdem.py137CODE
LOWpettingzoo/classic/rlcard_envs/leduc_holdem.py123CODE
LOWpettingzoo/classic/chess/chess_utils.py74CODE
LOWpettingzoo/utils/average_total_reward.py11CODE
LOWpettingzoo/utils/random_demo.py11CODE
LOWpettingzoo/utils/deprecated_module.py56CODE
LOWpettingzoo/utils/wrappers/frame_skip.py168CODE
LOWpettingzoo/sisl/pursuit/pursuit_base.py521CODE
LOWpettingzoo/sisl/pursuit/manual_policy.py22CODE
LOWpettingzoo/sisl/pursuit/utils/agent_utils.py65CODE
LOWpettingzoo/sisl/pursuit/utils/two_d_maps.py5CODE
LOWpettingzoo/sisl/multiwalker/multiwalker_base.py59CODE
LOWpettingzoo/sisl/multiwalker/multiwalker_base.py85CODE
LOWpettingzoo/sisl/multiwalker/multiwalker_base.py570CODE
LOWpettingzoo/sisl/multiwalker/multiwalker_base.py742CODE
LOWdocs/_scripts/generate_gif_image.py12CODE
LOWdocs/_scripts/graph_gen.py9CODE
LOWdocs/_scripts/gen_envs_docstrings.py12CODE
LOWtutorials/AgileRL/agilerl_dqn_curriculum.py41CODE
LOW…rials/SB3/connect_four/sb3_connect_four_action_mask.py107CODE
LOWtutorials/SB3/pistonball/sb3_pistonball_vector.py69CODE
LOW…rials/CustomEnvironment/tutorial2_adding_game_logic.py86CODE
LOWtutorials/CustomEnvironment/tutorial3_action_masking.py93CODE
Modern Structural Boilerplate49 hits · 49 pts
SeverityFileLineSnippetContext
LOWpettingzoo/__init__.py16__all__ = [CODE
LOWpettingzoo/butterfly/knights_archers_zombies_v11.py13__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/butterfly/pistonball_v6.py13__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/butterfly/cooperative_pong_v6.py13__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/butterfly/pistonball/pistonball.py100__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOW…tingzoo/butterfly/cooperative_pong/cooperative_pong.py112__all__ = ["env", "parallel_env", "raw_env"]CODE
LOW…fly/knights_archers_zombies/knights_archers_zombies.py219__all__ = ["env", "parallel_env", "raw_env"]CODE
LOW…ngzoo/butterfly/knights_archers_zombies/src/players.py115 def _update_image(self) -> None:CODE
LOWpettingzoo/classic/chess_v6.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/connect_four_v3.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/go_v5.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/texas_holdem_v4.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/tictactoe_v3.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/leduc_holdem_v4.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/rps_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/classic/hanabi_v5.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/classic/texas_holdem_no_limit_v6.py8__all__ = ["env", "raw_env"]CODE
LOWpettingzoo/atari/ice_hockey_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/joust_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/warlords_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/double_dunk_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/basketball_pong_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/entombed_competitive_v3.py12__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/surround_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/space_war_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/video_checkers_v4.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/pong_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/combat_tank_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/space_invaders_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/volleyball_pong_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/foozpong_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/othello_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/mario_bros_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/maze_craze_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/quadrapong_v4.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/entombed_cooperative_v3.py12__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/combat_plane_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/flag_capture_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/tennis_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/wizard_of_wor_v3.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/atari/base_atari_env.py20__all__ = [CODE
LOWpettingzoo/atari/boxing_v2.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/utils/__init__.py21__all__ = [CODE
LOWpettingzoo/utils/wrappers/delay_observation.py79 def _update_selected_agent_observation(self) -> None:CODE
LOWpettingzoo/utils/wrappers/__init__.py68__all__ = [CODE
LOWpettingzoo/sisl/pursuit_v6.py8__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/sisl/multiwalker_v9.py8__all__ = ["env", "parallel_env", "raw_env"]CODE
LOWpettingzoo/sisl/pursuit/pursuit.py112__all__ = ["ManualPolicy", "env", "parallel_env", "raw_env"]CODE
LOWtutorials/AgileRL/agilerl_dqn_curriculum.py358 def update_top(self) -> None:CODE
Self-Referential Comments14 hits · 40 pts
SeverityFileLineSnippetContext
MEDIUMtutorials/AgileRL/agilerl_dqn_curriculum.py542 # Define the network configurationCOMMENT
MEDIUMtutorials/AgileRL/agilerl_dqn_curriculum.py554 # Define the initial hyperparametersCOMMENT
MEDIUMtutorials/AgileRL/agilerl_dqn_curriculum.py578 # Define the connect four environmentCOMMENT
MEDIUMtutorials/AgileRL/agilerl_dqn_curriculum.py606 # Create a population ready for evolutionary hyper-parameter optimisationCOMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py24 # Define the network configurationCOMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py31 # Define the initial hyperparametersCOMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py53 # Define the simple speaker listener environment as a parallel environmentCOMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py80 # Create a population ready for evolutionary hyper-parameter optimisationCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py24 # Define the network configurationCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py34 # Define the initial hyperparametersCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py55 # Define the space invaders environment as a parallel environmentCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py89 # Create a population ready for evolutionary hyper-parameter optimisationCOMMENT
MEDIUMtutorials/Tianshou/2_training_agents.py65 """This function is needed to provide callables for DummyVectorEnv."""STRING
MEDIUMtutorials/CleanRL/cleanrl_advanced.py382 # Create a fresh non-vectorized Atari env with RGB rendering.COMMENT
Modern AI Meta-Vocabulary13 hits · 34 pts
SeverityFileLineSnippetContext
MEDIUMpettingzoo/sisl/pursuit/utils/agent_utils.py6# Implements utility functions for multi-agent DRLCOMMENT
MEDIUMpettingzoo/sisl/pursuit/utils/controllers.py6# Implements multi-agent controllersCOMMENT
MEDIUMdocs/environments/third_party_envs.md353[//]: # (Set of two environments with numerous multi-agent equilibria popular with researchers)CODE
MEDIUMdocs/api/parallel.md8In addition to the main API, we have a secondary parallel API for environments where all agents have simultaneous actionCODE
MEDIUMdocs/api/wrappers/supersuit_wrappers.md127[//]: # (Note that a multi-agent environment has a similar interface to a vector environment. Give each possible agent aCODE
MEDIUMdocs/api/wrappers/supersuit_wrappers.md230[//]: # (* `action_lambda_v1(env, change_action_fn, change_space_fn)` allows you to define arbitrary changes to CODE
MEDIUMdocs/api/wrappers/supersuit_wrappers.md233[//]: # (* `observation_lambda_v0(env, observation_fn, observation_space_fn)` allows you to define arbitrary chaCODE
MEDIUMdocs/api/wrappers/shimmy_wrappers.md9## Supported multi-agent environments:COMMENT
MEDIUMdocs/tutorials/rllib/index.md19 * [PettingZoo Env](https://docs.ray.io/en/latest/rllib/rllib-env.html#pettingzoo-multi-agent-environments)COMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py58 # Configure the multi-agent algo input argumentsCOMMENT
MEDIUMtutorials/AgileRL/agilerl_matd3.py93 # Configure the multi-agent replay bufferCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py68 # Configure the multi-agent algo input argumentsCOMMENT
MEDIUMtutorials/AgileRL/agilerl_maddpg.py102 # Configure the multi-agent replay bufferCOMMENT
Cross-Language Confusion6 hits · 18 pts
SeverityFileLineSnippetContext
HIGHtest/dtype_test.py257 """Casting an infinite bound to an int dtype is undefined, as in SuperSuit."""STRING
HIGHpettingzoo/classic/hanabi/rendering.py12 R1 || XX|RYGWB12345STRING
HIGHpettingzoo/classic/hanabi/rendering.py15 Y3 || XX|RYGWB12345STRING
HIGHpettingzoo/classic/chess/chess.py276 self.board.push(chosen_move)CODE
HIGHpettingzoo/classic/chess/chess_utils.py259 if (history_idx < 0 && fill_empty_history == FillEmptyHistory::NO) break;STRING
HIGHpettingzoo/classic/chess/chess_utils.py261 if (history_idx < 0 && fill_empty_history == FillEmptyHistory::FEN_ONLY &&STRING
Verbosity Indicators6 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡tutorials/Tianshou/1_basic_api_usage.py19 # Step 1: Load the PettingZoo environmentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py22 # Step 2: Wrap the environment for Tianshou interfacingCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py25 # Step 3: Define policies for each agentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py28 # Step 4: Convert the env to vector formatCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py31 # Step 5: Construct the Collector, which interfaces the policies with the vectorised environmentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py34 # Step 6: Execute the environment with the agents playing for 1 episode, and render a frame every 0.1 secondsCOMMENT
Structural Annotation Overuse6 hits · 14 pts
SeverityFileLineSnippetContext
LOW⚡tutorials/Tianshou/1_basic_api_usage.py19 # Step 1: Load the PettingZoo environmentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py22 # Step 2: Wrap the environment for Tianshou interfacingCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py25 # Step 3: Define policies for each agentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py28 # Step 4: Convert the env to vector formatCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py31 # Step 5: Construct the Collector, which interfaces the policies with the vectorised environmentCOMMENT
LOW⚡tutorials/Tianshou/1_basic_api_usage.py34 # Step 6: Execute the environment with the agents playing for 1 episode, and render a frame every 0.1 secondsCOMMENT
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippetContext
LOWpettingzoo/butterfly/pistonball/pistonball.py597 # Check if the ball is touching/within the left-most wall.COMMENT
LOWpettingzoo/classic/hanabi/hanabi.py285 # Check if all possible dictionary values are within a certain ranges.COMMENT
LOWpettingzoo/env_registry/helpers.py22 # Check if the env name exists at allCOMMENT
LOWtutorials/AgileRL/agilerl_dqn_curriculum.py766 # Check if game is over (Player 0 win)COMMENT
LOWtutorials/AgileRL/agilerl_dqn_curriculum.py857 # Check if game is over (Player 1 win)COMMENT
LOWtutorials/SB3/kaz/sb3_kaz_vector.py128 # Set obs_method to "image" in order to use visual observations (significantly longer training time)COMMENT
AI Structural Patterns8 hits · 8 pts
SeverityFileLineSnippetContext
LOWpettingzoo/butterfly/pistonball/pistonball.py135CODE
LOW…tingzoo/butterfly/cooperative_pong/cooperative_pong.py167CODE
LOW…fly/knights_archers_zombies/knights_archers_zombies.py263CODE
LOWpettingzoo/classic/hanabi/hanabi.py211CODE
LOWpettingzoo/classic/go/go_base.py317CODE
LOWpettingzoo/atari/base_atari_env.py52CODE
LOWpettingzoo/sisl/pursuit/pursuit_base.py19CODE
LOWpettingzoo/sisl/multiwalker/multiwalker_base.py294CODE
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…rials/SB3/connect_four/sb3_connect_four_action_mask.py73 # for the current env. In this example, we assume the env has aCOMMENT
Over-Commented Block7 hits · 7 pts
SeverityFileLineSnippetContext
LOW.pre-commit-config.yaml41# args:COMMENT
LOWpyproject.toml81# Match the historical black line length (88) so `ruff format` reproduces it.COMMENT
LOWpettingzoo/butterfly/cooperative_pong/test_ball.py81 # the paddles occupy the entire side walls, so it should not beCOMMENT
LOWpettingzoo/classic/go/coords.py1# Copyright 2018 Google LLCCOMMENT
LOWpettingzoo/classic/go/go_base.py1# Copyright 2018 Google LLCCOMMENT
LOWdocs/conf.py1# Configuration file for the Sphinx documentation builder.COMMENT
LOWdocs/_scripts/generate_gifs.py21#COMMENT
AI Slop Vocabulary2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdocs/code_examples/parallel_rps.py150 # If a user passes in actions with no agents, then just return empty observations, etc.COMMENT
MEDIUM…rials/SB3/connect_four/sb3_connect_four_action_mask.py67 """Separate function used in order to access the action mask."""STRING
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOWpettingzoo/__init__.py45except Exception: # nosecCODE
LOWpettingzoo/test/manual_control_test.py28 except Exception as e:CODE