A self-improving RLM agent for coding workflows and long-running autonomous tasks.
This report summarizes scanner evidence for PrimeIntellect-ai/prime-agent, a Rust project with 22,476 GitHub stars. SynthScan examined 695,404 lines of code across 1521 source files, recording 2370 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 3.9 (Low 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.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1995 finding(s).
Are imports declared and package/API names verified? 109 finding(s).
Are wrappers, guards, and repeated structures necessary? 1374 finding(s).
Which changes need focused human review? 2370 finding(s).
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.
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.
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.
The scanner identified 2370 distinct pattern matches across 19 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/pa-core/assets/export-html/template.js | 387 | function recalculateVisualStructure(filteredNodes, allFlatNodes) { | CODE |
| LOW | crates/pa-core/src/kernel/bootstrap/runtime_code.rs | 147 | def _prime_agent_wrap_skill_module(module): | CODE |
| LOW | scripts/test_check_late_message_receipt.py | 27 | def test_spawn_handle_cell_serializes_actual_path_objects(self): | CODE |
| LOW | scripts/test_check_late_message_receipt.py | 38 | def test_blank_and_partial_jsonl_are_not_complete_receipts(self): | CODE |
| LOW | scripts/test_check_late_message_receipt.py | 48 | def test_runtime_and_durable_parent_ids_may_differ(self): | CODE |
| LOW | scripts/test_check_late_message_receipt.py | 60 | def test_actual_late_payload_and_readiness_are_required(self): | CODE |
| LOW⚡ | scripts/test_check_queue_browse.py | 10 | def test_mutation_swaps_with_the_adjacent_user_row(self): | CODE |
| LOW⚡ | scripts/test_check_queue_browse.py | 15 | def test_rejects_wrong_source_lane_text_or_index(self): | CODE |
| LOW⚡ | scripts/test_check_queue_browse.py | 23 | def test_subclass_handles_its_commands_without_transient_transport_errors(self): | CODE |
| LOW⚡ | scripts/test_check_local_harness.py | 21 | def test_resume_returns_new_marker_with_old_marker_in_history(self): | CODE |
| LOW⚡ | scripts/test_check_local_harness.py | 25 | def test_failing_current_cell_cannot_pass_using_old_marker(self): | CODE |
| LOW⚡ | scripts/test_check_local_harness.py | 29 | def test_missing_current_result_cannot_pass_using_old_marker(self): | CODE |
| LOW | scripts/test_check_dead_child_delete.py | 6 | def test_requires_exact_child_delete_boundary(self): | CODE |
| LOW⚡ | scripts/test_check_factory_navigation.py | 8 | def test_click_targets_the_observed_factory_cells(self): | CODE |
| LOW⚡ | scripts/test_check_factory_navigation.py | 13 | def test_existing_factory_response_is_replaced_without_suppressing_errors(self): | CODE |
| LOW⚡ | scripts/test_check_factory_navigation.py | 22 | def test_missing_factory_is_not_silently_clicked(self): | CODE |
| LOW | scripts/test_check_saved_catalog.py | 45 | def test_fixture_is_valid_ordered_and_old_target_is_beyond_first_page(self): | CODE |
| LOW | scripts/test_check_saved_catalog.py | 61 | def test_rejects_missing_duplicate_or_wrong_rows(self): | CODE |
| LOW | scripts/test_check_saved_catalog.py | 78 | def test_pages_cover_full_catalog_once_and_wrong_boundary_is_rejected(self): | CODE |
| LOW | scripts/test_check_saved_catalog.py | 98 | def test_deleted_cursor_boundary_still_requires_the_complete_older_tail(self): | CODE |
| LOW | scripts/test_check_saved_catalog.py | 108 | def test_raw_terminal_and_stream_disagreement_fail_closed(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 12 | def test_duplicate_catalog_paths_fail(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 19 | def test_catalog_selection_does_not_accept_a_matching_id_at_an_unrelated_path(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 24 | def test_duplicate_current_probes_fail(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 30 | def test_duplicate_current_tool_results_fail(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 36 | def test_shutdown_failure_cannot_be_a_green_receipt(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 41 | def test_duplicates_do_not_prove_one_child(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 50 | def test_unrelated_parent_is_not_normalized_away(self): | CODE |
| LOW⚡ | scripts/test_check_ledger_liveness.py | 56 | def test_generated_paths_only_normalize_after_real_file_check(self): | CODE |
| LOW⚡ | scripts/test_check_factory_resumption.py | 13 | def test_rejects_missing_resume_extra_entry_or_extra_attempt(self): | CODE |
| LOW⚡ | scripts/test_check_factory_resumption.py | 21 | def test_accepts_explicit_wire_camel_case_without_ignoring_duplicates(self): | CODE |
| LOW⚡ | scripts/test_check_factory_resumption.py | 30 | def test_rejects_missing_or_historical_tool_receipt(self): | CODE |
| LOW | scripts/test_check_factory_validation.py | 15 | def test_rejects_acceptance_or_storage_of_invalid_specs(self): | CODE |
| LOW | scripts/test_check_factory_validation.py | 27 | def test_unexpected_child_request_is_rejected_before_a_model_response(self): | CODE |
| LOW | scripts/test_check_factory_validation.py | 41 | def test_requires_correct_diagnostic_and_all_cases(self): | CODE |
| LOW⚡ | scripts/test_check_catalog_field_removal.py | 41 | def test_omission_keeps_seeded_stable_fields(self): | CODE |
| LOW⚡ | scripts/test_check_catalog_field_removal.py | 50 | def test_null_empty_or_text_key_fails_in_both_stream_and_final(self): | CODE |
| LOW⚡ | scripts/test_check_catalog_field_removal.py | 60 | def test_missing_duplicate_escaped_or_changed_stable_rows_fail(self): | CODE |
| LOW | scripts/test_check_catalog_field_removal.py | 81 | def test_missing_raw_wrong_request_and_postterminal_frames_fail_closed(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 52 | def test_a_crate_only_pr_narrows_to_those_crates(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 62 | def test_any_non_crate_path_fails_safe_to_the_full_selection(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 72 | def test_a_renames_removed_side_counts_too(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 82 | def test_a_rename_within_crates_narrows_to_both_crates(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 89 | def test_pa_types_only_runs_every_crate(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 94 | def test_pa_tui_only_runs_pa_cli_too(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 99 | def test_pa_telemetry_only_runs_all_dependents(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 105 | def test_an_unknown_crate_fails_safe(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 111 | def test_an_empty_filename_row_fails_safe(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 125 | def test_a_null_field_read_also_fails_safe(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 135 | def test_an_empty_list_fails_safe_to_the_full_selection(self): | CODE |
| LOW⚡ | scripts/test_ci_pr_crates.py | 141 | def test_a_whitespace_prefixed_path_is_a_non_crate_path(self): | CODE |
| LOW | scripts/test_ci_pr_crates.py | 152 | def test_the_files_api_ceiling_fails_safe(self): | CODE |
| LOW | scripts/test_check_restore_notice.py | 14 | def test_observation_uses_actual_tool_result_and_inventory(self): | CODE |
| LOW | scripts/test_check_custom_ca.py | 11 | def test_one_terminal_assistant_required(self): | CODE |
| LOW | scripts/test_check_custom_ca.py | 18 | def test_duplicate_current_prompt_is_not_normalized_away(self): | CODE |
| LOW | scripts/test_check_custom_ca.py | 29 | def test_shutdown_failure_remains_red(self): | CODE |
| LOW⚡ | scripts/test_check_ipython_diff_frames.py | 9 | def test_a_crashed_or_unexited_ui_cannot_pass(self): | CODE |
| LOW⚡ | scripts/test_check_ipython_diff_frames.py | 19 | def test_wide_cell_repaint_clears_and_styles_its_continuation(self): | CODE |
| LOW⚡ | scripts/test_check_ipython_diff_frames.py | 25 | def test_capture_keeps_geometry_background_and_inverse(self): | CODE |
| LOW⚡ | scripts/test_check_ipython_diff_frames.py | 37 | def test_trailing_colored_blanks_cannot_compare_equal(self): | CODE |
| 1048 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install-rust.sh | 1 | #!/bin/sh | COMMENT |
| LOW | install-rust.sh | 21 | # touches GitHub. | COMMENT |
| LOW | install-rust.sh | 41 | # SCHEMA FAMILY: the family prefix minus this product's own hash is | COMMENT |
| LOW | install-rust.sh | 61 | # floor — the field measured a 46-worker drain at ~49s, and a fixed | COMMENT |
| LOW | install-rust.sh | 81 | # - a TS managed root occupying THIS script's target | COMMENT |
| LOW | install-rust.sh | 101 | # products). Default pin + clean stop: out of the box, the two | COMMENT |
| LOW | install-rust.sh | 121 | # the channel pointer | COMMENT |
| LOW | install-rust.sh | 141 | # install-rust.sh --archive <path> publishes a local release archive | COMMENT |
| LOW | install-rust.sh | 241 | # updater's environment (the funnel's own shell is trusted-rooted for | COMMENT |
| LOW | install-rust.sh | 301 | # owns the screen while the install runs: an awk loop (below) that draws | COMMENT |
| LOW | install-rust.sh | 681 | # THE PUBLISH-WINDOW RESTORE (the interrupt handler's discipline, shared | COMMENT |
| LOW | install-rust.sh | 761 | fi | COMMENT |
| LOW | install-rust.sh | 941 | step_ok "Using the local archive" "$(tilde "$ARCHIVE")" | COMMENT |
| LOW | install-rust.sh | 961 | # at ~/.local/bin, the same default prefix this script uses; a custom | COMMENT |
| LOW | install-rust.sh | 1141 | # canonical ~/.local/bin still serves this install (no duplicate | COMMENT |
| LOW | install-rust.sh | 1181 | COMMENT | |
| LOW | install-rust.sh | 1301 | # newline trim (the newline guard below would then never see it), and | COMMENT |
| LOW | install-rust.sh | 1401 | # slot takes the same three checks a recorded generation takes. | COMMENT |
| LOW | install-rust.sh | 1421 | fi | COMMENT |
| LOW | install-rust.sh | 1441 | CHANNEL="$(printf '%s\n' "$marker" | sed -n '1s/^install-rust.sh channel //p')" | COMMENT |
| LOW | install-rust.sh | 1561 | # and venv state; the update needs it down, and the next invocation | COMMENT |
| LOW | install-rust.sh | 1581 | # socket is OUR daemon by construction (no schema inspection; the | COMMENT |
| LOW | install-rust.sh | 1621 | case "$env_socket" in | COMMENT |
| LOW | install-rust.sh | 1941 | # 1. the graceful shutdown request (force:false) — the clean stop an | COMMENT |
| LOW | install-rust.sh | 1981 | COMMENT | |
| LOW | install-rust.sh | 2081 | # reason is reported (a say/note line now, a summary line for the stops); | COMMENT |
| LOW | install-rust.sh | 2261 | COMMENT | |
| LOW | install-rust.sh | 2301 | fi | COMMENT |
| LOW | install-rust.sh | 2321 | : | COMMENT |
| LOW | install-rust.sh | 2441 | # The ownership marker: the share tree this script publishes carries it, so | COMMENT |
| LOW | install-rust.sh | 2461 | # so it never outlives the refused install — a rollback's stage is the kept | COMMENT |
| LOW | install-rust.sh | 2641 | fi | COMMENT |
| LOW | install-rust.sh | 2781 | fi | COMMENT |
| LOW | install-rust.sh | 2821 | launcher_tmp="$(mktemp "${bin_dir}/.prime-agent.XXXXXX")" | COMMENT |
| LOW | install-rust.sh | 2841 | # so the same sessions appear in both products. The env keeps the TS | COMMENT |
| LOW | install-rust.sh | 2941 | # Every candidate is probed by its named variable (the default TS | COMMENT |
| LOW | install-rust.sh | 3041 | npm_launcher_backup="" | COMMENT |
| LOW | Cargo.toml | 121 | # Shipping posture, pinned (Kevin, Option C): thin LTO plus 4 codegen | COMMENT |
| LOW | deny.toml | 1 | # cargo-deny configuration for the prime-agent Rust workspace. | COMMENT |
| LOW | packaging/homebrew/Formula/prime-agent.rb | 1 | # Homebrew formula candidate for prime-agent v1.0.0 (the Rust port). | COMMENT |
| LOW | crates/pa-daemon/tests/steer_boundary_batch_e2e.rs | 1 | //! Multi-steer tool-boundary batching: parked steering messages co-deliver | COMMENT |
| LOW | crates/pa-daemon/tests/fd_lifecycle_e2e.rs | 1 | //! End-to-end fd-lifecycle audit against the real `pa-daemon` supervisor: run | COMMENT |
| LOW | crates/pa-daemon/tests/stop_escalation_e2e.rs | 1 | //! The stop-escalation e2e (the Codex daemon-comparison finding #5): a | COMMENT |
| LOW | crates/pa-daemon/tests/rlm_roster_walk_e2e.rs | 1 | //! The passive-RLM roster walk at scale: a synthetic ledger with one root | COMMENT |
| LOW | crates/pa-daemon/tests/session_rebind_e2e.rs | 1 | //! Stale active-session rebind e2e: a worker replacement supersedes the | COMMENT |
| LOW | crates/pa-daemon/tests/provider_failure_e2e.rs | 1 | //! Interactive provider-failure e2e: a daemon worker session against a | COMMENT |
| LOW | crates/pa-daemon/tests/session_tree_e2e.rs | 1 | //! Session-tree worker commands against the real `pa-daemon` binary: | COMMENT |
| LOW | crates/pa-daemon/tests/socket_identity_guard_e2e.rs | 1 | //! Bind-time socket-identity guard e2e (the bind-choreography parity | COMMENT |
| LOW | crates/pa-daemon/tests/socket_identity_guard_e2e.rs | 21 | //! the path, and the original's graceful exit must not unlink the | COMMENT |
| LOW | crates/pa-daemon/tests/agents_view_roster_e2e.rs | 1 | //! Agent-roster wire protocol e2e: a subscriber's `roster_subscribe` snapshot, | COMMENT |
| LOW | crates/pa-daemon/tests/saved_catalog_stream_e2e.rs | 1 | //! The saved-catalog stream is per-file DURING the scan (TS | COMMENT |
| LOW | crates/pa-daemon/tests/thinking_level_roster_e2e.rs | 1 | //! E2e for the agents-view thinking-level roster push: a | COMMENT |
| LOW | crates/pa-daemon/tests/readoption_wake_e2e.rs | 1 | //! Re-adoption wake e2e: the wake paths of a session whose worker is | COMMENT |
| LOW | crates/pa-daemon/tests/thinking_level_e2e.rs | 1 | //! E2e for thinking-level propagation on the interactive daemon path: the | COMMENT |
| LOW | crates/pa-daemon/tests/mcp_product_path_e2e.rs | 1 | //! MCP product-path e2e: a settings-declared stdio MCP server reaches the | COMMENT |
| LOW | crates/pa-daemon/tests/rlm_children_replacement_e2e.rs | 1 | //! RLM children lifecycle on parent runtime replacement (the #237 flagged | COMMENT |
| LOW | crates/pa-daemon/tests/recovery_control_plane_e2e.rs | 1 | //! Control-plane priority e2e (design R3): a supervisor booting over a sessions | COMMENT |
| LOW | crates/pa-daemon/tests/rlm_children_parent_death_e2e.rs | 1 | //! RLM children on a hard-killed parent worker (the #246 adjacent gap): TS hosts children | COMMENT |
| LOW | crates/pa-daemon/tests/queue_delivery_e2e.rs | 1 | //! Queued-input delivery projection: pickups reach attached clients as a | COMMENT |
| LOW | crates/pa-daemon/tests/compaction_outcome_e2e.rs | 1 | //! Durable `compaction_outcome` row e2e (TS `_endCompactionUnsuccessfully` | COMMENT |
| 620 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/check_private_default_frames.py | 158 | except (FileNotFoundError, json.JSONDecodeError, KeyError): | CODE |
| HIGH | scripts/check_at_completion.py | 141 | except subprocess.TimeoutExpired: | CODE |
| HIGH | scripts/check_agent_bounce.py | 61 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_dock_events.py | 85 | except (BrokenPipeError, OSError): | CODE |
| HIGH | scripts/check_new_goal.py | 79 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_shutdown_scope.py | 41 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_shutdown_scope.py | 123 | except ProcessLookupError: | CODE |
| HIGH | scripts/lifecycle_lib.py | 396 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/lifecycle_lib.py | 407 | except OSError: pass | CODE |
| HIGH | scripts/lifecycle_lib.py | 525 | except (OSError, ValueError, KeyError, AssertionError): | CODE |
| HIGH | scripts/lifecycle_lib.py | 544 | except (FileNotFoundError, ProcessLookupError): | CODE |
| HIGH | scripts/lifecycle_lib.py | 40 | except ProcessLookupError: | CODE |
| HIGH | scripts/lifecycle_lib.py | 534 | except OSError: | CODE |
| HIGH | scripts/check_launch_env.py | 108 | except (OSError, ValueError): | CODE |
| HIGH | scripts/check_launch_env.py | 143 | except FileNotFoundError: | CODE |
| HIGH | scripts/check_launch_env.py | 167 | except (OSError, ValueError): | CODE |
| HIGH | scripts/check_observe_selectors.py | 145 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_observe_selectors.py | 330 | except (OSError, ValueError): | CODE |
| HIGH | scripts/check_client_write_cleanup.py | 48 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_client_write_cleanup.py | 92 | except (FileNotFoundError, ProcessLookupError, PermissionError): | CODE |
| HIGH | scripts/check_client_write_cleanup.py | 110 | except ProcessLookupError: | CODE |
| HIGH | scripts/check_custom_ca.py | 139 | except ProcessLookupError: | CODE |
| HIGH | scripts/check_kernel_env.py | 232 | except (FileNotFoundError, ProcessLookupError): | CODE |
| HIGH | scripts/check_kernel_env.py | 245 | except (OSError, ValueError): | CODE |
| HIGH | scripts/check_kernel_env.py | 129 | except (OSError, ValueError): | CODE |
| HIGH | scripts/check_kernel_env.py | 164 | except (FileNotFoundError, ProcessLookupError): | CODE |
| HIGH | scripts/check_ledger_liveness.py | 162 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/check_ledger_liveness.py | 79 | except ProcessLookupError: | CODE |
| HIGH | scripts/release/test_catalog_assets.py | 129 | except (BrokenPipeError, ConnectionResetError): | CODE |
| HIGH | scripts/release/bundle_catalog.py | 780 | except ValueError: | CODE |
| HIGH | skills/websearch/src/websearch/websearch.py | 50 | except (OSError, ValueError): | CODE |
| HIGH | skills/edit/src/edit/__init__.py | 68 | except Exception: | CODE |
| HIGH | skills/agent-message/src/agent_message/__init__.py | 82 | except Exception: | CODE |
| HIGH | prime-agent-runtime/test/test_bash.py | 1465 | except PermissionError: | CODE |
| HIGH | prime-agent-runtime/test/test_bash.py | 1507 | except ProcessLookupError: | CODE |
| HIGH | prime-agent-runtime/test/test_repl.py | 48 | except ValueError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 1313 | except BaseException: # noqa: BLE001 - never block or crash the shutdown path | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 1643 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 1714 | except BaseException: # noqa: BLE001 | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 706 | except (OSError, ValueError, AttributeError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 813 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 1380 | except BaseException: | CODE |
| HIGH | prime-agent-runtime/src/rlm/repl.py | 124 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 165 | except (ImportError, RuntimeError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 270 | except (ImportError, RuntimeError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1504 | except PermissionError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1520 | except (OSError, ValueError, IndexError, subprocess.SubprocessError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1631 | except PermissionError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1683 | except (OSError, ValueError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1747 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 586 | except (OSError, ValueError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 591 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 709 | except PermissionError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 991 | except PermissionError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1037 | except (OSError, subprocess.SubprocessError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1227 | except FileNotFoundError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 1475 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 490 | except OSError: | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 567 | except (OSError, ValueError): | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 662 | except OSError: | CODE |
| 17 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install-rust.sh | 1781 | def listening_flag(): | CODE |
| LOW | install-rust.sh | 2009 | except Exception: | CODE |
| LOW | install-rust.sh | 3022 | except Exception: | CODE |
| LOW | crates/pa-cli/tests/print_inline_subagents_e2e.rs | 973 | except Exception as error: | CODE |
| LOW | crates/pa-cli/tests/print_inline_subagents_e2e.rs | 990 | except Exception as error: | CODE |
| LOW | crates/pa-cli/tests/print_inline_subagents_e2e.rs | 1056 | except Exception as error: | CODE |
| MEDIUM | crates/pa-cli/tests/print_inline_subagents_e2e.rs | 1039 | def accept_ready(reader, writer): | CODE |
| LOW | crates/pa-tui/tests/tmux_replay.sh | 85 | except Exception: | CODE |
| LOW | crates/pa-core/src/kernel/provisioner.rs | 1940 | except Exception: | CODE |
| LOW | crates/pa-core/src/kernel/bootstrap/runtime_code.rs | 53 | except Exception as _prime_agent_rlm_error: | CODE |
| LOW | crates/pa-core/src/kernel/bootstrap/runtime_code.rs | 157 | except Exception: | CODE |
| LOW | crates/pa-core/src/kernel/bootstrap/runtime_code.rs | 172 | except Exception as _prime_agent_skill_error: | CODE |
| LOW | crates/pa-core/src/kernel/manager/requests.rs | 524 | except Exception: | CODE |
| LOW | crates/pa-core/src/kernel/manager/requests.rs | 592 | except Exception: | CODE |
| LOW | scripts/check_private_default_frames.py | 325 | except Exception as error: | CODE |
| LOW | scripts/check_reconnect_version.py | 127 | except Exception as error: | CODE |
| LOW | scripts/check_reconnect_version.py | 171 | except Exception as error: | CODE |
| LOW | scripts/check_minimum_reasoning.py | 252 | except Exception as error: | CODE |
| LOW | scripts/check_queue_priority.py | 122 | except Exception as error: | CODE |
| LOW | scripts/check_queue_priority.py | 127 | except Exception as error: | CODE |
| LOW | scripts/check_refine_request_headers.py | 110 | except Exception as error: | CODE |
| LOW | scripts/check_at_completion.py | 130 | except Exception as error: | CODE |
| LOW | scripts/check_at_completion.py | 145 | except Exception as fallback_error: | CODE |
| LOW | scripts/check_at_completion.py | 156 | except Exception as error: | CODE |
| LOW | scripts/check_at_completion.py | 241 | except Exception as error: | CODE |
| LOW | scripts/check_at_completion.py | 245 | except Exception as error: | CODE |
| LOW | scripts/check_link_frames.py | 119 | except Exception as error: | CODE |
| LOW | scripts/check_link_frames.py | 183 | except Exception as error: | CODE |
| LOW | scripts/check_agent_bounce.py | 188 | except Exception as error: | CODE |
| LOW | scripts/check_agent_bounce.py | 220 | except Exception as error: | CODE |
| LOW | scripts/check_saved_catalog.py | 256 | except Exception as error: | CODE |
| LOW | scripts/check_saved_catalog.py | 261 | except Exception as error: | CODE |
| LOW | scripts/check_live_mcp.py | 232 | except Exception as error: | CODE |
| LOW | scripts/check_live_mcp.py | 259 | except Exception as error: | CODE |
| LOW | scripts/check_live_mcp.py | 264 | except Exception as error: | CODE |
| LOW | scripts/check_local_harness.py | 200 | except Exception as error: | CODE |
| LOW | scripts/check_local_harness.py | 204 | except Exception as error: | CODE |
| LOW | scripts/check_dock_events.py | 229 | except Exception as error: | CODE |
| LOW | scripts/check_dock_events.py | 233 | except Exception as error: | CODE |
| MEDIUM | scripts/check_dock_events.py | 118 | def cost_ready(text, expected): | CODE |
| LOW | scripts/check_new_goal.py | 81 | except Exception as exc: | CODE |
| LOW | scripts/check_new_goal.py | 299 | except Exception as exc: | CODE |
| LOW | scripts/check_new_goal.py | 304 | except Exception as exc: | CODE |
| MEDIUM | scripts/check_new_goal.py | 52 | def do_POST(self): | CODE |
| LOW | scripts/check_shutdown_scope.py | 107 | except Exception as caught: | CODE |
| LOW | scripts/check_shutdown_scope.py | 232 | except Exception as error: | CODE |
| LOW | scripts/check_shutdown_scope.py | 244 | except Exception as error: | CODE |
| LOW | scripts/check_shutdown_scope.py | 271 | except Exception as error: | CODE |
| MEDIUM | scripts/check_shutdown_scope.py | 45 | def process_identity(pid): | CODE |
| LOW | scripts/check_socket_pin.py | 126 | except Exception as error: | STRING |
| LOW | scripts/lifecycle_lib.py | 398 | except Exception as error: | CODE |
| LOW | scripts/lifecycle_lib.py | 590 | except Exception as error: | CODE |
| LOW | scripts/lifecycle_lib.py | 596 | except Exception as discovery_error: | CODE |
| LOW | scripts/lifecycle_lib.py | 607 | except Exception as wait_error: | CODE |
| LOW | scripts/lifecycle_lib.py | 615 | except Exception as close_error: | CODE |
| LOW | scripts/check_launch_env.py | 299 | except Exception as error: | CODE |
| LOW | scripts/check_launch_env.py | 330 | except Exception as error: | CODE |
| LOW | scripts/check_launch_env.py | 334 | except Exception as error: | CODE |
| LOW | scripts/check_model_facts.py | 269 | except Exception as error: | CODE |
| LOW | scripts/check_catalog_field_removal.py | 195 | except Exception as error: | CODE |
| 76 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/pa-daemon/testdata/acp/compare_differential.py | 45 | CODE | |
| LOW | scripts/check_private_default_frames.py | 302 | CODE | |
| LOW | scripts/test_check_saved_catalog.py | 108 | CODE | |
| LOW | scripts/check_minimum_reasoning.py | 44 | CODE | |
| LOW | scripts/check_at_completion.py | 117 | CODE | |
| LOW | scripts/check_at_completion.py | 224 | CODE | |
| LOW | scripts/test_check_catalog_field_removal.py | 60 | CODE | |
| LOW | scripts/test_check_catalog_field_removal.py | 81 | CODE | |
| LOW | scripts/check_link_frames.py | 78 | CODE | |
| LOW | scripts/check_link_frames.py | 161 | CODE | |
| LOW | scripts/check_agent_bounce.py | 108 | CODE | |
| LOW | scripts/check_live_mcp.py | 35 | CODE | |
| LOW | scripts/check_live_mcp.py | 175 | CODE | |
| LOW | scripts/check_local_harness.py | 113 | CODE | |
| LOW | scripts/check_dock_events.py | 52 | CODE | |
| LOW | scripts/check_new_goal.py | 124 | CODE | |
| LOW | scripts/check_new_goal.py | 281 | CODE | |
| LOW | scripts/test_check_reconnect_version.py | 42 | CODE | |
| LOW | scripts/test_check_minimum_reasoning.py | 142 | CODE | |
| LOW | scripts/check_shutdown_scope.py | 93 | CODE | |
| LOW | scripts/check_shutdown_scope.py | 176 | CODE | |
| LOW | scripts/check_socket_pin.py | 22 | CODE | |
| LOW | scripts/lifecycle_lib.py | 77 | CODE | |
| LOW | scripts/lifecycle_lib.py | 576 | CODE | |
| LOW | scripts/lifecycle_lib.py | 117 | CODE | |
| LOW | scripts/lifecycle_lib.py | 259 | CODE | |
| LOW | scripts/lifecycle_lib.py | 493 | CODE | |
| LOW | scripts/lifecycle_lib.py | 517 | CODE | |
| LOW | scripts/lifecycle_lib.py | 641 | CODE | |
| LOW | scripts/lifecycle_lib.py | 815 | CODE | |
| LOW | scripts/check_launch_env.py | 96 | CODE | |
| LOW | scripts/check_launch_env.py | 134 | CODE | |
| LOW | scripts/check_launch_env.py | 151 | CODE | |
| LOW | scripts/check_launch_env.py | 198 | CODE | |
| LOW | scripts/check_model_facts.py | 103 | CODE | |
| LOW | scripts/check_model_facts.py | 160 | CODE | |
| LOW | scripts/ci_test_shard_summary.py | 237 | CODE | |
| LOW | scripts/check_observe_selectors.py | 264 | CODE | |
| LOW | scripts/check_observe_selectors.py | 467 | CODE | |
| LOW | scripts/check_observe_selectors.py | 312 | CODE | |
| LOW | scripts/check_client_write_cleanup.py | 83 | CODE | |
| LOW | scripts/check_client_write_cleanup.py | 97 | CODE | |
| LOW | scripts/check_client_write_cleanup.py | 134 | CODE | |
| LOW | scripts/check_custom_ca.py | 125 | CODE | |
| LOW | scripts/test_check_agent_bounce.py | 21 | CODE | |
| LOW | scripts/check_restore_notice.py | 42 | CODE | |
| LOW | scripts/check_restore_notice.py | 128 | CODE | |
| LOW | scripts/check_restore_notice.py | 70 | CODE | |
| LOW | scripts/check_kernel_env.py | 117 | CODE | |
| LOW | scripts/check_kernel_env.py | 155 | CODE | |
| LOW | scripts/check_kernel_env.py | 237 | CODE | |
| LOW | scripts/check_kernel_env.py | 297 | CODE | |
| LOW | scripts/check_kernel_env.py | 417 | CODE | |
| LOW | scripts/check_kernel_env.py | 358 | CODE | |
| LOW | scripts/ci_test_shard.py | 104 | CODE | |
| LOW | scripts/check_print_bash.py | 108 | CODE | |
| LOW | scripts/test_check_shutdown_scope.py | 39 | CODE | |
| LOW | scripts/check_refine_errors.py | 64 | CODE | |
| LOW | scripts/check_refine_errors.py | 141 | CODE | |
| LOW | scripts/check_queue_browse.py | 107 | CODE | |
| 102 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scripts/check_ipython_diff_frames.py | 85 | # Pinned TS daemon-mode returns {toolDefinition: undefined} for | COMMENT |
| HIGH | scripts/release/test_restamp.py | 60 | if (argc > 1 && strcmp(argv[1], "--version") == 0) { | CODE |
| HIGH | scripts/release/test_npm_bridge.py | 52 | if (installed.status !== 0) { console.error(installed.stderr); process.exitCode=installed.status || 1; } | CODE |
| HIGH | scripts/release/test_npm_bridge.py | 86 | else { console.log(JSON.stringify(process.argv.slice(2))); process.exitCode = Number(process.env.NATIVE_EXIT || 0); } | CODE |
| HIGH⚡ | .github/scripts/discussion-notifier/test_notify.py | 337 | "\n\n```typescript\nconst a = b < 5 && c > 0;\n```\n" + "x" * 4_000 | CODE |
| HIGH⚡ | prime-agent-runtime/test/test_factory.py | 1805 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON sha | CODE |
| HIGH⚡ | prime-agent-runtime/test/test_factory.py | 1813 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON shapes | CODE |
| HIGH⚡ | prime-agent-runtime/test/test_factory.py | 1879 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON shapes | CODE |
| HIGH⚡ | prime-agent-runtime/test/test_factory.py | 1885 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON shapes | CODE |
| HIGH | prime-agent-runtime/test/test_factory.py | 3888 | # null, not the no-value sentinel path. | COMMENT |
| HIGH | prime-agent-runtime/test/test_factory.py | 1849 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON sha | CODE |
| HIGH | prime-agent-runtime/test/test_factory.py | 1921 | ["transitions[0] when.value must be finite JSON data (JSON carries no NaN or Infinity, and only JSON shapes | CODE |
| HIGH | prime-agent-runtime/test/test_factory.py | 3863 | self.host.outcomes["src"] = {"status": "done", "answer": '```json\n{"data": null}\n```'} | CODE |
| HIGH | prime-agent-runtime/test/test_bash.py | 546 | await bash(f"sleep 1.0 && touch {marker}") | CODE |
| HIGH | prime-agent-runtime/test/test_repl.py | 507 | code = f"from rlm import bash\nr = await bash('sleep 1.5 && touch {marker}')" | CODE |
| HIGH | prime-agent-runtime/test/test_repl.py | 528 | f"r = await bash('sleep 1.5 && touch {marker}')", | CODE |
| HIGH | prime-agent-runtime/src/rlm/bash.py | 150 | "read -r _prime_agent_gate || exit 127\n" | CODE |
| HIGH | prime-agent-runtime/src/rlm/factory.py | 232 | # explicit JSON null (run.max_parallel: null) must be rejected with the | COMMENT |
| HIGH | prime-agent-runtime/src/rlm/factory.py | 501 | "serialize: lists, objects, strings, numbers, booleans, null, " | CODE |
| HIGH | prime-agent-runtime/src/rlm/factory.py | 5364 | null, re-entries bind the previous settle). | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/release/bundle_catalog.py | 116 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/release/bundle_catalog.py | 119 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/release/bundle_catalog.py | 416 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/release/bundle_catalog.py | 418 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/release/bundle_catalog.py | 720 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | scripts/release/bundle_catalog.py | 722 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 198 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 1018 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 1020 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 7775 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 7777 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 815 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 817 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2031 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2033 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2623 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2625 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2702 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 2704 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 3042 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 3044 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 6856 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 6858 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 7938 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 7946 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 9270 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 9272 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 7067 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | prime-agent-runtime/test/test_factory.py | 7069 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 218 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 220 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 450 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 452 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 711 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 713 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 826 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 828 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 1034 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4056 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4058 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4419 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4445 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | crates/pa-perf/src/bench/runner.rs | 419 | Some(ctx.manifest.markers.huge.file.clone()), | CODE |
| CRITICAL⚡ | crates/pa-perf/src/bench/runner.rs | 420 | ctx.manifest.markers.huge.needle.as_bytes().to_vec(), | CODE |
| CRITICAL⚡ | crates/pa-perf/src/bench/runner.rs | 423 | Some(ctx.manifest.markers.switch_a.file.clone()), | CODE |
| CRITICAL⚡ | crates/pa-perf/src/bench/runner.rs | 424 | ctx.manifest.markers.switch_a.needle.as_bytes().to_vec(), | CODE |
| CRITICAL | crates/pa-perf/src/bench/runner.rs | 675 | ctx.manifest.markers.switch_b.needle.as_bytes(), | CODE |
| CRITICAL | crates/pa-core/src/kernel/provisioner.rs | 1405 | engine.provisioner.inner.options.command_prefix.as_deref(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packaging/homebrew/Casks/prime-agent.rb | 33 | "~/.prime", # sessions, subagents, skills, harness state, kernel venvs | CODE |
| MEDIUM | crates/pa-daemon/tests/compaction_mega_trace_e2e.rs | 145 | .is_some_and(|content| content.starts_with("# prime-agent harness")) | CODE |
| MEDIUM | crates/pa-daemon/tests/compaction_mega_trace_e2e.rs | 167 | .is_some_and(|content| content.starts_with("# prime-agent harness")) | CODE |
| MEDIUM | crates/pa-daemon/tests/compaction_mega_trace_e2e.rs | 335 | #[ignore = "measurement harness: seeds ~50MB and prints the phase table"] | COMMENT |
| MEDIUM | …daemon/src/worker/turn_stream_tests/abort_idle_race.rs | 84 | #[ignore = "the rate harness: run with PA_RACE_* knobs (see the module docs)"] | COMMENT |
| MEDIUM | crates/pa-perf/Cargo.toml | 1 | # pa-perf: the performance corpus generator + bench harness (dev/CI tooling). | COMMENT |
| MEDIUM | crates/pa-perf/Cargo.toml | 22 | # pty + poll for the bench harness: the same nix version the workspace | COMMENT |
| MEDIUM | crates/pa-cli/tests/termios_process_exit_e2e.rs | 21 | #[path = "terminal_state_differential_e2e/harness.rs"] | COMMENT |
| MEDIUM | crates/pa-cli/tests/kitty_verdict_time_e2e.rs | 145 | // The +100ms reply is load-robust headroom: a load-smeared conclusion still | COMMENT |
| MEDIUM | crates/pa-cli/tests/input_live_open_pty_e2e.rs | 125 | // The red-first oracle, ordering-based (load-robust where a wall | COMMENT |
| MEDIUM | crates/pa-cli/src/prompt_command.rs | 226 | assert!(breakdown.assembled.starts_with("# prime-agent harness")); | CODE |
| MEDIUM | crates/pa-tui/tests/daemon_rejection_headless.rs | 523 | /// The agents-view open route (TS `openAgentsViewSession`, TS #2391): the same harness through | COMMENT |
| MEDIUM | crates/pa-tui/tests/chat_detail_persist_headless.rs | 435 | // #2709 (`next = createMode(harness)`): it starts at `details`, no key pressed. | COMMENT |
| MEDIUM | …-core/src/session_engine/engine/append_system_tests.rs | 70 | assert!(prompt.starts_with("# prime-agent harness")); | CODE |
| MEDIUM | crates/pa-core/src/session_engine/engine/tests.rs | 149 | assert!(engine.system_prompt.starts_with("# prime-agent harness")); | CODE |
| MEDIUM | crates/pa-core/src/prompts/system_prompt.rs | 444 | assert!(prompt.starts_with("# prime-agent harness")); | CODE |
| MEDIUM | crates/pa-core/src/prompts/system_prompt.rs | 524 | assert!(!prompt.contains("# prime-agent harness")); | CODE |
| MEDIUM | crates/pa-core/src/session/mod.rs | 624 | r#"{{"type":"custom_message","id":"{id}","parentId":{parent},"timestamp":"2024-01-01T00:00:00.000Z","customT | CODE |
| MEDIUM | scripts/check_local_harness.py | 124 | # Never inject RLM_* harness paths, which would mask missing runtime exports. | COMMENT |
| MEDIUM | scripts/check_local_harness.py | 162 | # PRIME_AGENT_CODING_AGENT_DIR/harness, checked on disk below. | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_harness.py | 25 | # `factory.enabled` setting is off (the default); the harness CRUD tests | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_harness.py | 1316 | # per-session env; the child applies env after fork. rlm.harness must then | COMMENT |
| MEDIUM⚡ | prime-agent-runtime/test/test_factory.py | 3216 | # -- harness write gate ---------------------------------------------------- | COMMENT |
| MEDIUM | prime-agent-runtime/test/test_repl.py | 809 | # the request would never be served at all (the harness's read | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/__init__.py | 571 | except Exception: # pragma: no cover - harness access must never raise | CODE |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4080 | # One home for the agent-dir resolution (harness.py owns it); imported | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4081 | # lazily because harness imports this module at its own top. | COMMENT |
| MEDIUM | prime-agent-runtime/src/rlm/factory.py | 4788 | # Set-but-empty env values behave as unset (mirrors harness._env_dir). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/check_private_default_frames.py | 25 | CODE | |
| LOW | scripts/generate-catalog-fixture.py | 24 | CODE | |
| LOW | scripts/test_ci_pr_crates.py | 17 | CODE | |
| LOW | scripts/test_ci_pr_crates.py | 19 | CODE | |
| LOW | scripts/ci_test_shard_summary.py | 34 | CODE | |
| LOW | scripts/test_ci_test_shard.py | 24 | CODE | |
| LOW | scripts/ci_test_shard.py | 55 | CODE | |
| LOW | scripts/ci_test_shard.py | 61 | CODE | |
| LOW | scripts/ci_pr_crates.py | 31 | CODE | |
| LOW | scripts/release/verify_release.py | 19 | CODE | |
| LOW | scripts/release/native_compat.py | 8 | CODE | |
| LOW | scripts/release/npm_bridge.py | 8 | CODE | |
| LOW | scripts/release/verify_legacy_release.py | 7 | CODE | |
| LOW | scripts/release/test_legacy_upgrade.py | 17 | CODE | |
| LOW | scripts/release/split_debug.py | 34 | CODE | |
| LOW | scripts/release/restamp_continuous.py | 39 | CODE | |
| LOW | scripts/release/restamp_continuous.py | 42 | CODE | |
| LOW | scripts/release/test_catalog_assets.py | 14 | CODE | |
| LOW | scripts/release/test_catalog_assets.py | 21 | CODE | |
| LOW | scripts/release/test_channel_install.py | 7 | CODE | |
| LOW | scripts/release/assemble_artifacts.py | 48 | CODE | |
| LOW | scripts/release/test_fold_changelog.py | 15 | CODE | |
| LOW | scripts/release/test_fold_changelog.py | 17 | CODE | |
| LOW | scripts/release/test_restamp.py | 22 | CODE | |
| LOW | scripts/release/fold_changelog.py | 40 | CODE | |
| LOW | scripts/release/assemble_source.py | 57 | CODE | |
| LOW | scripts/release/bundle_catalog.py | 39 | CODE | |
| LOW | scripts/release/test_decoder_manifest.py | 3 | CODE | |
| LOW | skills/agent-observe/src/agent_observe/__init__.py | 8 | CODE | |
| LOW | skills/compact/src/compact/__init__.py | 8 | CODE | |
| LOW | skills/attach-image/src/attach_image/attach_image.py | 3 | CODE | |
| LOW | skills/attach-image/src/attach_image/__init__.py | 3 | CODE | |
| LOW | skills/websearch/src/websearch/__init__.py | 3 | CODE | |
| LOW | skills/websearch/src/websearch/websearch.py | 3 | CODE | |
| LOW | skills/edit/src/edit/__init__.py | 3 | CODE | |
| LOW | skills/refine/src/refine/__init__.py | 8 | CODE | |
| LOW | skills/rlm-heartbeat/src/rlm_heartbeat/__init__.py | 8 | CODE | |
| LOW | skills/agent-message/src/agent_message/__init__.py | 7 | CODE | |
| LOW | skills/goal/src/goal/__init__.py | 8 | CODE | |
| LOW | prime-agent-runtime/test/test_harness.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_factory.py | 49 | CODE | |
| LOW | prime-agent-runtime/test/test_factory.py | 67 | CODE | |
| LOW | prime-agent-runtime/test/test_factory.py | 67 | CODE | |
| LOW | prime-agent-runtime/test/test_bash.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_repl.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_create_session.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_subagent_registry.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_agent_message_skill.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_winjob.py | 3 | CODE | |
| LOW | prime-agent-runtime/test/test_mcp.py | 1 | CODE | |
| LOW | prime-agent-runtime/test/test_mcp.py | 5 | CODE | |
| LOW | prime-agent-runtime/test/test_mcp_base.py | 1 | CODE | |
| LOW | prime-agent-runtime/src/rlm/skill.py | 3 | CODE | |
| LOW | prime-agent-runtime/src/rlm/harness.py | 10 | CODE | |
| LOW | prime-agent-runtime/src/rlm/repl.py | 8 | CODE | |
| LOW | prime-agent-runtime/src/rlm/bash.py | 3 | CODE | |
| LOW | prime-agent-runtime/src/rlm/__init__.py | 3 | CODE | |
| LOW | prime-agent-runtime/src/rlm/__init__.py | 11 | CODE | |
| LOW | prime-agent-runtime/src/rlm/__init__.py | 11 | CODE | |
| LOW | prime-agent-runtime/src/rlm/__init__.py | 11 | CODE | |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/pa-cli/tests/clipboard_auth_commands_e2e.rs | 475 | name: "Acme Corp".to_string(), | CODE |
| LOW | crates/pa-cli/tests/clipboard_auth_commands_e2e.rs | 904 | rendered.contains("Acme Corp"), | CODE |
| LOW | crates/pa-cli/tests/login_panel_pty_e2e.rs | 135 | name: "Acme Corp".to_string(), | CODE |
| LOW | crates/pa-cli/tests/login_panel_pty_e2e.rs | 387 | harness.wait_from(mark, "Acme Corp", "the team row"); | CODE |
| LOW | crates/pa-tui/src/onboarding.rs | 806 | name: "Acme Corp".to_string(), | CODE |
| LOW | crates/pa-tui/src/markdown/tests.rs | 1295 | crate::hyperlinks::osc8_open("mailto:foo.bar@example.org"), | CODE |
| LOW | crates/pa-tui/src/auth_panel/tests.rs | 23 | name: "Acme Corp".to_string(), | CODE |
| LOW | crates/pa-tui/src/auth_panel/tests.rs | 297 | assert!(rows.iter().any(|row| row.contains("Acme Corp"))); | CODE |
| LOW | crates/pa-tui/src/auth_panel/tests.rs | 349 | assert!(rows.iter().any(|row| row.contains("Acme Corp"))); | CODE |
| LOW | crates/pa-tui/src/auth_panel/tests.rs | 367 | !rows.iter().any(|row| row.contains("Acme Corp")), | CODE |
| LOW | crates/pa-tui/src/tool_card/ipython/tests.rs | 293 | let code = format!("print('{}')", "lorem ipsum ".repeat(8)); | CODE |
| LOW⚡ | scripts/release/test_native_compat.py | 74 | (staging / "photon_rs_bg.wasm").write_bytes(b"placeholder") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | skills/attach-image/src/attach_image/attach_image.py | 208 | Load one or more on-disk images into the model's context as attachments. Use this when the model needs to actually | STRING |
| HIGH | skills/edit/src/edit/__init__.py | 9 | Replace a unique string in a file. ``old_str`` must appear exactly once in the file at ``path``; that match is | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .cursor/BUGBOT.md | 6 | ## No legacy or migration scaffolding | COMMENT |
| MEDIUM | skills/prime-intellect/SKILL.md | 55 | prime env init my-env --v1 # scaffold a new environment | CODE |
| MEDIUM | skills/prime-intellect/references/environments.md | 25 | prime env init my-env --v1 # scaffold (add --with-harness for an explicit reusable harness) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/attach-image/src/attach_image/__init__.py | 5 | __all__ = ["run"] | CODE |
| LOW | skills/websearch/src/websearch/__init__.py | 5 | __all__ = ["run"] | CODE |
| LOW | prime-agent-runtime/src/rlm/harness.py | 1374 | __all__ = [ | CODE |
| LOW | prime-agent-runtime/src/rlm/bash.py | 69 | def _set_completion_notices_wired(wired: bool) -> None: | CODE |
| LOW | prime-agent-runtime/src/rlm/__init__.py | 727 | __all__ = [ | CODE |
| LOW | prime-agent-runtime/src/rlm/factory.py | 999 | __all__ = [ | CODE |
| LOW | prime-agent-runtime/src/rlm/mcp.py | 37 | __all__ = [ | CODE |
| LOW | prime-agent-runtime/src/rlm/mcp_base.py | 29 | __all__ = ["McpIntegration", "McpToolError", "NotEnabled"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/pa-models/src/chain.rs | 168 | // Step 1: validated last-good cache + the compiled offline | COMMENT |
| LOW⚡ | crates/pa-models/src/chain.rs | 177 | // Step 2: packaged bundled snapshot (damaged assets are None). | COMMENT |
| LOW⚡ | crates/pa-models/src/chain.rs | 184 | // Step 3: compiled fallback. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/pa-models/src/chain.rs | 168 | // Step 1: validated last-good cache + the compiled offline | COMMENT |
| LOW⚡ | crates/pa-models/src/chain.rs | 177 | // Step 2: packaged bundled snapshot (damaged assets are None). | COMMENT |
| LOW⚡ | crates/pa-models/src/chain.rs | 184 | // Step 3: compiled fallback. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | skills/prime-intellect/references/inference.md | 13 | export PRIME_API_KEY="your-api-key-here" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | prime-agent-runtime/test/test_repl.py | 1687 | self.repl.execute("ln1", "alpha = 1\ndef helper(n):\n return n\n_hidden = 2\nrlm = object()") | CODE |
| LOW | prime-agent-runtime/test/test_repl.py | 963 | "import functools\nG = 1\ndef helper():\n return G\ndef apply(fn):\n return fn()\n" | CODE |
| LOW | prime-agent-runtime/test/test_repl.py | 982 | code = ("G = 1\ndef helper():\n return G\nrun = lambda fn=helper: fn()\nrun2 = lambda *, fn=helper: fn()\nclo | CODE |
| LOW | prime-agent-runtime/test/test_repl.py | 1035 | code = "import functools\nG = 1\ndef helper():\n return G\np = functools.partial(len)\np.callback = helper" | CODE |
| LOW | prime-agent-runtime/test/test_repl.py | 1041 | "import functools\nG = 1\ndef helper():\n return G\ndef apply(fn):\n return fn()\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/release/native_compat.py | 40 | # This file is validated, not executed, by the already-running TS installer. | COMMENT |