Agentic RL Training at Scale
This report presents the forensic synthetic code analysis of PrimeIntellect-ai/prime-rl, a Python project with 1,864 GitHub stars. SynthScan v2.0 examined 69,835 lines of code across 459 source files, recording 1001 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 19.9 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1001 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/utils.py | 24 | def check_number_goes_up_or_down( | CODE |
| LOW | tests/utils.py | 110 | def check_final_eval_reward_above(lines: list[str], env_name: str, min_threshold: float): | CODE |
| LOW | tests/utils.py | 145 | def check_avg_reward_in_range( | CODE |
| LOW | tests/utils.py | 178 | def check_avg_mismatch_kl_in_range( | CODE |
| LOW | tests/utils.py | 211 | def check_mismatch_kl_in_range( | CODE |
| LOW⚡ | tests/unit/test_configs.py | 98 | def test_toml_partial_nested_override(tmp_path): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 107 | def test_toml_discriminated_union_default_type(tmp_path): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 116 | def test_toml_discriminated_union_switch_variant(tmp_path): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 124 | def test_toml_discriminated_union_override_switch_variant(tmp_path): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 132 | def test_cli_overrides_defaults(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 140 | def test_toml_overrides_defaults(tmp_path): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 565 | def test_orchestrator_renderer_auto_rejects_unmapped_model(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 571 | def test_orchestrator_renderer_auto_accepts_mapped_model(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 578 | def test_sft_renderer_auto_accepts_prime_qwen_model(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 583 | def test_sft_rejects_default_renderer_for_real_data(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 588 | def test_sft_allows_unused_default_renderer_for_fake_data(): | CODE |
| LOW⚡ | tests/unit/test_configs.py | 598 | def test_orchestrator_explicit_renderer_skips_unmapped_check(): | CODE |
| LOW | tests/unit/test_configs.py | 159 | def test_removed_fused_lm_head_chunk_size_field_is_rejected(): | CODE |
| LOW | tests/unit/test_configs.py | 164 | def test_to_toml_dict_roundtrips_explicit_none(tmp_path): | CODE |
| LOW | tests/unit/test_configs.py | 180 | def test_env_algo_overrides_top_level(): | CODE |
| LOW | tests/unit/test_configs.py | 215 | def test_trainer_enable_token_export_cli_flag(): | CODE |
| LOW | tests/unit/test_configs.py | 220 | def test_single_node_auto_inference_ports_follow_server_port(): | CODE |
| LOW | tests/unit/test_configs.py | 241 | def test_multi_node_auto_inference_parallelism(): | CODE |
| LOW | tests/unit/test_configs.py | 262 | def test_orchestrator_vlm_requires_renderer(): | CODE |
| LOW | tests/unit/test_configs.py | 292 | def test_trainer_rejects_vlm_cp_with_ring(): | CODE |
| LOW | tests/unit/test_configs.py | 310 | def test_selective_activation_checkpointing_requires_custom_impl(): | CODE |
| LOW | tests/unit/test_configs.py | 315 | def test_shared_model_name_propagates_to_subconfigs(): | CODE |
| LOW | tests/unit/test_configs.py | 332 | def test_shared_tokenizer_propagates_when_subconfigs_unset(): | CODE |
| LOW | tests/unit/test_configs.py | 345 | def test_shared_and_sub_tokenizer_name_conflict_raises(): | CODE |
| LOW | tests/unit/test_configs.py | 360 | def test_tokenizer_name_falls_back_to_model_name_when_unset(): | CODE |
| LOW | tests/unit/test_configs.py | 375 | def test_explicit_subconfig_tokenizer_name_survives_shared_model_propagation(): | CODE |
| LOW | tests/unit/test_configs.py | 408 | def test_tokenizer_chat_template_mismatch_raises(): | CODE |
| LOW | tests/unit/test_configs.py | 418 | def test_shared_seq_len_propagates_to_subconfigs(): | CODE |
| LOW | tests/unit/test_configs.py | 430 | def test_shared_and_sub_seq_len_conflict_raises(): | CODE |
| LOW | tests/unit/test_configs.py | 444 | def test_shared_and_sub_model_name_conflict_raises(): | CODE |
| LOW | tests/unit/test_configs.py | 456 | def test_shared_and_sub_max_steps_conflict_raises(): | CODE |
| LOW | tests/unit/test_configs.py | 468 | def test_trainer_chat_template_cascades_to_inference(): | CODE |
| LOW | tests/unit/test_configs.py | 488 | def test_shared_wandb_fields_propagate_to_subconfigs(): | CODE |
| LOW | tests/unit/test_configs.py | 517 | def test_empty_shared_ckpt_block_does_not_conflict_with_subconfig_ckpt(): | CODE |
| LOW | tests/unit/test_configs.py | 531 | def test_shared_and_subconfig_disjoint_fields_coexist(): | CODE |
| LOW | tests/unit/test_configs.py | 545 | def test_shared_output_dir_propagates_through_cli(tmp_path): | CODE |
| LOW | tests/unit/test_configs.py | 610 | def test_orchestrator_renderer_none_rejected(): | CODE |
| LOW | tests/unit/test_configs.py | 621 | def test_orchestrator_explicit_default_renderer_with_unmapped_model(): | CODE |
| LOW | tests/unit/test_configs.py | 634 | def test_shared_model_name_resolves_inference_parsers(): | CODE |
| LOW | tests/unit/test_configs.py | 652 | def test_explicit_inference_parser_wins_over_auto(): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 97 | def test_resolve_tool_call_parser(model_name: str, expected_tool_call: str | None, expected_reasoning: str | None): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 102 | def test_resolve_reasoning_parser(model_name: str, expected_tool_call: str | None, expected_reasoning: str | None): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 106 | def test_inference_config_resolves_parsers_from_model_name(): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 113 | def test_inference_config_explicit_parser_not_overridden(): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 118 | def test_inference_config_none_disables_parser(): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 126 | def test_to_namespace_resolves_parsers(): | CODE |
| LOW⚡ | tests/unit/test_parsers.py | 134 | def test_to_namespace_none_strips_parser_attrs_from_namespace(): | CODE |
| LOW | tests/unit/test_parsers.py | 145 | def test_to_namespace_unknown_model_disables_auto_tool_choice(): | CODE |
| LOW | tests/unit/test_parsers.py | 152 | def test_to_namespace_passes_through_unknown_args(): | CODE |
| LOW | tests/unit/utils/test_sequence.py | 19 | def test_get_cu_seqlens_from_position_ids_is_local_relative( | CODE |
| LOW | tests/unit/utils/test_sequence.py | 31 | def test_get_cu_seqlens_from_seq_lens(): | CODE |
| LOW | tests/unit/utils/test_sequence.py | 39 | def test_get_cu_seqlens_from_seq_lens_rejects_wrong_total(): | CODE |
| LOW | tests/unit/utils/test_metrics_server.py | 21 | def test_config_default_values(): | CODE |
| LOW | tests/unit/utils/test_metrics_server.py | 32 | def test_config_invalid_port_low(): | CODE |
| LOW | tests/unit/utils/test_metrics_server.py | 37 | def test_config_invalid_port_high(): | CODE |
| 416 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 162 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 164 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 187 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 189 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 237 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_advantage.py | 239 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 102 | # ── Build a real Qwen3VLRenderer with a real processor. ───────────── | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 109 | # ── Manually wire a RendererClient bypassing the pool factory. ────── | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 118 | # ── Build a verifiers-shaped user message with an image. ──────────── | COMMENT |
| MEDIUM | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 144 | # ── The HTTP body should carry a features payload. ────────────────── | COMMENT |
| MEDIUM | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 152 | # ── Pydantic-roundtrip through vLLM's GenerateRequest model. ──────── | COMMENT |
| MEDIUM | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 163 | # exactly on a run of <|image_pad|> ids in the prompt. ─────────── | COMMENT |
| MEDIUM | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 186 | # ── Response parsed through renderer's parse_response. ────────────── | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 91 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 97 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 216 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 223 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/integration/test_benchmark_regression.py | 166 | # ============================================================================= | COMMENT |
| MEDIUM | tests/integration/test_benchmark_regression.py | 168 | # ============================================================================= | COMMENT |
| MEDIUM | tests/integration/test_benchmark_regression.py | 226 | # ============================================================================= | COMMENT |
| MEDIUM | tests/integration/test_benchmark_regression.py | 228 | # ============================================================================= | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 49 | # ── Auto-detect CUDA toolkit matching torch ─────────────────────────────────── | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 66 | # ── Auto-detect GPU architecture ────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 91 | # ── Step 1: Install build deps ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 97 | # ── Step 2: Download and extract NVSHMEM ────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 127 | # ── Step 3: Build and install DeepEP ────────────────────────────────────────── | COMMENT |
| MEDIUM | scripts/install_ep_kernels.sh | 148 | # ── Step 4 (optional): Configure IBGDA drivers ─────────────────────────────── | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 77 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 90 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ges/prime-rl-configs/src/prime_rl/configs/algorithm.py | 157 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/_compat.py | 7 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/_compat.py | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/_compat.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/_compat.py | 35 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/utils/vlm.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/utils/vlm.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/utils/vlm.py | 114 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/utils/vlm.py | 116 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/kernels/fp8_utils.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/kernels/fp8_utils.py | 27 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/trainer/models/kernels/fp8_utils.py | 90 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | src/prime_rl/trainer/models/kernels/fp8_utils.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/kernels/fp8_utils.py | 370 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/kernels/fp8_utils.py | 372 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/layers/ring_attn.py | 314 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/layers/ring_attn.py | 316 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 924 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 926 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 230 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 232 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 395 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 397 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 504 | # --------------------------------------------------------------------------- | COMMENT |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unit/train/test_model.py | 24 | CODE | |
| LOW | tests/unit/inference/test_serving_tokens.py | 11 | CODE | |
| LOW | tests/unit/orchestrator/test_qwen3_vl_e2e.py | 14 | CODE | |
| LOW | tests/integration/test_benchmark_regression.py | 9 | CODE | |
| LOW | benchmarks/scripts/aggregate_results.py | 4 | CODE | |
| LOW | benchmarks/scripts/run_single_benchmark.py | 9 | CODE | |
| LOW | packages/prime-rl-configs/src/prime_rl/utils/config.py | 5 | CODE | |
| LOW | packages/prime-rl-configs/src/prime_rl/utils/config.py | 6 | CODE | |
| LOW | …ages/prime-rl-configs/src/prime_rl/utils/validation.py | 1 | CODE | |
| LOW | packages/prime-rl-configs/src/prime_rl/configs/rl.py | 21 | CODE | |
| LOW | src/prime_rl/transport/__init__.py | 9 | CODE | |
| LOW | src/prime_rl/transport/__init__.py | 9 | CODE | |
| LOW | src/prime_rl/transport/__init__.py | 9 | CODE | |
| LOW | src/prime_rl/utils/async_utils.py | 1 | CODE | |
| LOW | src/prime_rl/utils/sequence.py | 1 | CODE | |
| LOW | src/prime_rl/utils/client.py | 1 | CODE | |
| LOW | src/prime_rl/utils/cp.py | 1 | CODE | |
| LOW | src/prime_rl/utils/cp.py | 4 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 4 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 19 | CODE | |
| LOW | src/prime_rl/utils/metrics_server.py | 17 | CODE | |
| LOW | src/prime_rl/utils/monitor/prime.py | 1 | CODE | |
| LOW | src/prime_rl/utils/monitor/wandb.py | 1 | CODE | |
| LOW | src/prime_rl/utils/monitor/multi.py | 1 | CODE | |
| LOW | src/prime_rl/utils/monitor/file.py | 1 | CODE | |
| LOW | src/prime_rl/utils/monitor/base.py | 1 | CODE | |
| LOW | src/prime_rl/inference/vllm/server.py | 200 | CODE | |
| LOW | src/prime_rl/inference/vllm/routed_experts.py | 1 | CODE | |
| LOW | src/prime_rl/inference/vllm/serving_tokens.py | 27 | CODE | |
| LOW | src/prime_rl/inference/vllm/worker/nixl.py | 3 | CODE | |
| LOW | src/prime_rl/trainer/scheduler.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/distributed/__init__.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/distributed/__init__.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/distributed/__init__.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/models/conversion_ops.py | 36 | CODE | |
| LOW | src/prime_rl/trainer/models/__init__.py | 19 | CODE | |
| LOW | src/prime_rl/trainer/models/__init__.py | 19 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/__init__.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/__init__.py | 2 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/__init__.py | 2 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/__init__.py | 2 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/converting_laguna.py | 20 | CODE | |
| LOW | src/prime_rl/trainer/models/kernels/fp8_utils.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/models/gpt_oss/__init__.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/models/gpt_oss/__init__.py | 2 | CODE | |
| LOW | src/prime_rl/trainer/models/gpt_oss/__init__.py | 2 | CODE | |
| LOW | src/prime_rl/trainer/models/gpt_oss/__init__.py | 2 | CODE | |
| LOW | …ime_rl/trainer/models/gpt_oss/configuration_gpt_oss.py | 4 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/lm_head_gemma.py | 1 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/mxfp8_linear.py | 1 | CODE | |
| 105 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/rl.py | 0 | keep at most this many recent step checkpoints on disk. if none, never clean old checkpoints based on recency. | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | keep at most this many recent step checkpoints on disk. if none, never clean old checkpoints based on recency. | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | keep at most this many recent step checkpoints on disk. if none, never clean old checkpoints based on recency. | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/rl.py | 0 | keep checkpoints at every n steps permanently (e.g. ``keep_interval=100`` keeps step 100, 200, ...). if none, no interva | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | keep checkpoints at every n steps permanently (e.g. ``keep_interval=100`` keeps step 100, 200, ...). if none, no interva | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | keep checkpoints at every n steps permanently (e.g. ``keep_interval=100`` keeps step 100, 200, ...). if none, no interva | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/rl.py | 0 | only validate and dump resolved configs, then exit early. | STRING |
| HIGH | …ges/prime-rl-configs/src/prime_rl/configs/inference.py | 0 | only validate and dump resolved configs, then exit early. | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/sft.py | 0 | only validate and dump resolved configs, then exit early. | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | extra environment variables for the sft trainer process(es). merged on top of the launcher defaults. | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | extra environment variables for the sft trainer process(es). merged on top of the launcher defaults. | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/sft.py | 0 | extra environment variables for the sft trainer process(es). merged on top of the launcher defaults. | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | local jsonl metric sink. if set, metrics are appended to ``<output_dir>/metrics.jsonl``. | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | local jsonl metric sink. if set, metrics are appended to ``<output_dir>/metrics.jsonl``. | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/sft.py | 0 | local jsonl metric sink. if set, metrics are appended to ``<output_dir>/metrics.jsonl``. | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | directory to write outputs to — checkpoints and logs are written as subdirectories. should be a persistent directory wit | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | directory to write outputs to — checkpoints and logs are written as subdirectories. should be a persistent directory wit | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/sft.py | 0 | directory to write outputs to — checkpoints and logs are written as subdirectories. should be a persistent directory wit | STRING |
| HIGH | …/prime-rl-configs/src/prime_rl/configs/orchestrator.py | 0 | betterstack heartbeat configuration for monitoring training progress. | STRING |
| HIGH | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 0 | betterstack heartbeat configuration for monitoring training progress. | STRING |
| HIGH | packages/prime-rl-configs/src/prime_rl/configs/sft.py | 0 | betterstack heartbeat configuration for monitoring training progress. | STRING |
| HIGH | src/prime_rl/trainer/models/layers/attn.py | 0 | run the flash attention kernel. q/k/v are [total_tokens, heads, dim]. | STRING |
| HIGH | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 0 | run the flash attention kernel. q/k/v are [total_tokens, heads, dim]. | STRING |
| HIGH | src/prime_rl/trainer/models/afmoe/modeling_afmoe.py | 0 | run the flash attention kernel. q/k/v are [total_tokens, heads, dim]. | STRING |
| HIGH | …me_rl/trainer/models/minimax_m2/modeling_minimax_m2.py | 0 | routed_experts (`torch.longtensor` of shape `(batch_size, sequence_length, num_hidden_layers, num_experts_per_tok)`, *op | STRING |
| HIGH | …/prime_rl/trainer/models/glm4_moe/modeling_glm4_moe.py | 0 | routed_experts (`torch.longtensor` of shape `(batch_size, sequence_length, num_hidden_layers, num_experts_per_tok)`, *op | STRING |
| HIGH | …rime_rl/trainer/models/qwen3_moe/modeling_qwen3_moe.py | 0 | routed_experts (`torch.longtensor` of shape `(batch_size, sequence_length, num_hidden_layers, num_experts_per_tok)`, *op | STRING |
| HIGH | …_rl/trainer/models/glm_moe_dsa/modeling_glm_moe_dsa.py | 0 | routed_experts (`torch.longtensor` of shape `(batch_size, sequence_length, num_hidden_layers, num_experts_per_tok)`, *op | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/train/models/afmoe_hf_modeling/configuration_afmoe.py | 132 | __all__ = ["AfmoeConfig"] | CODE |
| LOW | …/unit/train/models/afmoe_hf_modeling/modeling_afmoe.py | 641 | __all__ = [ | CODE |
| LOW | src/prime_rl/transport/__init__.py | 42 | __all__ = [ | CODE |
| LOW | src/prime_rl/utils/client.py | 79 | def update_model_name(self, model_name: str) -> None: | CODE |
| LOW | src/prime_rl/utils/client.py | 89 | async def update_weights(self, weight_dir: Path | None, lora_name: str | None = None, step: int = 0) -> None: | CODE |
| LOW | src/prime_rl/utils/process.py | 36 | def set_proc_title(name: str) -> None: | CODE |
| LOW | src/prime_rl/utils/monitor/__init__.py | 13 | __all__ = [ | CODE |
| LOW | src/prime_rl/inference/vllm/worker/nccl.py | 138 | def update_weights_from_path(self, weight_dir: str) -> None: | CODE |
| LOW | src/prime_rl/inference/vllm/worker/filesystem.py | 28 | def update_weights_from_path(self, weight_path: str) -> None: | CODE |
| LOW | src/prime_rl/inference/vllm/worker/__init__.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/prime_rl/inference/vllm/worker/weight_transfer.py | 138 | def update_mla_absorbed_weights(model: Module) -> None: | CODE |
| LOW | src/prime_rl/inference/vllm/worker/nixl.py | 507 | def update_weights_from_path(self, weight_dir: str | None = None) -> None: | CODE |
| LOW | src/prime_rl/trainer/parallel_dims.py | 32 | __all__ = ["ParallelDims"] | CODE |
| LOW | src/prime_rl/trainer/lora.py | 124 | def _set_module_by_name(model: nn.Module, module_name: str, new_module: nn.Module) -> None: | CODE |
| LOW | src/prime_rl/trainer/distributed/deepep.py | 338 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/distributed/__init__.py | 3 | __all__ = ["DeepEPExpertParallel", "MXFP8AllToAllExpertParallel", "get_ep_group"] | CODE |
| LOW | src/prime_rl/trainer/models/__init__.py | 104 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/base.py | 148 | __all__ = ["PreTrainedModelPrimeRL"] | CODE |
| LOW | src/prime_rl/trainer/models/laguna/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …prime_rl/trainer/models/laguna/configuration_laguna.py | 193 | __all__ = ["LagunaConfig"] | CODE |
| LOW | src/prime_rl/trainer/models/laguna/modeling_laguna.py | 395 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/gpt_oss/modeling_gpt_oss.py | 356 | __all__ = [ | STRING |
| LOW | src/prime_rl/trainer/models/gpt_oss/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …ime_rl/trainer/models/gpt_oss/configuration_gpt_oss.py | 6 | __all__ = ["GptOssConfig"] | CODE |
| LOW | src/prime_rl/trainer/models/layers/ring_attn.py | 11 | def _set_fa3_signature_params(params: dict, causal: bool, window_size: tuple[int, int]) -> None: | CODE |
| LOW⚡ | src/prime_rl/trainer/models/layers/moe.py | 621 | def set_ep_comm_backend(self, backend: EPCommBackend) -> None: | CODE |
| LOW⚡ | src/prime_rl/trainer/models/layers/moe.py | 625 | def set_deepep_token_chunk_size(self, chunk_size: int | None) -> None: | CODE |
| LOW⚡ | src/prime_rl/trainer/models/layers/moe.py | 1106 | def set_ep_comm_backend(self, backend: EPCommBackend) -> None: | CODE |
| LOW⚡ | src/prime_rl/trainer/models/layers/moe.py | 1110 | def set_deepep_token_chunk_size(self, chunk_size: int | None) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 202 | def set_ep_comm_backend(self, backend: EPCommBackend) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 354 | def set_ep_comm_backend(self, backend: EPCommBackend) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 905 | def set_ep_comm_backend(self, backend: EPCommBackend) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/ulysses_attn.py | 48 | def update_ulysses_params(cu_seqlens: torch.Tensor, max_seqlen: int) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/rms_norm.py | 3 | __all__ = ["RMSNorm", "RMSNormConfig"] | CODE |
| LOW | src/prime_rl/trainer/models/layers/checkpointing.py | 120 | def set_selective_activation_checkpointing(layer: nn.Module, targets: Iterable[str]) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/lora/__init__.py | 11 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/layers/lora/base.py | 14 | def set_lora_num_tokens(num_tokens: torch.Tensor, reset_reference: bool = False) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/layers/lora/base.py | 42 | def set_multilora_scaling(scaling_factors: torch.Tensor, reset_reference: bool = False) -> None: | CODE |
| LOW | src/prime_rl/trainer/models/minimax_m2/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …me_rl/trainer/models/minimax_m2/modeling_minimax_m2.py | 275 | __all__ = [ | STRING |
| LOW | …/trainer/models/nemotron_h/configuration_nemotron_h.py | 227 | __all__ = ["NemotronHConfig"] | CODE |
| LOW | src/prime_rl/trainer/models/nemotron_h/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …me_rl/trainer/models/nemotron_h/modeling_nemotron_h.py | 191 | def set_context_parallel_attributes(self, cp_group: dist.ProcessGroup, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …me_rl/trainer/models/nemotron_h/modeling_nemotron_h.py | 407 | def set_context_parallel_attributes(self, cp_group: dist.ProcessGroup, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …me_rl/trainer/models/nemotron_h/modeling_nemotron_h.py | 477 | def set_context_parallel_attributes(self, cp_group: dist.ProcessGroup, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …me_rl/trainer/models/nemotron_h/modeling_nemotron_h.py | 521 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/qwen3/__init__.py | 3 | __all__ = ["Qwen3ForCausalLM", "Qwen3Model", "Qwen3PreTrainedModel"] | CODE |
| LOW | src/prime_rl/trainer/models/qwen3/modeling_qwen3.py | 281 | __all__ = ["Qwen3ForCausalLM", "Qwen3Model", "Qwen3PreTrainedModel"] | STRING |
| LOW⚡ | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 921 | def set_context_parallel_attributes(self, cp_group, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 685 | def set_context_parallel_attributes(self, cp_group, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 773 | def set_context_parallel_attributes(self, cp_group, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 1022 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/qwen3_5_moe/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/glm_moe_dsa/__init__.py | 8 | __all__ = [ | CODE |
| LOW | …_rl/trainer/models/glm_moe_dsa/modeling_glm_moe_dsa.py | 84 | def set_context_parallel_attributes(self, cp_group: dist.ProcessGroup, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …_rl/trainer/models/glm_moe_dsa/modeling_glm_moe_dsa.py | 361 | __all__ = ["GlmMoeDsaConfig", "GlmMoeDsaPreTrainedModel", "GlmMoeDsaModel", "GlmMoeDsaForCausalLM"] | STRING |
| LOW | …_rl/trainer/models/glm_moe_dsa/sparse_mla_attention.py | 171 | def set_context_parallel_attributes(self, cp_group: dist.ProcessGroup, cp_rank: int, cp_world_size: int) -> None: | CODE |
| LOW | …c/prime_rl/trainer/models/afmoe/configuration_afmoe.py | 116 | __all__ = ["AfmoeConfig"] | CODE |
| LOW | src/prime_rl/trainer/models/afmoe/__init__.py | 8 | __all__ = [ | CODE |
| LOW | src/prime_rl/trainer/models/afmoe/modeling_afmoe.py | 507 | __all__ = [ | STRING |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmarks/scripts/aggregate_results.py | 76 | except Exception as e: | CODE |
| LOW | benchmarks/scripts/run_single_benchmark.py | 32 | except Exception: | CODE |
| LOW | benchmarks/scripts/run_single_benchmark.py | 238 | except Exception as e: | CODE |
| MEDIUM | benchmarks/scripts/run_single_benchmark.py | 241 | print(f"Error: {e}") | CODE |
| LOW | scripts/chat.py | 161 | except Exception as e: | CODE |
| LOW | src/prime_rl/transport/zmq.py | 59 | except Exception: | CODE |
| LOW | src/prime_rl/utils/client.py | 191 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/utils.py | 54 | except Exception: | CODE |
| LOW | src/prime_rl/utils/utils.py | 74 | except Exception: | CODE |
| MEDIUM | src/prime_rl/utils/utils.py | 49 | def async_wrapper(*args, **kwargs): | CODE |
| MEDIUM | src/prime_rl/utils/utils.py | 69 | def sync_wrapper(*args, **kwargs): | CODE |
| LOW | src/prime_rl/utils/background_async.py | 61 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/background_async.py | 95 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/usage_reporter.py | 66 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 388 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 407 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 420 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 439 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 555 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 597 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/prime.py | 616 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/wandb.py | 155 | except Exception as e: | CODE |
| LOW | src/prime_rl/utils/monitor/wandb.py | 454 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 33 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 40 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 47 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 54 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 61 | except Exception as e: | CODE |
| LOW⚡ | src/prime_rl/utils/monitor/multi.py | 68 | except Exception as e: | CODE |
| LOW | src/prime_rl/entrypoints/rl.py | 424 | except Exception as e: | CODE |
| LOW | src/prime_rl/entrypoints/sft.py | 201 | except Exception as e: | CODE |
| LOW | src/prime_rl/inference/vllm/serving_tokens.py | 142 | except Exception: | CODE |
| LOW | src/prime_rl/trainer/models/kernels/sparse_mla_bwd.py | 12 | except Exception: | CODE |
| LOW | src/prime_rl/trainer/models/kernels/sparse_mla_fwd.py | 12 | except Exception: | CODE |
| LOW | src/prime_rl/orchestrator/dispatcher.py | 509 | except Exception as exc: | CODE |
| LOW | src/prime_rl/orchestrator/inference_metrics.py | 407 | except Exception as e: | CODE |
| LOW | src/prime_rl/orchestrator/inference_metrics.py | 421 | except Exception as e: | CODE |
| LOW | src/prime_rl/orchestrator/utils.py | 92 | except Exception as exc: | CODE |
| LOW | src/prime_rl/orchestrator/packing.py | 20 | except Exception as e: | CODE |
| LOW | src/prime_rl/orchestrator/watcher.py | 132 | except Exception as exc: | CODE |
| LOW | src/prime_rl/orchestrator/watcher.py | 151 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/advanced/glm-4.5-air/terminal.toml | 2 | # run through the rlm harness (ipython-only) on a prime sandbox. Each task ships its own Docker image | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/terminal.toml | 16 | # Clean up this run's orphaned prime sandboxes before launch (hardcoded label, matches the harness labels below). | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/terminal.toml | 110 | # # Metric-only monitors (weight 0): rlm harness-mechanics + swe code-usage rubrics, judged by GLM-5.2. | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/swe.toml | 1 | # v1 RL: GLM-4.5-Air (100B MoE) on the v1 `scaleswe-v1` SWE taskset, rlm harness on a prime sandbox | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/swe.toml | 26 | # Clean up this run's orphaned prime sandboxes before launch (hardcoded label, matches the harness labels below). | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/swe.toml | 118 | # --- Eval: SWE-Bench Verified at step 0 + every 20 steps, rlm harness on prime --- | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/search.toml | 2 | # through the rlm harness (its built-in `search` skill) on a prime sandbox. GRPO + linear length | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/search.toml | 15 | # Clean up this run's orphaned prime sandboxes before launch (hardcoded label, matches the harness labels below). | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/search.toml | 121 | # # Metric-only monitor (weight 0): rlm harness-mechanics rubric, judged by GLM-5.2. | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/search.toml | 154 | # # Metric-only monitor (weight 0): rlm harness-mechanics rubric, judged by GLM-5.2. | COMMENT |
| MEDIUM | examples/advanced/glm-4.5-air/search.toml | 192 | # # Metric-only monitor (weight 0): rlm harness-mechanics rubric, judged by GLM-5.2. | COMMENT |
| MEDIUM | src/prime_rl/inference/server.py | 10 | # spawn is more robust in vLLM nightlies and Qwen3-VL (fork can deadlock with multithreaded processes) | COMMENT |
| LOW | src/prime_rl/trainer/perf.py | 157 | # Some MoE models (e.g. DeepSeek) use moe_intermediate_size, others (e.g. Granite) just use intermediate_size | COMMENT |
| MEDIUM | src/prime_rl/trainer/sft/data.py | 295 | # scaffolding (e.g. <|im_start|>assistant) the harness emits. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/chat.py | 15 | CODE | |
| LOW | packages/prime-rl-configs/src/prime_rl/configs/rl.py | 605 | CODE | |
| LOW | src/prime_rl/utils/act_offloading.py | 56 | CODE | |
| LOW | src/prime_rl/utils/act_offloading.py | 116 | CODE | |
| LOW | src/prime_rl/utils/nccl.py | 8 | CODE | |
| LOW | src/prime_rl/utils/chat_template.py | 5 | CODE | |
| LOW | src/prime_rl/utils/utils.py | 110 | CODE | |
| LOW | src/prime_rl/utils/usage_reporter.py | 49 | CODE | |
| LOW | src/prime_rl/entrypoints/rl.py | 124 | CODE | |
| LOW | src/prime_rl/inference/patches.py | 314 | CODE | |
| LOW | src/prime_rl/inference/patches.py | 339 | CODE | |
| LOW | src/prime_rl/inference/vllm/worker/weight_transfer.py | 98 | CODE | |
| LOW | src/prime_rl/inference/vllm/worker/nixl.py | 160 | CODE | |
| LOW | src/prime_rl/inference/vllm/worker/nixl.py | 529 | CODE | |
| LOW | src/prime_rl/trainer/batch.py | 213 | CODE | |
| LOW | src/prime_rl/trainer/batch.py | 292 | CODE | |
| LOW | src/prime_rl/trainer/batch.py | 538 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 140 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 385 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 765 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 905 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 1167 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 1258 | CODE | |
| LOW | src/prime_rl/trainer/model.py | 188 | CODE | |
| LOW | src/prime_rl/trainer/lora.py | 218 | CODE | |
| LOW | src/prime_rl/trainer/optim.py | 164 | CODE | |
| LOW | src/prime_rl/trainer/optim.py | 28 | CODE | |
| LOW | src/prime_rl/trainer/models/kernels/sparse_mla_bwd.py | 98 | CODE | |
| LOW | src/prime_rl/trainer/models/kernels/sparse_mla_bwd.py | 146 | CODE | |
| LOW | src/prime_rl/trainer/models/qwen3_5_moe/mrope.py | 31 | CODE | |
| LOW | src/prime_rl/trainer/sft/train.py | 61 | CODE | |
| LOW | src/prime_rl/trainer/sft/data.py | 119 | CODE | |
| LOW | src/prime_rl/trainer/sft/data.py | 436 | CODE | |
| LOW | src/prime_rl/trainer/rl/train.py | 72 | CODE | |
| LOW | src/prime_rl/orchestrator/dispatcher.py | 240 | CODE | |
| LOW | src/prime_rl/orchestrator/train_sink.py | 172 | CODE | |
| LOW | src/prime_rl/orchestrator/inference_metrics.py | 136 | CODE | |
| LOW | src/prime_rl/orchestrator/trajectories.py | 69 | CODE | |
| LOW | src/prime_rl/orchestrator/filters.py | 149 | CODE | |
| LOW | src/prime_rl/orchestrator/algo/echo.py | 42 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 36 | 3. Native integration with [`verifiers`](https://github.com/PrimeIntellect-ai/verifiers) environments through the [Envir | CODE |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 300 | # template scaffold (False), the second is message body (True). Only the body | COMMENT |
| MEDIUM⚡ | tests/unit/orchestrator/test_algorithms.py | 301 | # token gets the role weight — the scaffold is excluded (content granularity). | COMMENT |
| MEDIUM | tests/unit/orchestrator/test_algorithms.py | 324 | # Only position 5 (the body token) is weighted; the scaffold token at position 4 is not. | COMMENT |
| MEDIUM | docs/inference.md | 29 | - [Disaggregated](#pd-disaggregation) - Runs the inference server on multiple nodes, but disaggregates the prefill and d | CODE |
| MEDIUM | docs/configuration.md | 250 | - [**MiniMax-M2.5 SWE**](https://github.com/PrimeIntellect-ai/prime-rl/tree/main/examples/advanced/minimax-m2.5) — `Mini | CODE |
| MEDIUM | examples/advanced/glm-4.5-air/terminal.toml | 1 | # exp: GLM-4.5-Air (100B MoE) RL across our v1 TERMINAL-domain envs — agentic shell/sandbox tasks | COMMENT |
| MEDIUM | src/prime_rl/trainer/sft/data.py | 295 | # scaffolding (e.g. <|im_start|>assistant) the harness emits. | COMMENT |
| MEDIUM | src/prime_rl/trainer/sft/data.py | 400 | # If processed example is None, skip it (e.g. if tokenized sample exceeds context window) | COMMENT |
| MEDIUM | src/prime_rl/orchestrator/filters.py | 55 | # generation-prompt scaffold that token_ids/mask also span). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/train/models/afmoe_hf_modeling/configuration_afmoe.py | 36 | CODE | |
| LOW | …/unit/train/models/afmoe_hf_modeling/modeling_afmoe.py | 597 | CODE | |
| LOW | tests/unit/orchestrator/test_metrics.py | 14 | CODE | |
| LOW | src/prime_rl/utils/pathing.py | 13 | CODE | |
| LOW | src/prime_rl/utils/monitor/__init__.py | 35 | CODE | |
| LOW | src/prime_rl/inference/patches.py | 339 | CODE | |
| LOW | …prime_rl/trainer/models/laguna/configuration_laguna.py | 37 | CODE | |
| LOW | src/prime_rl/trainer/models/laguna/modeling_laguna.py | 334 | CODE | |
| LOW | src/prime_rl/trainer/models/kernels/sparse_mla_bwd.py | 98 | CODE | |
| LOW | src/prime_rl/trainer/models/gpt_oss/modeling_gpt_oss.py | 292 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 122 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 828 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 782 | CODE | |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 1234 | CODE | |
| LOW | …/trainer/models/minimax_m2/configuration_minimax_m2.py | 66 | CODE | |
| LOW | …me_rl/trainer/models/minimax_m2/modeling_minimax_m2.py | 205 | CODE | |
| LOW | …/trainer/models/nemotron_h/configuration_nemotron_h.py | 67 | CODE | |
| LOW | …me_rl/trainer/models/nemotron_h/modeling_nemotron_h.py | 480 | CODE | |
| LOW | src/prime_rl/trainer/models/qwen3/modeling_qwen3.py | 221 | CODE | |
| LOW | …_rl/trainer/models/qwen3_5_moe/modeling_qwen3_5_moe.py | 945 | CODE | |
| LOW | …rainer/models/qwen3_5_moe/configuration_qwen3_5_moe.py | 18 | CODE | |
| LOW | …_rl/trainer/models/glm_moe_dsa/modeling_glm_moe_dsa.py | 291 | CODE | |
| LOW | …rainer/models/glm_moe_dsa/configuration_glm_moe_dsa.py | 127 | CODE | |
| LOW | …c/prime_rl/trainer/models/afmoe/configuration_afmoe.py | 18 | CODE | |
| LOW | src/prime_rl/trainer/models/afmoe/modeling_afmoe.py | 448 | CODE | |
| LOW | …/prime_rl/trainer/models/glm4_moe/modeling_glm4_moe.py | 248 | CODE | |
| LOW | …e_rl/trainer/models/glm4_moe/configuration_glm4_moe.py | 144 | CODE | |
| LOW | src/prime_rl/trainer/models/qwen3_5/modeling_qwen3_5.py | 406 | CODE | |
| LOW | src/prime_rl/trainer/models/llama/modeling_llama.py | 243 | CODE | |
| LOW | …rime_rl/trainer/models/qwen3_moe/modeling_qwen3_moe.py | 252 | CODE | |
| LOW | …rl/trainer/models/qwen3_moe/configuration_qwen3_moe.py | 142 | CODE | |
| LOW | src/prime_rl/trainer/sft/data.py | 183 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/train/models/afmoe_hf_modeling/configuration_afmoe.py | 1 | # coding=utf-8 | COMMENT |
| LOW | examples/advanced/glm-4.5-air/terminal.toml | 141 | labels = ["glm45air-terminal"] | COMMENT |
| LOW | examples/advanced/glm-4.5-air/terminal.toml | 181 | id = "terminal-bench-2-v1" | COMMENT |
| LOW | examples/advanced/glm-4.5-air/swe.toml | 1 | # v1 RL: GLM-4.5-Air (100B MoE) on the v1 `scaleswe-v1` SWE taskset, rlm harness on a prime sandbox | COMMENT |
| LOW | scripts/install_llmd.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/install_ep_kernels.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/docker-entrypoint.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/docker-entrypoint.sh | 41 | git -C "$DEST" reset --hard --quiet "origin/${PRIME_RL_REF}" 2>/dev/null || true | COMMENT |
| LOW | scripts/install_deep_gemm.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ages/prime-rl-configs/src/prime_rl/utils/validation.py | 141 | propagate("output_dir", "trainer.output_dir", "orchestrator.output_dir") | COMMENT |
| LOW | src/prime_rl/_compat.py | 21 | COMMENT | |
| LOW | src/prime_rl/transport/types.py | 41 | # orchestrator batches per-image renderer items by torch.cat along | COMMENT |
| LOW | src/prime_rl/utils/act_offloading.py | 261 | # tensor. | COMMENT |
| LOW | src/prime_rl/inference/vllm/serving_tokens.py | 241 | # ``/inference/v1/generate`` — decode receives an empty NIXL handshake | COMMENT |
| LOW | src/prime_rl/trainer/ckpt.py | 121 | return state_dict | COMMENT |
| LOW | src/prime_rl/trainer/parallel_dims.py | 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. | COMMENT |
| LOW | src/prime_rl/trainer/models/layers/moe.py | 741 | # tokens_per_expert will be used to update the expert bias for load balancing. | COMMENT |
| LOW | …/prime_rl/trainer/models/glm4_moe/modeling_glm4_moe.py | 1 | # coding=utf-8 | COMMENT |
| LOW | src/prime_rl/trainer/models/llama/modeling_llama.py | 1 | # coding=utf-8 | COMMENT |
| LOW | …rime_rl/trainer/models/qwen3_moe/modeling_qwen3_moe.py | 1 | # coding=utf-8 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | src/prime_rl/utils/act_offloading.py | 214 | torch.autograd.variable.Variable._execution_engine.queue_callback(wait_and_del_remaining_references) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/chat.py | 70 | # Check if the non-whitespace starts with a thinking tag | COMMENT |
| LOW | scripts/chat.py | 92 | # Check if we might be building up to a thinking tag | COMMENT |
| LOW | scripts/chat.py | 117 | # Check if buffer might contain partial closing tag | COMMENT |
| LOW | .github/workflows/nightly_tests.yaml | 94 | # Set WANDB_MODE to online only if WANDB_API_KEY is available, otherwise set to offline | COMMENT |
| LOW | .github/workflows/cpu_tests.yaml | 33 | # Set WANDB_MODE to online only if WANDB_API_KEY is available, otherwise set to offline | COMMENT |
| LOW | src/prime_rl/entrypoints/rl.py | 400 | # Check if any critical process failed | COMMENT |
| LOW | src/prime_rl/trainer/lora.py | 167 | # Check if module is Linear or one of the supported expert classes | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/unit/train/sft/test_sft_dataset.py | 51 | pytest.param('{"reasoning_effort": null}', id="json-string"), | CODE |
| HIGH | packages/prime-rl-configs/src/prime_rl/utils/config.py | 12 | TOML cannot represent null, so None fields left at their default are dropped | STRING |
| HIGH | src/prime_rl/trainer/sft/data.py | 139 | returns ``True`` even when the value is null). Strip the noise before | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/advanced/glm-5.2/infer/pd-llmd.toml | 2 | # Step 3 / goal target. Topology mirrors the proven original glm5.1_llmd_inference | COMMENT |
| LOW | examples/basic/reverse-text/README.md | 112 | ### Step 1: Deploy for SFT Training | COMMENT |
| LOW | examples/basic/reverse-text/README.md | 128 | ### Step 2: Run SFT Training | COMMENT |
| LOW | examples/basic/reverse-text/README.md | 148 | ### Step 3: Deploy RL Training | COMMENT |
| LOW | examples/basic/reverse-text/README.md | 203 | ### Step 4: Run Evaluation | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/chat.py | 234 | # Create the demo | COMMENT |
| MEDIUM | src/prime_rl/trainer/models/layers/moe.py | 400 | """This class implements token-choice routing. In token-choice top-K routing, each token is | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/install_ep_kernels.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/install_deep_gemm.sh | 12 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | configs/README.md | 11 | (per-algorithm smokes), `fake/` (fake-data trainer/SFT smokes), and `multi-env/` | CODE |
| LOW | …kages/prime-rl-configs/src/prime_rl/configs/trainer.py | 111 | """Replace MoE token-choice routing with a round-robin assignment so every expert sees an equal share. Intended for | STRING |
| LOW | src/prime_rl/trainer/model.py | 460 | """Force MoE token-choice routers into round-robin assignment for fake-data smoke tests.""" | STRING |