SIA is a Self Improving AI framework to autonomously improve the performance of any AI system (Model / Agent) on a benchmark task.
This report presents the forensic synthetic code analysis of hexo-ai/sia, a Python project with 2,014 GitHub stars. SynthScan v2.0 examined 19,011 lines of code across 114 source files, recording 270 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 23.3 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
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 270 distinct pattern matches across 13 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⚡ | sia/orchestrator.py | 846 | # ======================== | COMMENT |
| MEDIUM⚡ | sia/orchestrator.py | 848 | # ======================== | COMMENT |
| MEDIUM⚡ | sia/orchestrator.py | 852 | # ======================== | COMMENT |
| MEDIUM⚡ | sia/orchestrator.py | 854 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 86 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 88 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 869 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 871 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 895 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 897 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 915 | # ======================== | COMMENT |
| MEDIUM | sia/orchestrator.py | 917 | # ======================== | COMMENT |
| MEDIUM | sia/tasks/_shared/reference_target_agent.py | 11 | # ── Tool definitions ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | sia/tasks/_shared/reference_target_agent.py | 50 | # ── Tool implementations ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sia/tasks/_shared/reference_target_agent.py | 101 | # ── Multi-Trajectory Logger ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sia/tasks/_shared/reference_target_agent.py | 173 | # ── Agent loop ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sia/tasks/_shared/reference_target_agent.py | 225 | # ── Entry point ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | sia/tasks/_shared/reference_target_agent.py | 234 | # ── Multi-Trajectory Usage Example ──────────────────────────────────────────── | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 11 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 13 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 27 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 29 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 37 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 39 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 44 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 46 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 58 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 60 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 109 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 111 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 181 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | sia/tasks/gpqa/reference/reference_target_agent.py | 183 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 228 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 230 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …/spaceship-titanic/reference/reference_target_agent.py | 11 | # ── Tool definitions ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …/spaceship-titanic/reference/reference_target_agent.py | 50 | # ── Tool implementations ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/spaceship-titanic/reference/reference_target_agent.py | 100 | # ── Agent loop ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/spaceship-titanic/reference/reference_target_agent.py | 152 | # ── Entry point ─────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sia/context_manager.py | 183 | def _format_metrics_comparison(self, prev_metrics: dict[str, Any], current_metrics: dict[str, Any]) -> str: | STRING |
| LOW | sia/prompts.py | 39 | def _build_weights_meta_prompt( | CODE |
| LOW | sia/prompts.py | 713 | def build_target_client_setup(provider: Provider, task_model: str) -> str: | STRING |
| LOW | sia/prepare_mlebench_dataset.py | 112 | def get_similar_tasks_from_gemini(competition_id: str, task_description: str) -> str: | CODE |
| LOW | sia/prepare_mlebench_dataset.py | 175 | def create_sample_task_descriptions(competition_id: str, tasks_dir: Path, similar_tasks: str) -> bool: | CODE |
| LOW | sia/orchestrator.py | 312 | def _run_target_agent_sandboxed( | STRING |
| LOW | sia/profiles.py | 95 | def load_target_agent_profile(name_or_path: str) -> TargetAgentProfile: | CODE |
| LOW | …asks/longcot-chess/reference/reference_target_agent.py | 32 | def load_chess_hard_questions(dataset_dir: Path) -> List[Dict[str, Any]]: | CODE |
| LOW | tests/test_orchestrator_helpers.py | 8 | def test_load_single_trajectory(tmp_path): | CODE |
| LOW | tests/test_orchestrator_helpers.py | 18 | def test_load_multi_trajectory(tmp_path): | CODE |
| LOW | tests/test_orchestrator_helpers.py | 32 | def test_load_missing_execution(tmp_path): | CODE |
| LOW | tests/test_orchestrator_helpers.py | 45 | def test_load_empty_multi_trajectory_folder(tmp_path): | CODE |
| LOW⚡ | tests/test_agent_impls.py | 10 | def test_registry_lists_builtin_agent_impls(): | CODE |
| LOW⚡ | tests/test_agent_impls.py | 14 | def test_get_agent_impl_returns_callable(): | CODE |
| LOW⚡ | tests/test_agent_impls.py | 19 | def test_get_agent_impl_unknown_raises(): | CODE |
| LOW⚡ | tests/test_agent_impls.py | 24 | def test_util_reexports_registry_run_agent(): | CODE |
| LOW⚡ | tests/test_agent_impls.py | 31 | def test_pydantic_ai_impl_runs_with_test_model(tmp_path): | CODE |
| LOW | tests/test_agent_impls.py | 50 | def test_pydantic_ai_model_passthrough(): | CODE |
| LOW | tests/test_agent_impls.py | 60 | def test_openhands_model_gets_openai_prefix_for_compatible_provider(): | CODE |
| LOW | tests/test_agent_impls.py | 71 | def test_openhands_model_passthrough_without_compatible_provider(): | CODE |
| LOW | tests/test_agent_impls.py | 81 | def test_run_agent_threads_provider_to_agent_impl(): | CODE |
| LOW | tests/test_generation_loop.py | 66 | def test_run_target_agent_success(mock_popen_cls, tmp_path): | CODE |
| LOW | tests/test_generation_loop.py | 98 | def test_run_target_agent_failure(mock_popen_cls, tmp_path): | CODE |
| LOW | tests/test_generation_loop.py | 126 | def test_single_generation_creates_context(mock_run_ta, mock_run_fb, tmp_path): | CODE |
| LOW | tests/test_generation_loop.py | 165 | def test_run_generation_directory_structure(mock_run_ta, mock_run_fb, tmp_path): | CODE |
| LOW | tests/test_generation_loop.py | 194 | def test_two_generations_with_feedback(mock_run_ta, mock_run_fb, mock_llm, tmp_path): | CODE |
| LOW⚡ | tests/test_providers.py | 10 | def test_bundled_providers_present(): | CODE |
| LOW⚡ | tests/test_providers.py | 14 | def test_load_anthropic_provider(): | CODE |
| LOW⚡ | tests/test_providers.py | 23 | def test_load_nebius_provider(): | CODE |
| LOW⚡ | tests/test_providers.py | 30 | def test_unknown_provider_name_raises(): | CODE |
| LOW⚡ | tests/test_providers.py | 35 | def test_load_provider_from_path(tmp_path): | CODE |
| LOW | tests/test_providers.py | 58 | def test_invalid_client_kind_raises(tmp_path): | CODE |
| LOW | tests/test_providers.py | 65 | def test_user_dir_overrides_bundled(tmp_path, monkeypatch): | CODE |
| LOW | tests/test_feedback_context_golden.py | 19 | def test_success_single_with_results(tmp_path): | CODE |
| LOW | tests/test_feedback_context_golden.py | 40 | def test_failure_single_no_results(tmp_path): | CODE |
| LOW | tests/test_feedback_context_golden.py | 60 | def test_success_multi_with_results(tmp_path): | CODE |
| LOW | tests/test_prompts_snapshot.py | 31 | def test_meta_prompt_anthropic_provider_is_byte_identical(): | CODE |
| LOW | tests/test_prompts_snapshot.py | 42 | def test_meta_prompt_openai_provider_golden(): | CODE |
| LOW | tests/test_prompts_snapshot.py | 53 | def test_feedback_prompt_golden(): | CODE |
| LOW | tests/test_web.py | 79 | def test_get_run_detail_and_domains(runs_root): | CODE |
| LOW⚡ | tests/test_web.py | 95 | def test_eval_details_and_artifacts(runs_root): | CODE |
| LOW⚡ | tests/test_web.py | 103 | def test_trajectory_normalization(runs_root): | CODE |
| LOW⚡ | tests/test_web.py | 112 | def test_missing_lookups_return_none(runs_root): | CODE |
| LOW⚡ | tests/test_web.py | 119 | def test_path_traversal_is_blocked(runs_root, evil): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 11 | def test_top_level_help_lists_subcommands(): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 19 | def test_run_help_exposes_orchestrator_flags(): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 27 | def test_web_help_exposes_server_flags(): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 35 | def test_no_args_exits_nonzero(): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 40 | def test_default_subcommand_is_run(): | CODE |
| LOW⚡ | tests/test_cli_interface.py | 45 | def test_invalid_task_exits_nonzero(): | CODE |
| LOW | tests/test_context_manager.py | 37 | def test_initialize_creates_context_md(context_mgr, run_dir): | CODE |
| LOW | tests/test_context_manager.py | 66 | def test_add_generation_with_results_json(context_mgr, run_dir): | CODE |
| LOW | tests/test_context_manager.py | 88 | def test_finalize_with_metrics(context_mgr, run_dir): | CODE |
| LOW | tests/test_context_manager.py | 112 | def test_multiple_generations_track_deltas(mock_llm, context_mgr, run_dir): | CODE |
| LOW | tests/test_config_injection.py | 16 | def test_load_agent_execution_honors_injected_max_size(tmp_path): | CODE |
| LOW | tests/test_config_injection.py | 31 | def test_run_evaluation_honors_injected_timeout(mock_run, tmp_path): | CODE |
| LOW | tests/test_config_injection.py | 45 | def test_context_manager_stores_injected_config(tmp_path): | CODE |
| LOW | tests/test_config_injection.py | 52 | def test_from_env_override_reaches_instance(monkeypatch): | CODE |
| LOW⚡ | tests/test_load_execution_formats.py | 12 | def test_missing_returns_exact_error(tmp_path): | CODE |
| LOW⚡ | tests/test_load_execution_formats.py | 18 | def test_empty_multi_folder_returns_exact_error(tmp_path): | CODE |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | EVALUATION_GUIDE.md | 93 | print(f"Error: {submission} not found") | CODE |
| MEDIUM | sia/prepare_mlebench_dataset.py | 39 | print(f"Error running mlebench prepare: {e}", file=sys.stderr) | CODE |
| MEDIUM | sia/prepare_mlebench_dataset.py | 61 | print(f"Error: Prepared directory not found: {prepared_dir}", file=sys.stderr) | CODE |
| LOW | sia/prepare_mlebench_dataset.py | 170 | except Exception as e: | CODE |
| LOW | sia/orchestrator.py | 412 | except Exception as e: | STRING |
| LOW | sia/agent_impls/claude.py | 93 | except Exception as e: | CODE |
| LOW | sia/agent_impls/pydantic_ai.py | 129 | except Exception as e: | CODE |
| LOW | sia/agent_impls/openhands.py | 101 | except Exception as e: | CODE |
| LOW | …asks/longcot-chess/reference/reference_target_agent.py | 139 | except Exception as e: | CODE |
| MEDIUM⚡ | …asks/longcot-chess/reference/reference_target_agent.py | 283 | print("Error: GEMINI_API_KEY environment variable not set") | STRING |
| MEDIUM⚡ | …asks/longcot-chess/reference/reference_target_agent.py | 290 | print(f"Error: Dataset directory does not exist: {args.dataset_dir}") | STRING |
| LOW⚡ | sia/tasks/_shared/reference_target_agent.py | 57 | except Exception as e: | CODE |
| LOW⚡ | sia/tasks/_shared/reference_target_agent.py | 67 | except Exception as e: | CODE |
| LOW | sia/tasks/_shared/reference_target_agent.py | 86 | except Exception as e: | CODE |
| LOW | sia/tasks/_shared/reference_target_agent.py | 155 | except Exception as e: | CODE |
| LOW | sia/tasks/gpqa/reference/reference_target_agent.py | 150 | except Exception as e: | CODE |
| LOW | sia/tasks/gpqa/reference/reference_target_agent.py | 165 | except Exception as exc: | CODE |
| MEDIUM⚡ | sia/tasks/gpqa/reference/reference_target_agent.py | 223 | print(f"Error on question {question_result['question_id']}: {question_result['error']}") | CODE |
| LOW⚡ | …/spaceship-titanic/reference/reference_target_agent.py | 57 | except Exception as e: | CODE |
| LOW⚡ | …/spaceship-titanic/reference/reference_target_agent.py | 67 | except Exception as e: | CODE |
| LOW | …/spaceship-titanic/reference/reference_target_agent.py | 86 | except Exception as e: | CODE |
| MEDIUM | sia/tasks/lawbench/data/public/evaluate.py | 78 | print(f"Error: No submission.csv or predictions.csv found in {args.gen_dir}") | CODE |
| LOW | sia/tasks/lawbench/data/public/evaluate.py | 130 | except Exception as e: | CODE |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 202 | except Exception as e: | CODE |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 299 | except Exception as e: | CODE |
| LOW | sia/web/server.py | 128 | except Exception as exc: # pragma: no cover - background best-effort | CODE |
| MEDIUM | sia/web/server.py | 125 | def _run() -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sia/config.py | 3 | CODE | |
| LOW | sia/results.py | 8 | CODE | |
| LOW | sia/agent_reference.py | 21 | CODE | |
| LOW | sia/agent_reference.py | 26 | CODE | |
| LOW | sia/util.py | 7 | CODE | |
| LOW | sia/util.py | 7 | CODE | |
| LOW | sia/util.py | 7 | CODE | |
| LOW | sia/layout.py | 9 | CODE | |
| LOW | sia/config_files.py | 10 | CODE | |
| LOW | sia/run_setup.py | 7 | CODE | |
| LOW | sia/prompts.py | 7 | CODE | |
| LOW | sia/providers.py | 12 | CODE | |
| LOW | sia/cli.py | 20 | CODE | |
| LOW | sia/orchestrator.py | 59 | CODE | |
| LOW | sia/io_utils.py | 9 | CODE | |
| LOW | sia/api_keys.py | 3 | CODE | |
| LOW | sia/profiles.py | 17 | CODE | |
| LOW | sia/logging_setup.py | 8 | CODE | |
| LOW | sia/agent_impls/claude.py | 3 | CODE | |
| LOW | sia/agent_impls/__init__.py | 8 | CODE | |
| LOW | sia/agent_impls/__init__.py | 8 | CODE | |
| LOW | sia/agent_impls/__init__.py | 8 | CODE | |
| LOW | sia/agent_impls/__init__.py | 9 | CODE | |
| LOW | sia/agent_impls/__init__.py | 9 | CODE | |
| LOW | sia/agent_impls/__init__.py | 9 | CODE | |
| LOW | sia/agent_impls/__init__.py | 9 | CODE | |
| LOW | sia/agent_impls/pydantic_ai.py | 12 | CODE | |
| LOW | sia/agent_impls/openhands.py | 3 | CODE | |
| LOW | sia/agent_impls/base.py | 11 | CODE | |
| LOW | sia/web/server.py | 8 | CODE | |
| LOW | sia/web/__init__.py | 9 | CODE | |
| LOW | sia/web/__init__.py | 9 | CODE | |
| LOW | sia/web/__init__.py | 9 | CODE | |
| LOW | sia/web/runs.py | 24 | CODE | |
| LOW | tests/golden_master.py | 16 | CODE | |
| LOW | tests/test_gpqa_evaluator.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sia/prompts.py | 351 | ### Step 1: Verify Dataset Alignment | COMMENT |
| LOW⚡ | sia/prompts.py | 358 | ### Step 2: Check the Sandbox (if using code execution) | COMMENT |
| LOW | sia/prompts.py | 400 | ### Step 3: Isolate the Problem | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 237 | # Step 1: Run mlebench prepare | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 242 | # Step 2: Copy dataset files | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 247 | # Step 3: Move and rename description | COMMENT |
| LOW | sia/prepare_mlebench_dataset.py | 265 | # Step 6: Copy reference agent | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 97 | # Step 1: Load test data | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 109 | # Step 2: Load valid classes | COMMENT |
| LOW⚡ | sia/tasks/lawbench/reference/reference_target_agent.py | 122 | # Step 3: Load training data for few-shot examples (optional) | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 135 | # Step 4: Generate predictions with multi-trajectory logging | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 239 | # Step 5: Save submission | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 262 | # Step 6: Save summary execution log | COMMENT |
| LOW | docs/walkthrough.md | 5 | ## Step 1: Set up the task directory | COMMENT |
| LOW | docs/walkthrough.md | 41 | ## Step 2: Run the orchestrator | COMMENT |
| LOW | docs/walkthrough.md | 68 | ## Step 3: Analyze results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | sia/prompts.py | 351 | ### Step 1: Verify Dataset Alignment | COMMENT |
| LOW⚡ | sia/prompts.py | 358 | ### Step 2: Check the Sandbox (if using code execution) | COMMENT |
| LOW | sia/prompts.py | 400 | ### Step 3: Isolate the Problem | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 237 | # Step 1: Run mlebench prepare | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 242 | # Step 2: Copy dataset files | COMMENT |
| LOW⚡ | sia/prepare_mlebench_dataset.py | 247 | # Step 3: Move and rename description | COMMENT |
| LOW | sia/prepare_mlebench_dataset.py | 265 | # Step 6: Copy reference agent | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 97 | # Step 1: Load test data | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 109 | # Step 2: Load valid classes | COMMENT |
| LOW⚡ | sia/tasks/lawbench/reference/reference_target_agent.py | 122 | # Step 3: Load training data for few-shot examples (optional) | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 135 | # Step 4: Generate predictions with multi-trajectory logging | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 239 | # Step 5: Save submission | COMMENT |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 262 | # Step 6: Save summary execution log | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sia/context_manager.py | 267 | CODE | |
| LOW | sia/context_manager.py | 338 | CODE | |
| LOW | sia/context_manager.py | 385 | CODE | |
| LOW | sia/context_manager.py | 454 | CODE | |
| LOW | sia/orchestrator.py | 91 | CODE | |
| LOW | sia/orchestrator.py | 185 | CODE | |
| LOW | sia/orchestrator.py | 425 | CODE | |
| LOW | sia/agent_impls/claude.py | 13 | CODE | |
| LOW | …asks/longcot-chess/reference/reference_target_agent.py | 93 | CODE | |
| LOW | sia/tasks/_shared/reference_target_agent.py | 175 | CODE | |
| LOW | sia/tasks/gpqa/data/public/evaluate.py | 111 | CODE | |
| LOW | sia/tasks/gpqa/reference/reference_target_agent.py | 112 | CODE | |
| LOW | …/spaceship-titanic/reference/reference_target_agent.py | 102 | CODE | |
| LOW | sia/tasks/lawbench/data/public/evaluate.py | 50 | CODE | |
| LOW | sia/tasks/lawbench/data/public/evaluate.py | 119 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sia/context_manager.py | 372 | # Priority 3: Parse stdout (check both harness and weights mode log files) | COMMENT |
| MEDIUM | sia/orchestrator.py | 884 | # Build meta prompt based on focus mode (weights=RL tuning, harness=code improvement) | COMMENT |
| MEDIUM | sia/orchestrator.py | 661 | # Use train.py for weights mode (RL tuning), target_agent.py for harness mode | STRING |
| MEDIUM | sia/web/runs.py | 299 | # For stdout_log, check both harness and weights mode variants | COMMENT |
| MEDIUM | sia/web/runs.py | 365 | # For stdout_log, check both harness and weights mode variants | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | sia/tasks/lawbench/reference/reference_target_agent.py | 122 | # Step 3: Load training data for few-shot examples (optional) | COMMENT |
| MEDIUM | docs/architecture.md | 33 | │ ├── orchestrator.py # Main orchestration logic | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sia/util.py | 9 | __all__ = ["available_agent_impls", "get_agent_impl", "run_agent"] | CODE |
| LOW | sia/orchestrator.py | 68 | __all__ = [ | CODE |
| LOW | sia/agent_impls/__init__.py | 11 | __all__ = ["available_agent_impls", "get_agent_impl", "register", "run_agent"] | CODE |
| LOW | sia/tasks/lawbench/reference/reference_target_agent.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | sia/web/__init__.py | 11 | __all__ = ["create_app", "serve", "serve_in_background"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sia/context_manager.py | 142 | # Create a temporary directory for LLM execution | STRING |
| MEDIUM | tests/test_context_manager.py | 17 | # Create a minimal target_agent.py | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …asks/longcot-chess/reference/reference_target_agent.py | 285 | print(" export GEMINI_API_KEY='your-api-key-here'") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sia/orchestrator.py | 235 | # Check if results.json was created | COMMENT |
| LOW | sia/tasks/longcot-chess/data/public/evaluate.py | 100 | # Check if any permutation matches (for unordered answers) | COMMENT |