Optimize prompts, code, and more with AI-powered Reflective Text Evolution
This report presents the forensic synthetic code analysis of gepa-ai/gepa, a Jupyter Notebook project with 5,641 GitHub stars. SynthScan v2.0 examined 69,333 lines of code across 373 source files, recording 1439 pattern matches distributed across 20 syntactic categories. The overall adjusted score of 35.0 places this repository in the Strong 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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 1439 distinct pattern matches across 20 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 |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_mcp_adapter.py | 146 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 148 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 235 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 237 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 455 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 457 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 576 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 578 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 625 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_mcp_adapter.py | 627 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 32 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 34 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 91 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 93 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 430 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 432 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 556 | # ============================================================================ | COMMENT |
| MEDIUM | tests/test_mcp_adapter.py | 558 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 154 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 156 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 213 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 215 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 267 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 269 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 327 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 329 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 419 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 421 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 677 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 679 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 756 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 758 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 820 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 822 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 885 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 887 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1058 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1060 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1128 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1130 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1231 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_callbacks.py | 1233 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_callbacks.py | 45 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_callbacks.py | 47 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_callbacks.py | 1294 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_callbacks.py | 1296 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_image.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_image.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_image.py | 35 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_image.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_image.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_image.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_image.py | 148 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_image.py | 150 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_image.py | 237 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_image.py | 239 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attach_existing_run.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attach_existing_run.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attach_existing_run.py | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_attach_existing_run.py | 74 | # --------------------------------------------------------------------------- | COMMENT |
| 196 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_gepa_utils.py | 6 | def test_select_program_candidate_respects_frequency_bias(): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 115 | def test_create_streamable_http_client(self): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 124 | def test_create_client_invalid_both_params(self, server_params): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 132 | def test_create_client_missing_params(self): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 137 | def test_create_client_invalid_transport(self): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 154 | def test_adapter_with_single_tool(self, server_params, simple_metric): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 243 | def test_build_system_prompt_single_tool(self, server_params, simple_metric): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 463 | def test_make_reflective_dataset_tool_description(self, server_params, simple_metric, seed_candidate): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 584 | def test_multi_tool_initialization(self, server_params, simple_metric): | CODE |
| LOW⚡ | tests/test_mcp_adapter.py | 633 | def test_two_pass_enabled_by_default(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 167 | def test_adapter_with_multiple_tools(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 179 | def test_adapter_with_remote_sse(self, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 194 | def test_adapter_with_remote_streamable_http(self, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 206 | def test_adapter_with_callable_model(self, server_params, simple_metric, mock_model_callable): | CODE |
| LOW | tests/test_mcp_adapter.py | 218 | def test_adapter_custom_parameters(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 267 | def test_build_system_prompt_multiple_tools(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 292 | def test_extract_tool_response(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 316 | def test_extract_tool_response_with_error(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 337 | def test_extract_tool_response_with_structured_content(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 356 | def test_extract_tool_response_with_image_content(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 377 | def test_generate_tool_feedback_success(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 403 | def test_generate_tool_feedback_failure(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 515 | def test_make_reflective_dataset_system_prompt(self, server_params, simple_metric, seed_candidate): | CODE |
| LOW | tests/test_mcp_adapter.py | 597 | def test_multi_tool_system_prompt_generation(self, server_params, simple_metric): | CODE |
| LOW | tests/test_mcp_adapter.py | 644 | def test_two_pass_can_be_disabled(self, server_params, simple_metric): | CODE |
| LOW | tests/test_evaluation_cache.py | 22 | def test_empty_cache_returns_none(self): | CODE |
| LOW | tests/test_evaluation_cache.py | 36 | def test_different_examples_separate_entries(self): | CODE |
| LOW | tests/test_evaluation_cache.py | 45 | def test_different_candidates_separate_entries(self): | CODE |
| LOW | tests/test_evaluation_cache.py | 99 | def test_optimize_with_caching_enabled(self, tmp_path): | CODE |
| LOW | tests/test_evaluation_cache.py | 115 | def test_caching_does_not_break_optimization(self, tmp_path): | CODE |
| LOW | tests/test_evaluation_cache.py | 166 | def test_aime_prompt_optimize_with_cache(mocked_lms, recorder_dir): | CODE |
| LOW | tests/test_evaluation_cache.py | 225 | def test_pareto_frontier_type_with_cache(pareto_mocked_lms, pareto_recorder_dir, frontier_type): | CODE |
| LOW | tests/test_data_loader.py | 59 | def test_list_data_loader_basic(): | CODE |
| LOW | tests/test_data_loader.py | 69 | def test_staged_data_loader_unlocks_after_batches(): | CODE |
| LOW | tests/test_data_loader.py | 96 | def test_staged_data_loader_manual_unlock(): | CODE |
| LOW | tests/test_optimize_anything_callbacks.py | 25 | def test_callbacks_receive_events(self): | CODE |
| LOW | tests/test_optimize_anything_callbacks.py | 83 | def test_no_callbacks_default(self): | CODE |
| LOW | tests/test_optimize_anything_callbacks.py | 95 | def test_proposal_events_received(self): | CODE |
| LOW | tests/conftest.py | 9 | def create_mocked_lms_context(cache_dir: Path): | CODE |
| LOW⚡ | tests/test_callbacks.py | 162 | def test_callback_protocol_is_runtime_checkable(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 171 | def test_empty_callback_implementation(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 221 | def test_on_optimization_start_called_with_correct_args(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 275 | def test_on_iteration_start_called_with_correct_args(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 335 | def test_on_candidate_selected_called_with_selection_info(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 427 | def test_on_evaluation_start_called_with_batch_info(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 685 | def test_on_reflective_dataset_built_called_with_dataset(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 764 | def test_on_merge_attempted_called_with_parents(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 828 | def test_on_pareto_front_updated_called_with_changes(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 893 | def test_on_valset_evaluated_called_with_correct_args(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 1066 | def test_on_error_called_with_exception(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 1136 | def test_composite_callback_calls_all_callbacks(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 1212 | def test_notify_callbacks_with_none(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 1221 | def test_notify_callbacks_with_empty_list(self): | CODE |
| LOW⚡ | tests/test_callbacks.py | 1239 | def test_reflective_dataset_structure_is_correct(self): | CODE |
| LOW | tests/test_callbacks.py | 95 | def on_reflective_dataset_built(self, event): | CODE |
| LOW | tests/test_callbacks.py | 186 | def test_partial_callback_implementation(self): | CODE |
| LOW | tests/test_callbacks.py | 243 | def test_on_optimization_end_called_with_final_state(self): | CODE |
| LOW | tests/test_callbacks.py | 294 | def test_on_iteration_end_called_with_outcome(self): | CODE |
| LOW | tests/test_callbacks.py | 357 | def test_on_minibatch_sampled_called_with_ids(self): | CODE |
| LOW | tests/test_callbacks.py | 376 | def test_on_candidate_accepted_called_on_improvement(self): | CODE |
| 478 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_evaluator_wrapper.py | 725 | except Exception: | CODE |
| LOW | docs/docs/guides/callbacks.md | 257 | except Exception: | CODE |
| LOW | docs/docs/guides/adapters.md | 205 | except Exception as e: | CODE |
| LOW | docs/hooks/scholarly_pdf.py | 82 | except Exception: | CODE |
| LOW⚡ | docs/scripts/generate_social_screenshots.py | 84 | except Exception as e: | CODE |
| LOW⚡ | docs/scripts/generate_social_screenshots.py | 91 | except Exception as e: | CODE |
| MEDIUM⚡ | docs/scripts/generate_social_screenshots.py | 92 | print(f"Error generating screenshots: {e}") | CODE |
| LOW | docs/scripts/generate_social_screenshots.py | 157 | except Exception as e: | CODE |
| LOW | examples/circle_packing/utils.py | 59 | except Exception as e: | CODE |
| LOW | examples/arc_agi/utils.py | 130 | except Exception: | CODE |
| LOW | examples/arc_agi/utils.py | 313 | except Exception as e: | CODE |
| LOW | examples/arc_agi/utils.py | 401 | except Exception as e: | CODE |
| LOW | examples/confidence_adapter/main.py | 153 | except Exception as _e: | CODE |
| LOW | examples/confidence_adapter/main.py | 167 | except Exception: | CODE |
| LOW | examples/confidence_adapter/main.py | 298 | except Exception as e: | CODE |
| MEDIUM | examples/confidence_adapter/main.py | 115 | def evaluator(data, response_text): | CODE |
| LOW⚡ | examples/adrs/can_be_late/utils/simulation.py | 95 | except Exception as e: | CODE |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 140 | except Exception as e: | CODE |
| LOW⚡ | examples/adrs/can_be_late/utils/simulation.py | 252 | except Exception: | CODE |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 399 | except Exception: | CODE |
| LOW | examples/adrs/can_be_late/utils/simulator/main.py | 67 | except Exception as e: | CODE |
| LOW⚡ | examples/adrs/cloudcast/utils/simulation.py | 90 | except Exception as e: | CODE |
| LOW | examples/adrs/cloudcast/utils/simulation.py | 137 | except Exception as e: | CODE |
| LOW | examples/adrs/cloudcast/utils/simulation.py | 149 | except Exception as e: | CODE |
| LOW | src/gepa/optimize_anything.py | 1039 | except Exception as e: | CODE |
| LOW | src/gepa/lm.py | 118 | except Exception: | CODE |
| LOW | src/gepa/lm.py | 169 | except Exception: | CODE |
| LOW | src/gepa/gepa_utils.py | 13 | except Exception: | CODE |
| LOW | src/gepa/core/engine.py | 431 | except Exception as e: | CODE |
| LOW | src/gepa/core/engine.py | 751 | except Exception as e: | CODE |
| LOW | src/gepa/core/engine.py | 891 | except Exception as e: | CODE |
| LOW | src/gepa/core/callbacks.py | 455 | except Exception as e: | CODE |
| LOW | src/gepa/core/callbacks.py | 550 | except Exception as e: | CODE |
| LOW | src/gepa/core/state.py | 331 | except Exception as e: | CODE |
| LOW | src/gepa/utils/stop_condition.py | 79 | except Exception: | CODE |
| LOW | src/gepa/utils/stop_condition.py | 106 | except Exception: | CODE |
| MEDIUM | src/gepa/utils/code_execution.py | 31 | print(f"Error: {result.error}") | STRING |
| LOW | src/gepa/utils/code_execution.py | 265 | except Exception: | CODE |
| LOW | src/gepa/utils/code_execution.py | 330 | except Exception as e: | CODE |
| LOW | src/gepa/utils/code_execution.py | 495 | except Exception as _e: | CODE |
| LOW | …pa/proposer/reflective_mutation/reflective_mutation.py | 391 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 293 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 322 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 422 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 459 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 592 | except Exception as e: | STRING |
| LOW | src/gepa/adapters/mcp_adapter/mcp_client.py | 216 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_client.py | 314 | except Exception as e: | CODE |
| LOW | …ters/dspy_full_program_adapter/full_program_adapter.py | 59 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/anymaths_adapter/anymaths_adapter.py | 109 | except Exception: | CODE |
| LOW | …gepa/adapters/confidence_adapter/confidence_adapter.py | 428 | except Exception: | CODE |
| LOW | …gepa/adapters/confidence_adapter/confidence_adapter.py | 434 | except Exception: | CODE |
| LOW | …gepa/adapters/confidence_adapter/confidence_adapter.py | 519 | except Exception as exc: | CODE |
| LOW | …pa/adapters/generic_rag_adapter/generic_rag_adapter.py | 315 | except Exception as e: | CODE |
| LOW | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 109 | except Exception: | CODE |
| LOW | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 168 | except Exception: | CODE |
| LOW | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 202 | except Exception: | CODE |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 223 | except Exception as e: | CODE |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 233 | except Exception as e: | CODE |
| LOW | …ters/generic_rag_adapter/vector_stores/qdrant_store.py | 44 | except Exception as e: | CODE |
| 99 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_optimize_anything_callbacks.py | 6 | CODE | |
| LOW | tests/test_refiner.py | 11 | CODE | |
| LOW | tests/test_best_example_evals.py | 6 | CODE | |
| LOW | tests/test_attach_existing_run.py | 6 | CODE | |
| LOW | tests/test_attach_existing_run.py | 8 | CODE | |
| LOW | tests/test_import.py | 6 | CODE | |
| LOW | tests/test_import.py | 16 | CODE | |
| LOW | tests/test_lm.py | 6 | CODE | |
| LOW | tests/test_langchain_adapter.py | 18 | CODE | |
| LOW | tests/ensure_gepa_dspy_dependency.py | 4 | CODE | |
| LOW | tests/test_dspy_full_program_adapter.py | 10 | CODE | |
| LOW | …sts/test_confidence_adapter/test_confidence_adapter.py | 14 | CODE | |
| LOW | tests/test_confidence_adapter/test_scoring.py | 12 | CODE | |
| LOW | examples/blackbox/utils.py | 4 | CODE | |
| LOW | examples/blackbox/utils.py | 5 | CODE | |
| LOW | examples/blackbox/evalset/evalset.py | 42 | CODE | |
| LOW | examples/confidence_adapter/main.py | 32 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 11 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 11 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 11 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 11 | CODE | |
| LOW | examples/adrs/can_be_late/__init__.py | 17 | CODE | |
| LOW | examples/adrs/can_be_late/utils/dataset.py | 3 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulator/main.py | 35 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 12 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 15 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 16 | CODE | |
| LOW | …e_late/utils/simulator/sky_spot/strategies/__init__.py | 1 | CODE | |
| LOW | …e_late/utils/simulator/sky_spot/strategies/strategy.py | 10 | CODE | |
| LOW | …e_late/utils/simulator/sky_spot/strategies/strategy.py | 12 | CODE | |
| LOW | …e_late/utils/simulator/sky_spot/strategies/strategy.py | 12 | CODE | |
| LOW | examples/adrs/cloudcast/utils/simulation.py | 17 | CODE | |
| LOW | examples/adrs/cloudcast/utils/dataset.py | 4 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/__init__.py | 3 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/__init__.py | 3 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/__init__.py | 4 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/__init__.py | 5 | CODE | |
| LOW | …ples/adrs/cloudcast/utils/cloudcast/initial_program.py | 10 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/utils.py | 6 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/utils.py | 9 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/simulator.py | 4 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/simulator.py | 8 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/broadcast.py | 3 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/broadcast.py | 4 | CODE | |
| LOW | examples/langchain_adapter/pair_sum_product.py | 10 | CODE | |
| LOW | examples/langchain_adapter/big_number_arithmetic.py | 12 | CODE | |
| LOW | examples/langchain_adapter/gsm8k.py | 11 | CODE | |
| LOW | examples/langchain_adapter/aime.py | 10 | CODE | |
| LOW | src/gepa/__init__.py | 4 | CODE | |
| LOW | src/gepa/__init__.py | 7 | CODE | |
| LOW | src/gepa/__init__.py | 8 | CODE | |
| LOW | src/gepa/__init__.py | 9 | CODE | |
| LOW | src/gepa/__init__.py | 9 | CODE | |
| LOW | src/gepa/__init__.py | 10 | CODE | |
| 78 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/gepa/visualization.py | 249 | let pinnedIdx = null; // non-null when tooltip is click-pinned (scrollable) | CODE |
| HIGH | src/gepa/visualization.py | 250 | let hoverIdx = null; // non-null when hovering over a node | CODE |
| HIGH⚡ | src/gepa/visualization.py | 292 | pinnedIdx = null; | CODE |
| HIGH⚡ | src/gepa/visualization.py | 293 | hoverIdx = null; | CODE |
| HIGH⚡ | src/gepa/visualization.py | 300 | if (pinnedIdx !== null && tt.style.display === "block" | CODE |
| HIGH⚡ | src/gepa/visualization.py | 324 | if (pinnedIdx !== null) return; // don't override a pinned tooltip | CODE |
| HIGH⚡ | src/gepa/visualization.py | 329 | if (pinnedIdx !== null || hoverIdx !== idx) return; | CODE |
| HIGH⚡ | src/gepa/visualization.py | 333 | if (pinnedIdx !== null) return; | CODE |
| HIGH⚡ | src/gepa/visualization.py | 334 | hoverIdx = null; | CODE |
| HIGH | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 372 | trace_instances = [t for t in trace if t[0].signature.equals(module.signature)] | CODE |
| HIGH | …ters/dspy_full_program_adapter/full_program_adapter.py | 186 | if predictor.signature.equals(selected[0].signature): | CODE |
| HIGH⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 512 | id -u claude_user >/dev/null 2>&1 || useradd -m -s /bin/bash claude_user | CODE |
| HIGH⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 515 | chown -R claude_user:claude_user {DOCKER_WORKDIR} 2>/dev/null || true | CODE |
| HIGH⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 525 | ls -la {problem_file_container} 2>&1 || echo "Source not found" | CODE |
| HIGH | src/gepa/gskill/gskill/evaluate/claude_code.py | 309 | apt-get clean && rm -rf /var/lib/apt/lists/* | CODE |
| HIGH | src/gepa/gskill/gskill/evaluate/claude_code.py | 318 | RUN claude --version || echo "Claude Code installed" | CODE |
| HIGH | …/gepa/examples/mcp_adapter/mcp_optimization_example.py | 16 | Pull models: ollama pull llama3.1:8b && ollama pull qwen3:8b | STRING |
| HIGH | src/gepa/examples/rag_adapter/rag_optimization.py | 46 | - For Ollama: ollama pull qwen3:8b && ollama pull nomic-embed-text:latest | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 130 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\\\\n\\\\nYour task is to read and accurately respond to di | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 133 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n1. Keto | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 135 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\", \"role\": \"system\"}, {\"content\": \"Based on this da | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 136 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\", \"role\": \"system\"}, {\"content\": \"Please describe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 136 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\", \"role\": \"system\"}, {\"content\": \"Please describe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 138 | "('reflection_lm', 'You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nBased on | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 139 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nPlease d | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 139 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nPlease d | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 140 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 140 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 140 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 140 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 141 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 143 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 144 | "('reflection_lm', 'You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nWrite me | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 146 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nPlease d | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 157 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 158 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 158 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 169 | "('reflection_lm', 'You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nI want yo | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 170 | "('reflection_lm', 'You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nHow does | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 170 | "('reflection_lm', 'You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nHow does | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 171 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 25 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW | tests/test_rag_adapter/conftest.py | 82 | # For testing, just return similarity search results | COMMENT |
| LOW | tests/test_rag_adapter/test_vector_store_interface.py | 60 | # For testing, just return similarity search results | COMMENT |
| MEDIUM | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 312 | # instead of just the current instruction, for more holistic instruction proposals. | COMMENT |
| MEDIUM | …ull_program_adapter/dspy_program_proposal_signature.py | 12 | prompt_template = """I am trying to solve a task using the DSPy framework. Here's a comprehensive overview of DSPy c | CODE |
| MEDIUM | src/gepa/gskill/gskill/swe_fitness_fn.py | 27 | # Create harness pool - one per worker | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/swe_fitness_fn.py | 51 | # Get a harness from the pool | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/evaluate/mini_swe_agent.py | 46 | # Get a harness from the pool | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/evaluate/mini_swe_agent.py | 322 | # Create harness pool | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_evaluator_wrapper.py | 739 | CODE | |
| LOW | tests/test_rag_adapter/conftest.py | 95 | CODE | |
| LOW | tests/test_rag_adapter/test_rag_end_to_end.py | 244 | CODE | |
| LOW | docs/scripts/generate_social_screenshots.py | 54 | CODE | |
| LOW | docs/scripts/generate_social_screenshots.py | 96 | CODE | |
| LOW | docs/scripts/generate_api_docs.py | 228 | CODE | |
| LOW | examples/blackbox/evalset/evalset.py | 894 | CODE | |
| LOW | examples/confidence_adapter/main.py | 270 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 246 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 295 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 326 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulation.py | 376 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulator/main.py | 41 | CODE | |
| LOW | examples/adrs/can_be_late/utils/simulator/main.py | 72 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 404 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 708 | CODE | |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 733 | CODE | |
| LOW | …/adrs/can_be_late/utils/simulator/sky_spot/simulate.py | 123 | CODE | |
| LOW | examples/adrs/cloudcast/utils/simulation.py | 279 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/utils.py | 120 | CODE | |
| LOW | examples/adrs/cloudcast/utils/cloudcast/simulator.py | 143 | CODE | |
| LOW | src/gepa/visualization.py | 34 | CODE | |
| LOW | src/gepa/visualization.py | 105 | CODE | |
| LOW | src/gepa/optimize_anything.py | 1119 | CODE | |
| LOW | src/gepa/core/engine.py | 458 | CODE | |
| LOW | src/gepa/core/state.py | 486 | CODE | |
| LOW | src/gepa/strategies/instruction_proposal.py | 45 | CODE | |
| LOW | src/gepa/strategies/instruction_proposal.py | 54 | CODE | |
| LOW | src/gepa/strategies/instruction_proposal.py | 63 | CODE | |
| LOW | src/gepa/utils/code_execution.py | 248 | CODE | |
| LOW | src/gepa/utils/code_execution.py | 379 | CODE | |
| LOW | src/gepa/proposer/merge.py | 118 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 177 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 230 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 341 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 478 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 235 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 187 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 357 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 197 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 208 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 357 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 463 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 524 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 596 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_client.py | 318 | CODE | |
| LOW | …ters/dspy_full_program_adapter/full_program_adapter.py | 83 | CODE | |
| LOW | …ters/dspy_full_program_adapter/full_program_adapter.py | 133 | CODE | |
| LOW | …gepa/adapters/confidence_adapter/confidence_adapter.py | 151 | CODE | |
| LOW | …pa/adapters/generic_rag_adapter/generic_rag_adapter.py | 398 | CODE | |
| LOW | …ters/generic_rag_adapter/vector_stores/qdrant_store.py | 227 | CODE | |
| LOW | …ters/generic_rag_adapter/vector_stores/qdrant_store.py | 274 | CODE | |
| LOW | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 148 | CODE | |
| LOW | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 207 | CODE | |
| LOW | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 256 | CODE | |
| LOW | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 325 | CODE | |
| LOW | …ters/generic_rag_adapter/vector_stores/milvus_store.py | 206 | CODE | |
| LOW | …ters/generic_rag_adapter/vector_stores/milvus_store.py | 260 | CODE | |
| LOW | …rs/generic_rag_adapter/vector_stores/weaviate_store.py | 130 | CODE | |
| LOW | …rs/generic_rag_adapter/vector_stores/weaviate_store.py | 209 | CODE | |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_pareto_frontier_types/llm_cache.json | 152 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| LOW⚡ | tests/test_pareto_frontier_types/llm_cache.json | 164 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n[REDACTE | CODE |
| LOW | tests/test_pareto_frontier_types/llm_cache.json | 44 | "('task_lm', '[{\"content\": \"You are a helpful assistant designed to assist with rewriting, translating, and respond | CODE |
| LOW | tests/test_pareto_frontier_types/llm_cache.json | 56 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n[REDACTE | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 2 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 3 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 4 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 7 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 12 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 15 | "('reflection_lm', \"I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 16 | "('task_lm', '[{\"content\": \"You are a helpful assistant. Your task is to answer math olympiad and contest-style pro | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 17 | "('task_lm', '[{\"content\": \"You are a helpful assistant. Your task is to answer math olympiad and contest-style pro | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 19 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 21 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 22 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 23 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 24 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 26 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 27 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 28 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 29 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 31 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 32 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 34 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 35 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW | docs/docs/guides/adapters.md | 39 | ### Step 1: Define Your Types | COMMENT |
| LOW | docs/docs/guides/adapters.md | 68 | ### Step 2: Implement `evaluate` | COMMENT |
| LOW | docs/docs/guides/adapters.md | 120 | ### Step 3: Implement `make_reflective_dataset` | COMMENT |
| LOW⚡ | src/gepa/core/engine.py | 444 | # Step 3: Process acceptances sequentially | COMMENT |
| LOW | src/gepa/core/engine.py | 393 | # Step 1: Pre-sample N contexts (sequential) | COMMENT |
| LOW | src/gepa/core/engine.py | 420 | # Step 2: Execute proposals in parallel (thread-safe heavy compute) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 63 | # Step 1: Query reformulation (if enabled) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 68 | # Step 2: Retrieval | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 71 | # Step 3: Reranking (if enabled) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 75 | # Step 4: Context synthesis | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 78 | # Step 5: Answer generation | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 705 | # Step 1: Setup vector store | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 709 | # Step 2: Create datasets | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 715 | # Step 3: Initialize LLM client | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 726 | # Step 4: Initialize RAG adapter | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 747 | # Step 5: Create initial prompts | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 751 | # Step 6: Test initial performance | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 759 | # Step 7: Run GEPA optimization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_pareto_frontier_types/llm_cache.json | 152 | "('task_lm', '[{\"content\": \"You are a helpful assistant tasked with drafting written content for a variety of profe | CODE |
| LOW⚡ | tests/test_pareto_frontier_types/llm_cache.json | 164 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n[REDACTE | CODE |
| LOW | tests/test_pareto_frontier_types/llm_cache.json | 44 | "('task_lm', '[{\"content\": \"You are a helpful assistant designed to assist with rewriting, translating, and respond | CODE |
| LOW | tests/test_pareto_frontier_types/llm_cache.json | 56 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n[REDACTE | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 2 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 3 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 4 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 7 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 12 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 15 | "('reflection_lm', \"I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 16 | "('task_lm', '[{\"content\": \"You are a helpful assistant. Your task is to answer math olympiad and contest-style pro | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 17 | "('task_lm', '[{\"content\": \"You are a helpful assistant. Your task is to answer math olympiad and contest-style pro | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 19 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 21 | "('task_lm', '[{\"content\": \"You are a helpful assistant. You are given a question and you need to answer it. The an | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 22 | "('reflection_lm', 'I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 23 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 24 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 26 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 27 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 28 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 29 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 31 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 32 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 34 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | tests/test_aime_prompt_optimization/llm_cache.json | 35 | "('task_lm', '[{\"content\": \"You are a helpful assistant for mathematics competition problems. You will be given a q | CODE |
| LOW⚡ | src/gepa/core/engine.py | 444 | # Step 3: Process acceptances sequentially | COMMENT |
| LOW | src/gepa/core/engine.py | 393 | # Step 1: Pre-sample N contexts (sequential) | COMMENT |
| LOW | src/gepa/core/engine.py | 420 | # Step 2: Execute proposals in parallel (thread-safe heavy compute) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 63 | # Step 1: Query reformulation (if enabled) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 68 | # Step 2: Retrieval | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 71 | # Step 3: Reranking (if enabled) | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 75 | # Step 4: Context synthesis | COMMENT |
| LOW⚡ | src/gepa/adapters/generic_rag_adapter/rag_pipeline.py | 78 | # Step 5: Answer generation | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 705 | # Step 1: Setup vector store | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 709 | # Step 2: Create datasets | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 715 | # Step 3: Initialize LLM client | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 726 | # Step 4: Initialize RAG adapter | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 747 | # Step 5: Create initial prompts | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 751 | # Step 6: Test initial performance | COMMENT |
| LOW⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 759 | # Step 7: Run GEPA optimization | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_rag_adapter/test_rag_end_to_end.py | 295 | # Create RAG configuration | COMMENT |
| MEDIUM⚡ | tests/test_rag_adapter/test_rag_end_to_end.py | 298 | # Create the RAG adapter with our mocked LLM | COMMENT |
| MEDIUM⚡ | tests/test_rag_adapter/test_rag_end_to_end.py | 305 | # Initial seed candidate with basic RAG prompts | COMMENT |
| MEDIUM⚡ | tests/test_rag_adapter/test_rag_end_to_end.py | 308 | # 2. Execution: Run the core RAG optimization logic | COMMENT |
| MEDIUM | docs/docs/guides/faq.md | 569 | ### How do I use GEPA for agentic systems with expensive rollouts? | STRING |
| MEDIUM | docs/docs/guides/use-cases.md | 1118 | [:material-arrow-right: Read the blog post](https://super-agentic.ai/resources/super-posts/gepa-dspy-optimizer-super | CODE |
| MEDIUM | …pa/adapters/generic_rag_adapter/generic_rag_adapter.py | 264 | # Execute RAG pipeline with candidate prompts | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 1 | # Generic RAG Adapter for GEPA (DOCS ONLY) | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 24 | # Install RAG adapter dependencies | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 55 | # 2. Create the RAG adapter | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 150 | ### RAG Pipeline Flow | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 327 | ### RAG Pipeline Configuration | COMMENT |
| MEDIUM | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 544 | ### Unified RAG Optimization Script | STRING |
| MEDIUM⚡ | src/gepa/examples/rag_adapter/rag_optimization.py | 726 | # Step 4: Initialize RAG adapter | COMMENT |
| MEDIUM | src/gepa/examples/rag_adapter/requirements-rag.txt | 1 | # RAG Adapter Dependencies | COMMENT |
| MEDIUM | src/gepa/examples/rag_adapter/RAG_GUIDE.md | 1 | # GEPA Generic RAG Adapter Guide | COMMENT |
| MEDIUM | src/gepa/examples/rag_adapter/RAG_GUIDE.md | 108 | ## 🚀 Using the Unified RAG Optimization Script | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_mcp_adapter.py | 327 | # Create a proper MCP error result | COMMENT |
| MEDIUM | tests/test_refiner.py | 719 | # This function is passed directly to OptimizeAnythingAdapter (bypassing | COMMENT |
| MEDIUM | tests/test_module_selector.py | 159 | # Create a mock state (not used in the new implementation) | COMMENT |
| MEDIUM | …lbacks_integration/test_callbacks_with_optimization.py | 348 | # Create a callback that only implements some methods | COMMENT |
| MEDIUM⚡ | tests/test_rag_adapter/test_rag_end_to_end.py | 298 | # Create the RAG adapter with our mocked LLM | COMMENT |
| MEDIUM | examples/blackbox/evalset/problems.py | 107 | # # Create a test point at midpoint of bounds | COMMENT |
| MEDIUM | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 381 | # This method is only here because it's abstract in base class | COMMENT |
| MEDIUM | src/gepa/optimize_anything.py | 1004 | # Create a fresh, shared log context for this evaluator call. | COMMENT |
| MEDIUM | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 86 | # Create a rich multimodal examples_with_feedback that includes both text and images | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/evaluate/mini_swe_agent.py | 305 | # Define the two evaluation conditions | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/evaluate/claude_code_skills.py | 109 | # Create the skill directory structure | COMMENT |
| MEDIUM⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 507 | # Create a runner script to avoid shell escaping issues | COMMENT |
| MEDIUM⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 529 | # Create a wrapper script for claude_user that reads from files | COMMENT |
| MEDIUM | src/gepa/gskill/gskill/evaluate/claude_code.py | 203 | # Create a set for fast lookup | COMMENT |
| MEDIUM⚡ | src/gepa/gskill/gskill/evaluate/claude_code.py | 375 | # Create the image from locally-built base | STRING |
| MEDIUM | …gskill/gskill/mini_swe_agent_config/original_mini.yaml | 60 | ### Create a new file: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_state.py | 366 | def set_adapter_state(self, state: dict) -> None: | CODE |
| LOW⚡ | docs/scripts/generate_social_screenshots.py | 96 | def update_og_tags(site_dir: str = "site", docs_dir: str = ".") -> None: | CODE |
| LOW | examples/adrs/can_be_late/__init__.py | 19 | __all__ = [ | CODE |
| LOW⚡ | examples/adrs/can_be_late/main.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | examples/adrs/can_be_late/utils/simulation.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/adrs/can_be_late/utils/simulator/main.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ples/adrs/can_be_late/utils/simulator/sky_spot/task.py | 4 | logger = logging.getLogger(__name__) | CODE |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/adrs/can_be_late/utils/simulator/sky_spot/simulate.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …e_late/utils/simulator/sky_spot/strategies/strategy.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | examples/adrs/cloudcast/main.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | examples/adrs/cloudcast/utils/simulation.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/adrs/cloudcast/utils/dataset.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/adrs/cloudcast/utils/cloudcast/__init__.py | 7 | __all__ = [ | CODE |
| LOW | src/gepa/optimize_anything.py | 301 | def _set_log_context(ctx: "LogContext | None") -> None: | CODE |
| LOW | src/gepa/optimize_anything.py | 339 | def set_log_context(ctx: LogContext) -> None: | CODE |
| LOW | src/gepa/lm.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/gepa/core/callbacks.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/gepa/core/state.py | 474 | def _update_objective_pareto_front(self, objective_scores: ObjectiveScores, program_idx: ProgramIdx) -> None: | CODE |
| LOW | src/gepa/strategies/eval_policy.py | 60 | __all__ = [ | CODE |
| LOW | src/gepa/utils/code_execution.py | 55 | def set_use_cloudpickle(value: bool) -> None: | CODE |
| LOW | src/gepa/utils/code_execution.py | 225 | def _set_random_seeds(seed: int) -> None: | CODE |
| LOW | src/gepa/utils/__init__.py | 41 | __all__ = [ | CODE |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 208 | def _update_tool_descriptions(self, program: Module, tool_candidates: dict[str, Any]) -> None: | STRING |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 497 | # def _update_candidate_tools(self, candidate, program, trajectories) -> None: | COMMENT |
| LOW | src/gepa/adapters/dspy_adapter/instruction_proposal.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/gepa/adapters/mcp_adapter/__init__.py | 22 | __all__ = [ | CODE |
| LOW | src/gepa/adapters/mcp_adapter/mcp_client.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/gepa/adapters/dspy_full_program_adapter/__init__.py | 6 | __all__ = ["DspyAdapter"] | CODE |
| LOW | src/gepa/adapters/confidence_adapter/__init__.py | 17 | __all__ = [ | CODE |
| LOW⚡ | …gepa/adapters/confidence_adapter/confidence_adapter.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/gepa/adapters/generic_rag_adapter/__init__.py | 38 | __all__ = [ | CODE |
| LOW | …optimize_anything_adapter/optimize_anything_adapter.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | …optimize_anything_adapter/optimize_anything_adapter.py | 112 | def _update_best_example_evals(self, example: object, score: float, side_info: "SideInfo") -> None: | CODE |
| LOW | …c/gepa/adapters/langchain_adapter/langchain_adapter.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/gepa/adapters/langchain_adapter/__init__.py | 7 | __all__ = [ | CODE |
| LOW⚡ | …/gepa/examples/mcp_adapter/mcp_optimization_example.py | 62 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/adrs/cloudcast/utils/cloudcast/utils.py | 47 | Create a networkx graph with capacity constraints and cost info. nodes: regions edges: links with the | STRING |
| HIGH | src/gepa/api.py | 97 | GEPA is an evolutionary optimizer that evolves (multiple) text components of a complex system to optimize them towa | STRING |
| HIGH | src/gepa/optimize_anything.py | 1129 | Optimize any text artifact using LLM-guided search. This is the main entry point for GEPA. You declare the **what* | STRING |
| HIGH | src/gepa/adapters/mcp_adapter/mcp_client.py | 326 | Factory function to create the appropriate MCP client. Args: server_params: StdioServerParameters for | STRING |
| HIGH | …pa/adapters/generic_rag_adapter/generic_rag_adapter.py | 211 | Evaluate RAG system performance on a batch of query-answer examples. This method runs the complete RAG | STRING |
| HIGH | …adapters/generic_rag_adapter/vector_store_interface.py | 44 | Search for documents semantically similar to the query text. This method performs semantic similarity | STRING |
| HIGH | …adapters/generic_rag_adapter/vector_store_interface.py | 85 | Search using a pre-computed query embedding vector. This method allows direct vector similarity search | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …st_pareto_frontier_types/test_pareto_frontier_types.py | 0 | provides the path to the recording directory and ensures it exists. | STRING |
| HIGH | …lbacks_integration/test_callbacks_with_optimization.py | 0 | provides the path to the recording directory and ensures it exists. | STRING |
| HIGH | …_aime_prompt_optimization/test_aime_prompt_optimize.py | 0 | provides the path to the recording directory and ensures it exists. | STRING |
| HIGH | …ters/generic_rag_adapter/vector_stores/qdrant_store.py | 0 | search for documents similar to the query text using embeddings. | STRING |
| HIGH | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 0 | search for documents similar to the query text using embeddings. | STRING |
| HIGH | …ters/generic_rag_adapter/vector_stores/milvus_store.py | 0 | search for documents similar to the query text using embeddings. | STRING |
| HIGH | …rs/generic_rag_adapter/vector_stores/weaviate_store.py | 0 | search for documents similar to the query text using embeddings. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ples/adrs/can_be_late/utils/simulator/sky_spot/task.py | 158 | # Check if progress has met or passed the end of this sub-task | COMMENT |
| LOW | …ples/adrs/can_be_late/utils/simulator/sky_spot/task.py | 199 | # Check if progress has met or passed the end of this sub-task (using a small tolerance) | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 311 | # Check if tick is within the valid range for this region | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 418 | # Check if we need to apply strong guarantee | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 428 | # Check if we have a working SPOT instance with no restart overhead | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 493 | # Check if trying to terminate the SAME instance type that was just launched | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 534 | # Check if this is a cold start (no instances running anywhere) | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 537 | # Check if this is a region switch | COMMENT |
| LOW | …mples/adrs/can_be_late/utils/simulator/sky_spot/env.py | 749 | # Check if we had a new launch in the previous tick | COMMENT |
| LOW | …/adrs/can_be_late/utils/simulator/sky_spot/simulate.py | 25 | # Check if this is a multi-region setup | COMMENT |
| LOW | …/adrs/can_be_late/utils/simulator/sky_spot/simulate.py | 39 | # Check if task became done after progress update | COMMENT |
| LOW | .github/workflows/build_and_release.yml | 144 | # Check if this exact version already exists on PyPI | COMMENT |
| LOW⚡ | src/gepa/core/engine.py | 465 | # Check if stop_callback contains MaxMetricCallsStopper | COMMENT |
| LOW⚡ | …ers/generic_rag_adapter/vector_stores/lancedb_store.py | 170 | # Check if field is a list type (vector field) | COMMENT |
| LOW | …ters/generic_rag_adapter/vector_stores/milvus_store.py | 126 | # Check if insertion was successful | COMMENT |
| LOW | src/gepa/gskill/gskill/swe_harness.py | 82 | # Check if rootless socket exists | COMMENT |
| LOW | src/gepa/gskill/gskill/evaluate/claude_code.py | 50 | # Check if rootless socket exists | COMMENT |
| LOW | src/gepa/gskill/gskill/evaluate/claude_code.py | 283 | # Check if base image exists locally - DO NOT PULL (would overwrite local build) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 26 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\", \"role\": \"system\"}, {\"content\": \"Kindly be inform | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 29 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nKindly b | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 32 | "('reflection_lm', \"I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 103 | "('reflection_lm', \"I provided an assistant with the following instructions to perform a task for me:\\n```\\nYou are | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 105 | "('task_lm', '[{\"content\": \"You are a helpful assistant that receives short business communications (such as intern | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 108 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\nlist all | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 130 | "('task_lm', '[{\"content\": \"You are a helpful assistant.\\\\n\\\\nYour task is to read and accurately respond to di | CODE |
| MEDIUM⚡ | tests/test_pareto_frontier_types/llm_cache.json | 133 | "('reflection_lm', \"You are a strict grader. Compare the assistant response to the gold redaction.\\nGOLD:\\n1. Keto | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/gepa/adapters/generic_rag_adapter/GEPA_RAG.md | 195 | auth_credentials=weaviate.AuthApiKey("your-api-key"), | CODE |
| HIGH | src/gepa/examples/rag_adapter/RAG_GUIDE.md | 79 | export OPENAI_API_KEY="your-api-key" | CODE |
| HIGH | src/gepa/examples/rag_adapter/RAG_GUIDE.md | 80 | export ANTHROPIC_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/blackbox/evalset/problems.py | 101 | COMMENT | |
| LOW | examples/blackbox/evalset/problems.py | 121 | # if config["res"] is not None: | COMMENT |
| LOW | examples/confidence_adapter/main.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | …/adrs/can_be_late/utils/simulator/sky_spot/simulate.py | 261 | # if len(envs) > 1: | COMMENT |
| LOW | .github/workflows/run_tests.yml | 101 | - name: Run lint with tests | COMMENT |
| LOW | .github/workflows/run_tests.yml | 121 | # - uses: actions/checkout@v4 | COMMENT |
| LOW | .github/workflows/dependency_canary.yml | 1 | # Fresh-resolution canary: regular CI installs from the committed uv.lock | COMMENT |
| LOW | src/gepa/optimize_anything.py | 501 | # Track top-K best evaluations per example, passed to evaluator via OptimizationState | COMMENT |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 501 | # TODO: The current DSPyAdapter implementation uses the GEPA default propose_new_texts. | COMMENT |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 521 | # "current_instruction_doc": base_instruction, | COMMENT |
| LOW | …adapters/generic_rag_adapter/vector_stores/__init__.py | 1 | # Copyright (c) 2025 Lakshya A Agrawal and the GEPA contributors | COMMENT |
| LOW | src/gepa/examples/rag_adapter/requirements-rag.txt | 21 | pyarrow>=10.0.0 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/gepa/api.py | 43 | CODE | |
| LOW | src/gepa/core/engine.py | 54 | CODE | |
| LOW | src/gepa/utils/code_execution.py | 135 | CODE | |
| LOW | src/gepa/adapters/dspy_adapter/dspy_adapter.py | 90 | CODE | |
| LOW | src/gepa/adapters/mcp_adapter/mcp_adapter.py | 131 | CODE | |
| LOW | …gepa/adapters/confidence_adapter/confidence_adapter.py | 349 | CODE | |
| LOW | …optimize_anything_adapter/optimize_anything_adapter.py | 63 | CODE | |
| LOW | src/gepa/logging/experiment_tracker.py | 408 | CODE | |
| LOW | src/gepa/logging/experiment_tracker.py | 23 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/build_and_release.yml | 104 | # TODO: Add tests using gepa | COMMENT |