Reliable Multi-Agent Orchestration Framework
This report presents the forensic synthetic code analysis of VRSEN/agency-swarm, a Python project with 4,543 GitHub stars. SynthScan v2.0 examined 100,826 lines of code across 461 source files, recording 3110 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 34.2 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 3110 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 116 | def _validate_existing_pricing_file(pricing_file_path: Path) -> None: | CODE |
| LOW⚡ | tests/conftest.py | 26 | def get_conversation_history_side_effect(agent, caller_agent=None): | CODE |
| LOW⚡ | tests/conftest.py | 36 | def get_all_messages_side_effect(): | CODE |
| LOW⚡ | tests/conftest.py | 40 | def replace_messages_side_effect(new_messages): | CODE |
| LOW | tests/conftest.py | 79 | def mock_create_minimal_context(): | CODE |
| LOW | tests/deterministic_model.py | 44 | def _extract_text_from_content(content: Any) -> str | None: | CODE |
| LOW | tests/deterministic_model.py | 74 | def _extract_last_tool_output(items: str | list[TResponseInputItem]) -> str | None: | CODE |
| LOW | tests/deterministic_model.py | 92 | def _extract_secret_from_history(items: list[TResponseInputItem]) -> str | None: | CODE |
| LOW | tests/deterministic_model.py | 153 | def _build_tool_call_response(tool_name: str, arguments: dict[str, Any]) -> ModelResponse: | CODE |
| LOW | tests/deterministic_model.py | 308 | async def _stream_output_item_events( | CODE |
| LOW | tests/response_history_samples.py | 6 | def history_with_encrypted_reasoning() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 56 | def history_with_unencrypted_reasoning() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 63 | def history_with_unencrypted_reasoning_before_tool_pair() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 90 | def history_with_unencrypted_reasoning_before_current_user_message() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 102 | def history_with_unencrypted_reasoning_before_builtin_tool_call() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 119 | def history_with_unencrypted_reasoning_before_tool_search_pair() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_samples.py | 145 | def history_with_user_and_legacy_unencrypted_reasoning_turn() -> list[dict[str, Any]]: | CODE |
| LOW | tests/response_history_helpers.py | 97 | def parse_sse_messages_payload(chunks: list[str]) -> dict[str, Any]: | CODE |
| LOW | tests/response_history_helpers.py | 109 | def agency_factory_with_store( | CODE |
| LOW | tests/response_history_helpers.py | 146 | def build_store_false_agency_factory( | CODE |
| LOW | tests/response_history_helpers.py | 168 | def assert_store_false_input_preserves_stateless_reasoning(model_input: str | list[TResponseInputItem]) -> None: | CODE |
| LOW⚡ | tests/response_history_helpers.py | 188 | def assert_unencrypted_reasoning_is_dropped(model_input: str | list[TResponseInputItem]) -> None: | CODE |
| LOW⚡ | tests/response_history_helpers.py | 195 | def assert_store_false_requests_encrypted_reasoning(model_settings: ModelSettings) -> None: | CODE |
| LOW⚡ | tests/response_history_helpers.py | 201 | def assert_history_input_has_no_response_ids(model_input: str | list[TResponseInputItem]) -> None: | CODE |
| LOW⚡ | tests/response_history_helpers.py | 207 | def assert_messages_have_no_response_ids(messages: list[dict[str, Any]]) -> None: | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 16 | def test_get_metadata_rich_metadata(self): | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 45 | def test_get_metadata_includes_quick_replies(self): | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 61 | def test_get_metadata_uses_openrouter_model_alias(self): | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 76 | def test_hosted_mcp_tools_unique_ids(self): | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 112 | def test_get_agency_structure_deprecated_alias(self): | CODE |
| LOW | tests/test_agency_modules/test_ui_metadata.py | 121 | def test_copilot_demo_launcher_sets_client_facing_backend_url(): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 32 | def test_agentswarm_cli_tui_launches_agent_swarm_cli(monkeypatch): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 64 | def test_agentswarm_cli_tui_continues_after_reload(monkeypatch): | CODE |
| LOW⚡ | tests/test_agency_modules/test_agentswarm_cli_tui.py | 85 | def test_agentswarm_cli_tui_installs_agent_swarm_cli(monkeypatch): | CODE |
| LOW⚡ | tests/test_agency_modules/test_agentswarm_cli_tui.py | 92 | def test_agentswarm_cli_tui_prefers_explicit_cli(monkeypatch): | CODE |
| LOW⚡ | tests/test_agency_modules/test_agentswarm_cli_tui.py | 99 | def test_agentswarm_cli_tui_rejects_hidden_reasoning(): | CODE |
| LOW⚡ | tests/test_agency_modules/test_agentswarm_cli_tui.py | 106 | def test_agentswarm_cli_tui_raises_when_bridge_fails(monkeypatch): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 120 | def test_agentswarm_cli_tui_raises_when_cli_launch_fails(monkeypatch): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 139 | def test_agentswarm_cli_tui_contains_python_prints_while_cli_runs(monkeypatch, capsys, tmp_path): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 203 | def test_agentswarm_cli_tui_reports_bridge_output_on_failure(monkeypatch, capsys, tmp_path): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 255 | def test_agentswarm_cli_tui_capture_includes_bridge_worker_threads(capsys, tmp_path): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 280 | def test_agentswarm_cli_tui_capture_keeps_other_threads_on_real_streams(capsys, tmp_path): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 310 | def test_agentswarm_cli_tui_downloads_platform_cli(monkeypatch, tmp_path): | CODE |
| LOW | tests/test_agency_modules/test_agentswarm_cli_tui.py | 379 | def test_agentswarm_cli_tui_notifies_on_first_run(monkeypatch, tmp_path): | CODE |
| LOW | …s/test_agency_modules/test_chained_handoffs_runtime.py | 127 | async def test_same_turn_chained_handoff_reaches_final_agent() -> None: | CODE |
| LOW | …s/test_agency_modules/test_chained_handoffs_runtime.py | 143 | async def test_runtime_handoffs_are_restored_after_run() -> None: | CODE |
| LOW | …/test_agency_modules/test_package_init_lazy_litellm.py | 28 | def test_import_agency_swarm_does_not_eager_import_litellm_when_installed() -> None: | CODE |
| LOW | …/test_agency_modules/test_package_init_lazy_litellm.py | 44 | def test_litellm_model_export_loads_and_patches_lazily() -> None: | CODE |
| LOW | …/test_agency_modules/test_package_init_lazy_litellm.py | 69 | def test_package_star_import_includes_litellm_model_when_installed() -> None: | CODE |
| LOW | …/test_agency_modules/test_package_init_lazy_litellm.py | 91 | def test_agent_with_sdk_litellm_model_patches_when_model_is_used() -> None: | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 23 | def test_integrations_fastapi_imports_without_optional_dependencies(caplog): | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 49 | def test_run_fastapi_creates_new_agency_instance(mocker): | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 81 | def test_run_fastapi_preserves_custom_tool_mappings(mocker): | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 104 | def test_run_fastapi_preserves_default_and_custom_tool_mappings(mocker): | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 129 | def test_run_fastapi_normalizes_relative_shared_folders_for_factory_calls(mocker, tmp_path: Path): | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 195 | def test_run_fastapi_preserves_oauth_token_path(mocker, tmp_path: Path) -> None: | CODE |
| LOW | tests/test_agency_modules/test_agency_helpers.py | 215 | def test_package_star_import_succeeds_without_jupyter_dependencies() -> None: | CODE |
| LOW | tests/test_agency_modules/test_ui.py | 61 | def test_hierarchical_layout_basic(self, sample_agency_data): | CODE |
| LOW | tests/test_agency_modules/test_ui.py | 80 | def test_hierarchical_layout_entry_points_on_top(self, sample_agency_data): | CODE |
| LOW | tests/test_agency_modules/test_ui.py | 95 | def test_hierarchical_layout_with_tools(self): | CODE |
| 1919 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 26 | except Exception: | CODE |
| LOW | hatch_build.py | 95 | except Exception: | CODE |
| LOW⚡ | tests/integration/agency/test_agent_handoffs.py | 181 | except Exception as e: | CODE |
| LOW | tests/integration/mcp/test_mcp_server.py | 84 | except Exception: | CODE |
| LOW | …ts/integration/fastapi/test_fastapi_file_processing.py | 57 | except Exception as e: | CODE |
| LOW | …ts/integration/fastapi/test_fastapi_file_processing.py | 120 | except Exception as e: | CODE |
| LOW | tests/integration/persistence/test_persistence.py | 26 | except Exception as e: | CODE |
| LOW | tests/integration/persistence/test_persistence.py | 49 | except Exception as e: | CODE |
| LOW | tests/integration/persistence/test_persistence.py | 119 | except Exception as e: | CODE |
| LOW | tests/integration/persistence/test_persistence.py | 131 | except Exception as e: | CODE |
| LOW | …ation/persistence/test_thread_isolation_persistence.py | 77 | except Exception: | CODE |
| LOW | …ation/persistence/test_thread_isolation_persistence.py | 90 | except Exception: | CODE |
| LOW | …tion/files/test_file_attachment_citation_extraction.py | 105 | except Exception as err: | STRING |
| LOW | …tion/files/test_file_attachment_citation_extraction.py | 166 | except Exception as e: | STRING |
| LOW | …tion/files/test_file_attachment_citation_extraction.py | 221 | except Exception as err: | STRING |
| LOW | …tion/files/test_file_attachment_citation_extraction.py | 241 | except Exception as err: | STRING |
| MEDIUM⚡ | tests/integration/files/test_file_handling.py | 250 | print(f"Error cleaning up file {file.name}: {e}") | CODE |
| MEDIUM⚡ | tests/integration/files/test_file_handling.py | 259 | print(f"Error cleaning up vector store: {e}") | CODE |
| MEDIUM⚡ | tests/integration/files/test_file_handling.py | 261 | print(f"Error during cleanup: {e}") | CODE |
| MEDIUM | tests/integration/files/test_file_handling.py | 184 | print(f"Error cleaning up file {file_id}: {e}") | CODE |
| LOW⚡ | tests/integration/files/test_file_handling.py | 249 | except Exception as e: | CODE |
| LOW⚡ | tests/integration/files/test_file_handling.py | 258 | except Exception as e: | CODE |
| LOW⚡ | tests/integration/files/test_file_handling.py | 260 | except Exception as e: | CODE |
| MEDIUM⚡ | tests/integration/files/test_file_handling.py | 490 | print(f"Error cleaning up: {e}, dir: {tmp_dir.glob('*')}") | STRING |
| LOW | tests/integration/files/test_file_handling.py | 99 | except Exception as e: | CODE |
| LOW | tests/integration/files/test_file_handling.py | 183 | except Exception as e: | CODE |
| LOW | tests/integration/files/test_file_handling.py | 383 | except Exception as e: | CODE |
| LOW | tests/integration/files/test_file_handling.py | 660 | except Exception as e: | CODE |
| LOW | tests/integration/files/test_file_handling.py | 715 | except Exception: | CODE |
| LOW | tests/integration/files/test_file_handling.py | 741 | except Exception as e: | CODE |
| LOW⚡ | tests/integration/files/test_file_handling.py | 489 | except Exception as e: | STRING |
| LOW | tests/integration/communication/test_communication.py | 284 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 42 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 49 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 60 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 114 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 167 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 233 | except Exception: | CODE |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 272 | except Exception: | CODE |
| LOW | tests/integration/fin_agency/main.py | 98 | except Exception: | CODE |
| LOW | tests/integration/fin_agency/main.py | 196 | except Exception: | CODE |
| LOW | …/ReportGenerator/tools/FormatProfessionalReportTool.py | 167 | except Exception as e: | STRING |
| LOW | tests/fastapi_debugging/debug_streaming.py | 153 | except Exception as e: | CODE |
| LOW | tests/fastapi_debugging/debug_delegation_events.py | 124 | except Exception: | CODE |
| LOW | .claude/agents/tools-creator.md | 106 | except Exception as e: | CODE |
| LOW | docs/analise_docs.py | 67 | except Exception as e: | CODE |
| MEDIUM | docs/analise_docs.py | 68 | print(f"Error processing {file_path}: {e}") | CODE |
| LOW | examples/agency_visualization.py | 104 | except Exception as e: | CODE |
| LOW | examples/message_attachments.py | 64 | except Exception as e: | CODE |
| LOW | examples/message_attachments.py | 111 | except Exception as e: | CODE |
| LOW | examples/message_attachments.py | 150 | except Exception: | CODE |
| LOW | examples/mcp_servers.py | 127 | except Exception as e: | CODE |
| LOW | examples/fastapi_integration/oauth_agency.py | 64 | except Exception as exc: # noqa: BLE001 | CODE |
| MEDIUM | examples/fastapi_integration/oauth_agency.py | 61 | def _run_once() -> None: | CODE |
| LOW | examples/fastapi_integration/client.py | 92 | except Exception as e: | CODE |
| LOW | examples/fastapi_integration/client.py | 279 | except Exception as e: | CODE |
| LOW | examples/utils/stdio_mcp_server.py | 36 | except Exception as e: | CODE |
| LOW | examples/interactive/copilot_demo.py | 64 | except Exception as e: | CODE |
| LOW | examples/mcp_oauth/notion_client.py | 59 | except Exception: | CODE |
| LOW | examples/mcp_oauth/google_client.py | 64 | except Exception: | CODE |
| 255 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/deterministic_model.py | 1 | CODE | |
| LOW | tests/response_history_samples.py | 1 | CODE | |
| LOW | tests/response_history_helpers.py | 1 | CODE | |
| LOW | tests/test_cli_modules/test_main.py | 1 | CODE | |
| LOW | tests/integration/conftest.py | 8 | CODE | |
| LOW | tests/integration/test_package_init_lazy_openclaw.py | 1 | CODE | |
| LOW | tests/integration/fastapi/conftest.py | 1 | CODE | |
| LOW | tests/integration/fastapi/test_openclaw_layout.py | 1 | CODE | |
| LOW | …egration/fastapi/test_openclaw_current_app_defaults.py | 1 | CODE | |
| LOW | tests/integration/fastapi/test_openclaw_tool_mode.py | 1 | CODE | |
| LOW | …ntegration/fastapi/test_fastapi_uvicorn_ws_fallback.py | 1 | CODE | |
| LOW | …s/integration/fastapi/test_openclaw_proxy_streaming.py | 1 | CODE | |
| LOW | …s/integration/fastapi/test_openclaw_runtime_process.py | 1 | CODE | |
| LOW | tests/integration/fastapi/_openclaw_test_support.py | 1 | CODE | |
| LOW | …gration/fastapi/test_openclaw_store_false_reasoning.py | 1 | CODE | |
| LOW | …ts/integration/fastapi/test_openclaw_proxy_requests.py | 1 | CODE | |
| LOW | tests/integration/fastapi/test_fastapi_user_context.py | 1 | CODE | |
| LOW | …/integration/fastapi/test_openclaw_response_history.py | 1 | CODE | |
| LOW | tests/integration/fastapi/test_openclaw_model_auth.py | 1 | CODE | |
| LOW | …s/integration/fastapi/test_openclaw_runtime_startup.py | 1 | CODE | |
| LOW | tests/integration/fastapi/test_fastapi_client_config.py | 3 | CODE | |
| LOW | …ration/test_litellm_openai_responses_history_switch.py | 3 | CODE | |
| LOW | …financial_research_agency/PortfolioManager/__init__.py | 1 | CODE | |
| LOW | …ency/financial_research_agency/RiskAnalyst/__init__.py | 1 | CODE | |
| LOW | …/financial_research_agency/ReportGenerator/__init__.py | 1 | CODE | |
| LOW | …test_fastapi_utils_modules/test_tool_request_models.py | 1 | CODE | |
| LOW | tests/test_fastapi_utils_modules/test_tool_endpoints.py | 1 | CODE | |
| LOW | …sts/test_fastapi_utils_modules/test_override_policy.py | 3 | CODE | |
| LOW | tests/test_utils_modules/test_usage_tracking.py | 1 | CODE | |
| LOW | …test_messages_modules/test_response_input_sanitizer.py | 1 | CODE | |
| LOW | tests/test_agent_modules/test_agent_flow.py | 1 | CODE | |
| LOW | …modules/test_system_reminders_lifecycle_regressions.py | 1 | CODE | |
| LOW | tests/test_agent_modules/test_openclaw_agent.py | 1 | CODE | |
| LOW | tests/test_agent_modules/test_file_sync.py | 1 | CODE | |
| LOW | …nt_modules/test_system_reminders_runner_regressions.py | 1 | CODE | |
| LOW | tests/test_agent_modules/test_mcp_manager.py | 1 | CODE | |
| LOW | …/test_agent_modules/test_system_reminders_streaming.py | 9 | CODE | |
| LOW | …nt_modules/test_system_reminders_review_regressions.py | 1 | CODE | |
| LOW | tests/test_agent_modules/test_system_reminders.py | 1 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| LOW | src/agency_swarm/__init__.py | 10 | CODE | |
| 297 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 74 | # Create an agency and replace its thread manager with our mock | COMMENT |
| MEDIUM | tests/conftest.py | 101 | # Create a proper async generator mock for get_response_stream | COMMENT |
| MEDIUM | tests/conftest.py | 117 | # Create a proper async generator mock for get_response_stream | COMMENT |
| MEDIUM | tests/test_agency_modules/test_ui.py | 378 | # Create a more complex structure with manager and leaf agents | COMMENT |
| MEDIUM | …sts/integration/tools/test_tools_folder_integration.py | 16 | # Create a simple test tool | COMMENT |
| MEDIUM | tests/integration/tools/test_ipython_interpreter.py | 267 | # Create a custom tool class with a short timeout | COMMENT |
| MEDIUM | tests/integration/tools/test_ipython_interpreter.py | 346 | # Create a test file in temp directory | COMMENT |
| MEDIUM | tests/integration/tools/test_responses_api_tools.py | 176 | # Create an agency with the agent | COMMENT |
| MEDIUM | tests/integration/tools/test_responses_api_tools.py | 314 | # Create an agency with the agent | STRING |
| MEDIUM | tests/integration/tools/test_load_file_attachment.py | 30 | # Create a simple PNG image (1x1 red pixel) | COMMENT |
| MEDIUM | tests/integration/tools/test_load_file_attachment.py | 42 | # Create a JPEG file marker | COMMENT |
| MEDIUM | tests/integration/tools/test_load_file_attachment.py | 48 | # Create a PDF file marker | COMMENT |
| MEDIUM | tests/integration/tools/test_load_file_attachment.py | 191 | # Create a dummy file | COMMENT |
| MEDIUM | …integration/tools/test_tool_concurrency_integration.py | 105 | # Create a tools folder with function tools | COMMENT |
| MEDIUM | tests/integration/mcp/test_mcp_server.py | 184 | # Create a temporary MCP server script with inline tool definition | COMMENT |
| MEDIUM⚡ | tests/integration/mcp/test_mcp_server.py | 394 | # Create a mock tool that's neither BaseTool nor FunctionTool | COMMENT |
| MEDIUM | …egration/cli/test_create_agent_template_integration.py | 208 | # Create the folder first | COMMENT |
| MEDIUM | tests/integration/fastapi/test_logging_middleware.py | 459 | # Create a test log file | COMMENT |
| MEDIUM | …tion/files/test_file_attachment_citation_extraction.py | 190 | # Create a separate file for direct attachment to avoid conflicts | STRING |
| MEDIUM | tests/integration/files/test_file_handling.py | 127 | # Create an agent WITHOUT custom file processing tools | COMMENT |
| MEDIUM | tests/integration/files/test_file_handling.py | 523 | # Create a vision-capable agent with temperature=0 for deterministic responses | COMMENT |
| MEDIUM | tests/test_utils_modules/test_files.py | 22 | # Create a user script that imports and calls get_external_caller_directory | COMMENT |
| MEDIUM | tests/test_utils_modules/test_files.py | 101 | # Create a tool file | STRING |
| MEDIUM | tests/test_utils_modules/test_files.py | 247 | # Create a script that uses exec() to call get_external_caller_directory | COMMENT |
| MEDIUM⚡ | tests/test_utils_modules/test_create_agent_template.py | 292 | # Create the folder first | COMMENT |
| MEDIUM | tests/data/scripts/stdio_server.py | 3 | # Create the MCP server | COMMENT |
| MEDIUM⚡ | tests/test_agent_modules/test_tool_factory_core.py | 72 | # Create a file with syntax errors | COMMENT |
| MEDIUM | tests/test_agent_modules/test_agent_initialization.py | 264 | # Create a temporary test directory | COMMENT |
| MEDIUM | tests/test_agent_modules/test_agent_file_manager.py | 460 | # Create a file so the folder is not empty | COMMENT |
| MEDIUM | tests/test_agent_modules/test_attachment_manager.py | 22 | # Create a mock agent without file_manager | COMMENT |
| MEDIUM | …t_modules/test_execution_stream_persistence_fake_id.py | 352 | # Create a ToolCallItem and ToolCallOutputItem for call_b update | COMMENT |
| MEDIUM | tests/test_agent_modules/test_tool_factory_langchain.py | 22 | # Create a simple dummy tool class | COMMENT |
| MEDIUM | …ts/test_agent_modules/test_output_guardrail_retries.py | 37 | # Create the exception with the guardrail_result | COMMENT |
| MEDIUM⚡ | tests/test_agent_modules/test_streaming_utils.py | 22 | # Create a simple object without pre-existing attributes | COMMENT |
| MEDIUM | tests/test_agent_modules/test_streaming_utils.py | 35 | # Create a simple object with type attribute | COMMENT |
| MEDIUM⚡ | tests/test_tools_modules/test_tool_system.py | 124 | # Create an instance of SendMessage for testing its on_invoke_tool method directly | COMMENT |
| MEDIUM⚡ | tests/test_tools_modules/test_tool_system.py | 133 | # Create a class that inherits from BaseTool | COMMENT |
| MEDIUM | docs/analise_docs.py | 80 | # Define the threshold | COMMENT |
| MEDIUM | examples/custom_persistence.py | 130 | # Create a second agent instance for the reloaded agency (to avoid agent reuse) | COMMENT |
| MEDIUM | examples/message_attachments.py | 121 | # Create a single agent that can handle both files and vision | COMMENT |
| MEDIUM | examples/utils/stdio_mcp_server.py | 11 | # Define the async function that implements the tool logic using the decorator | COMMENT |
| MEDIUM⚡ | src/agency_swarm/tools/send_message.py | 278 | # Create a minimal agency context for multi-agent communication | COMMENT |
| MEDIUM | src/agency_swarm/tools/mcp_persistence.py | 80 | # Create a per-server driver task with a command queue if missing | COMMENT |
| MEDIUM | src/agency_swarm/messages/message_formatter.py | 363 | # Create a copy without agency fields (including citations which OpenAI doesn't accept) | COMMENT |
| MEDIUM | src/agency_swarm/messages/message_formatter.py | 400 | # Create a copy to avoid modifying the original | COMMENT |
| MEDIUM | src/agency_swarm/utils/create_agent_template.py | 226 | # Define the fields with descriptions using Pydantic Field | COMMENT |
| MEDIUM | src/agency_swarm/agent/execution_helpers.py | 358 | # Create a wrapper function that calls original callable and joins shared/additional instructions | COMMENT |
| MEDIUM | src/agency_swarm/integrations/mcp_server.py | 158 | # Create a custom tool to maintain input schema | COMMENT |
| MEDIUM | src/agency_swarm/integrations/mcp_server.py | 160 | # Create a custom tool class that extends Tool | COMMENT |
| MEDIUM | src/agency_swarm/integrations/mcp_server.py | 177 | # Create a minimal ToolContext for the FunctionTool | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_build_modules/test_retired_model_guard.py | 36 | CODE | |
| LOW | tests/integration/tools/test_responses_api_tools.py | 54 | CODE | |
| LOW | tests/integration/tools/test_responses_api_tools.py | 262 | CODE | |
| LOW | tests/integration/agency/test_parent_run_id_tracking.py | 216 | CODE | |
| LOW | tests/integration/agency/test_shared_resources.py | 330 | CODE | |
| LOW | …ntegration/fastapi/test_fastapi_stream_cancellation.py | 53 | CODE | |
| LOW | …ts/integration/fastapi/test_fastapi_file_processing.py | 474 | CODE | |
| LOW | …gration/files/test_vector_store_citation_extraction.py | 28 | CODE | |
| LOW | tests/integration/files/test_file_handling.py | 238 | CODE | |
| LOW | tests/integration/files/test_file_handling.py | 339 | CODE | |
| LOW | tests/integration/files/test_file_handling.py | 405 | CODE | |
| LOW | …llm_integration/test_litellm_anthropic_nonstreaming.py | 77 | CODE | |
| LOW | …llm_integration/test_litellm_anthropic_nonstreaming.py | 115 | CODE | |
| LOW | …integration/test_litellm_anthropic_message_ordering.py | 86 | CODE | |
| LOW | …integration/test_litellm_anthropic_message_ordering.py | 125 | CODE | |
| LOW | tests/integration/communication/test_communication.py | 241 | CODE | |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 65 | CODE | |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 201 | CODE | |
| LOW | tests/integration/fin_agency/main.py | 157 | CODE | |
| LOW | tests/integration/fin_agency/main.py | 88 | CODE | |
| LOW | …t_fastapi_utils_modules/test_file_handler_downloads.py | 50 | CODE | |
| LOW | tests/fastapi_debugging/debug_streaming.py | 15 | CODE | |
| LOW | tests/fastapi_debugging/debug_delegation_events.py | 33 | CODE | |
| LOW | docs/analise_docs.py | 57 | CODE | |
| LOW | examples/streaming.py | 102 | CODE | |
| LOW | examples/fastapi_integration/server.py | 38 | CODE | |
| LOW | examples/fastapi_integration/client.py | 24 | CODE | |
| LOW | examples/fastapi_integration/client.py | 106 | CODE | |
| LOW | examples/interactive/tui.py | 47 | CODE | |
| LOW | src/agency_swarm/ui/core/layout_algorithms.py | 14 | CODE | |
| LOW | src/agency_swarm/ui/core/agui_adapter.py | 93 | CODE | |
| LOW | src/agency_swarm/ui/core/console_event_adapter.py | 78 | CODE | |
| LOW | src/agency_swarm/ui/core/console_event_adapter.py | 127 | CODE | |
| LOW | src/agency_swarm/ui/core/console_event_adapter.py | 226 | CODE | |
| LOW | src/agency_swarm/ui/core/console_event_adapter.py | 328 | CODE | |
| LOW | src/agency_swarm/ui/demos/persistence.py | 59 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 339 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 67 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 87 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 229 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 477 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 544 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 663 | CODE | |
| LOW | src/agency_swarm/ui/demos/terminal.py | 743 | CODE | |
| LOW | src/agency_swarm/ui/demos/agentswarm_cli.py | 295 | CODE | |
| LOW | src/agency_swarm/ui/demos/agentswarm_cli.py | 372 | CODE | |
| LOW | src/agency_swarm/ui/demos/agentswarm_cli.py | 485 | CODE | |
| LOW | src/agency_swarm/ui/demos/realtime/app/server.py | 194 | CODE | |
| LOW | src/agency_swarm/ui/demos/realtime/app/server.py | 130 | CODE | |
| LOW | src/agency_swarm/ui/demos/realtime/app/server.py | 147 | CODE | |
| LOW | src/agency_swarm/ui/demos/realtime/app/server.py | 221 | CODE | |
| LOW | …gency_swarm/ui/demos/realtime/twilio/twilio_handler.py | 122 | CODE | |
| LOW | …gency_swarm/ui/demos/realtime/twilio/twilio_handler.py | 165 | CODE | |
| LOW | src/agency_swarm/tools/send_message.py | 57 | CODE | |
| LOW | src/agency_swarm/tools/send_message.py | 314 | CODE | |
| LOW | src/agency_swarm/tools/send_message.py | 575 | CODE | |
| LOW | src/agency_swarm/tools/send_message.py | 596 | CODE | |
| LOW | src/agency_swarm/tools/mcp_persistence.py | 79 | CODE | |
| LOW | src/agency_swarm/tools/mcp_persistence.py | 93 | CODE | |
| LOW | src/agency_swarm/tools/base_tool.py | 31 | CODE | |
| 101 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hatch_build.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | hatch_build.py | 216 | __all__ = ["CustomBuildHook"] | CODE |
| LOW⚡ | tests/test_agency_modules/test_agency_oauth_support.py | 25 | def update_oauth_cache_dir(self, _cache_dir: Path) -> None: | CODE |
| LOW | tests/integration/tools/test_responses_api_tools.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/integration/agency/test_parent_run_id_tracking.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/integration/mcp/test_mcp_integration.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tion/communication/test_streaming_order_consistency.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | …financial_research_agency/PortfolioManager/__init__.py | 3 | __all__ = ["portfolio_manager"] | CODE |
| LOW | …ency/financial_research_agency/RiskAnalyst/__init__.py | 3 | __all__ = ["risk_analyst"] | CODE |
| LOW | …/financial_research_agency/ReportGenerator/__init__.py | 3 | __all__ = ["report_generator"] | CODE |
| LOW | src/agency_swarm/hooks.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/__init__.py | 114 | __all__ = [ | CODE |
| LOW | src/agency_swarm/context.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/ui/__init__.py | 11 | __all__ = ["HTMLVisualizationGenerator", "LayoutAlgorithms"] | CODE |
| LOW | src/agency_swarm/ui/core/agui_adapter.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/agency_swarm/ui/core/console_event_adapter.py | 40 | def set_show_reasoning(self, enabled: bool) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/persistence.py | 28 | def set_chats_dir(path: str) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/persistence.py | 117 | def update_index(chat_id: str, messages: list[TResponseInputItem], branch: str) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/terminal.py | 294 | def update_invalidator(self, invalidate: Callable[[], None]) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/terminal.py | 297 | def set_items(self, items: list[DropdownItem]) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/compact.py | 60 | def set_compact_prompt(prompt: str) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/launcher.py | 44 | def set_compact_prompt(prompt: str) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/launcher.py | 50 | def set_chats_dir(path: str) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/launcher.py | 65 | def set_current_chat_id(chat_id: str | None) -> None: | CODE |
| LOW | src/agency_swarm/ui/demos/agentswarm_cli.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/ui/demos/realtime/__init__.py | 97 | __all__ = ["RealtimeDemoLauncher"] | CODE |
| LOW | src/agency_swarm/ui/demos/realtime/app/server.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/mcp_oauth_bridge.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/send_message.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/send_message.py | 203 | def _update_schema(self) -> None: | CODE |
| LOW | src/agency_swarm/tools/mcp_persistence.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/mcp_persistence.py | 299 | def update_oauth_cache_dir(self, cache_dir: Path | None) -> None: | CODE |
| LOW | src/agency_swarm/tools/__init__.py | 51 | __all__ = [ | CODE |
| LOW | src/agency_swarm/tools/tool_factory.py | 5 | __all__ = ["ToolFactory"] | CODE |
| LOW | src/agency_swarm/tools/utils.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/mcp_converter.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | …cy_swarm/tools/tool_factory_utils/base_tool_adapter.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/tool_factory_utils/__init__.py | 3 | __all__ = ["ToolFactory"] | CODE |
| LOW | …c/agency_swarm/tools/tool_factory_utils/file_loader.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/tool_factory_utils/factory.py | 29 | __all__ = ["ToolFactory", "FunctionTool", "BaseTool"] | CODE |
| LOW | src/agency_swarm/tools/tool_factory_utils/mcp.py | 5 | __all__ = ["from_mcp"] | CODE |
| LOW | …ncy_swarm/tools/tool_factory_utils/openapi_importer.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ncy_swarm/tools/tool_factory_utils/openapi_exporter.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/tools/built_in/__init__.py | 5 | __all__ = [ | CODE |
| LOW | src/agency_swarm/messages/__init__.py | 6 | __all__ = [ | CODE |
| LOW | src/agency_swarm/messages/message_filter.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/messages/message_formatter.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agency/responses.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agency/__init__.py | 17 | __all__ = [ | CODE |
| LOW | src/agency_swarm/agency/core.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agency/visualization.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agency/setup.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agency/helpers.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/agents/__init__.py | 8 | __all__ = ["Agent"] | CODE |
| LOW | src/agency_swarm/utils/model_utils.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/utils/citation_extractor.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/utils/thread.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/utils/openrouter.py | 30 | __all__ = [ | CODE |
| LOW | src/agency_swarm/utils/usage_tracking.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/agency_swarm/utils/__init__.py | 11 | __all__ = [ | CODE |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/test_agent_modules/test_agent_file_manager.py | 162 | not_found_agent.client_sync.vector_stores.files.create.assert_not_called() | CODE |
| CRITICAL | tests/test_agent_modules/test_agent_file_manager.py | 655 | mock_agent.client_sync.vector_stores.files.create_and_poll.assert_called_once_with( | CODE |
| CRITICAL | src/agency_swarm/ui/demos/realtime/app/server.py | 341 | raise SystemExit("Use agency_swarm.ui.demos.realtime.RealtimeDemoLauncher.start() to run the realtime demo.") | CODE |
| CRITICAL | src/agency_swarm/agent/file_sync.py | 174 | vs_file = self.agent.client_sync.vector_stores.files.retrieve( | CODE |
| CRITICAL⚡ | src/agency_swarm/agent/file_sync.py | 268 | self.agent.client_sync.vector_stores.files.retrieve(vector_store_id=vector_store_id, file_id=file_id) | CODE |
| CRITICAL⚡ | src/agency_swarm/agent/file_manager.py | 400 | existing_files = self.agent.client_sync.vector_stores.files.list(vector_store_id=vector_store_id) | CODE |
| CRITICAL⚡ | src/agency_swarm/agent/file_manager.py | 410 | vs_file: VectorStoreFile = self.agent.client_sync.vector_stores.files.create_and_poll( | CODE |
| CRITICAL | src/agency_swarm/agent/file_manager.py | 166 | enqueue_response = self.agent.client_sync.vector_stores.files.create( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | examples/observability.py | 39 | # ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | examples/observability.py | 41 | # ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | examples/observability.py | 51 | # ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | examples/observability.py | 53 | # ──────────────────────────────── | COMMENT |
| MEDIUM | examples/observability.py | 89 | # ──────────────────────────────── | COMMENT |
| MEDIUM | examples/observability.py | 91 | # ──────────────────────────────── | COMMENT |
| MEDIUM | examples/observability.py | 134 | # ──────────────────────────────── | COMMENT |
| MEDIUM | examples/observability.py | 136 | # ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | …gency_swarm/integrations/fastapi_utils/file_handler.py | 20 | # ============================================================ | COMMENT |
| MEDIUM⚡ | …gency_swarm/integrations/fastapi_utils/file_handler.py | 22 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 142 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 144 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 179 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 181 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 246 | # ============================================================ | COMMENT |
| MEDIUM | …gency_swarm/integrations/fastapi_utils/file_handler.py | 248 | # ============================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 96 | # Step 1: Verify no agent-to-agent messages exist initially | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 100 | # Step 2: Trigger communication that should create agent-to-agent thread | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 103 | # Step 3: CRITICAL VERIFICATION - Agent-to-agent messages must exist | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 107 | # Step 4: Verify messages contain both input and output | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 321 | # Step 1: User shares private info with coordinator only | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 326 | # Step 2: User asks coordinator to relay different info to worker | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 58 | # Step 1: Send unique info to CEO | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 61 | # Step 2: Send different info to Developer | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 64 | # Step 3: Verify both agents see the same conversation history | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 132 | # Step 1: Create messages with unique information | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 136 | # Step 2: Verify shared user thread before persistence | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 146 | # Step 3: Verify saved data contains the full shared conversation | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 152 | # Step 4: Verify loaded messages match saved messages | COMMENT |
| LOW | .claude/agents/tools-creator.md | 23 | ### Step 1: Identify MCP Servers from api_docs.md | COMMENT |
| LOW | .claude/agents/tools-creator.md | 26 | ### Step 2: Update Agent Files with MCP Servers | COMMENT |
| LOW⚡ | .claude/agents/tools-creator.md | 232 | # Step 1: Validate | COMMENT |
| LOW⚡ | .claude/agents/tools-creator.md | 234 | # Step 2: Process | COMMENT |
| LOW⚡ | .claude/agents/tools-creator.md | 236 | # Step 3: Format | COMMENT |
| LOW⚡ | examples/agency_context.py | 119 | # Step 1: Store customer data | COMMENT |
| LOW⚡ | examples/agency_context.py | 124 | # Step 2: Delegate analysis to another agent | COMMENT |
| LOW⚡ | examples/agency_context.py | 131 | # Step 3: Show final context state | COMMENT |
| LOW | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 36 | # Step 1: Check if file exists | COMMENT |
| LOW⚡ | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 52 | # Step 2: Check if the file is an image | COMMENT |
| LOW⚡ | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 55 | # Step 3: Return appropriate output type | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/fastapi_integration/notion_hosted_mcp_tool.py | 86 | let lastAuthUrl = null; | CODE |
| HIGH | examples/fastapi_integration/notion_hosted_mcp_tool.py | 108 | lastAuthUrl = null; | CODE |
| HIGH⚡ | examples/fastapi_integration/notion_hosted_mcp_tool.py | 138 | dataLines.push(line.slice(5).trimStart()); | CODE |
| HIGH⚡ | examples/fastapi_integration/notion_hosted_mcp_tool.py | 143 | let parsed = null; | CODE |
| HIGH⚡ | examples/fastapi_integration/notion_hosted_mcp_tool.py | 146 | if (eventName === "oauth_redirect" && parsed && parsed.auth_url) { | CODE |
| HIGH | examples/fastapi_integration/notion_hosted_mcp_tool.py | 161 | if (eventName === "meta" && parsed && parsed.run_id) { | CODE |
| HIGH | examples/fastapi_integration/notion_hosted_mcp_tool.py | 189 | start().catch((err) => log("Error: " + (err && err.message ? err.message : String(err)))); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 96 | # Step 1: Verify no agent-to-agent messages exist initially | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 100 | # Step 2: Trigger communication that should create agent-to-agent thread | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 103 | # Step 3: CRITICAL VERIFICATION - Agent-to-agent messages must exist | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 107 | # Step 4: Verify messages contain both input and output | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 321 | # Step 1: User shares private info with coordinator only | COMMENT |
| LOW⚡ | …gration/persistence/test_agent_to_agent_persistence.py | 326 | # Step 2: User asks coordinator to relay different info to worker | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 58 | # Step 1: Send unique info to CEO | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 61 | # Step 2: Send different info to Developer | COMMENT |
| LOW⚡ | …integration/persistence/test_thread_isolation_basic.py | 64 | # Step 3: Verify both agents see the same conversation history | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 132 | # Step 1: Create messages with unique information | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 136 | # Step 2: Verify shared user thread before persistence | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 146 | # Step 3: Verify saved data contains the full shared conversation | COMMENT |
| LOW⚡ | …ation/persistence/test_thread_isolation_persistence.py | 152 | # Step 4: Verify loaded messages match saved messages | COMMENT |
| LOW⚡ | examples/agency_context.py | 119 | # Step 1: Store customer data | COMMENT |
| LOW⚡ | examples/agency_context.py | 124 | # Step 2: Delegate analysis to another agent | COMMENT |
| LOW⚡ | examples/agency_context.py | 131 | # Step 3: Show final context state | COMMENT |
| LOW | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 36 | # Step 1: Check if file exists | COMMENT |
| LOW⚡ | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 52 | # Step 2: Check if the file is an image | COMMENT |
| LOW⚡ | src/agency_swarm/tools/built_in/LoadFileAttachment.py | 55 | # Step 3: Return appropriate output type | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/integration/agency/test_parent_run_id_tracking.py | 48 | # Create Manager agent (middle layer - orchestrates Worker) | COMMENT |
| MEDIUM | tests/integration/agency/test_parent_run_id_tracking.py | 59 | # Create CEO agent (top layer - orchestrates Manager) | COMMENT |
| MEDIUM⚡ | tests/integration/agency/test_parent_run_id_tracking.py | 70 | # Create agency with orchestration flows | COMMENT |
| MEDIUM⚡ | tests/integration/agency/test_parent_run_id_tracking.py | 74 | ceo > manager, # CEO can orchestrate Manager | CODE |
| MEDIUM⚡ | tests/integration/agency/test_parent_run_id_tracking.py | 75 | manager > worker, # Manager can orchestrate Worker | CODE |
| MEDIUM⚡ | tests/integration/agency/test_agent_handoffs.py | 174 | # AgentA orchestrates by sending message to AgentB | COMMENT |
| MEDIUM | examples/handoffs.py | 68 | # By default, to reduce hallucinations, when using Handoff, a reminder system message is added to the history. | COMMENT |
| MEDIUM⚡ | src/agency_swarm/tools/send_message.py | 278 | # Create a minimal agency context for multi-agent communication | COMMENT |
| MEDIUM | src/agency_swarm/agent/core.py | 316 | # Wrap input guardrails | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/agency_swarm/agency/responses.py | 183 | Initiates an interaction with a specified agent within the agency. This method resolves the target agent, vali | STRING |
| HIGH | src/agency_swarm/agency/helpers.py | 158 | Resolve an agent reference to an Agent instance. Args: agency: Agency instance agent_ref: Either an | STRING |
| HIGH | src/agency_swarm/mcp/oauth_client.py | 210 | List available tools from MCP server (OAuth required on HTTP transports). Args: run_context: Runner | STRING |
| HIGH | src/agency_swarm/mcp/oauth_client.py | 236 | Call an OAuth MCP tool (requires authentication). This method ensures OAuth authentication is complete before c | STRING |
| HIGH | src/agency_swarm/mcp/oauth_client.py | 284 | Get a prompt from OAuth MCP server. Args: name: Name of the prompt arguments: Prompt ar | STRING |
| HIGH | src/agency_swarm/mcp/oauth_client.py | 330 | Read a resource from OAuth MCP server. Args: uri: Resource URI Returns: Resour | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/agency/test_parent_run_id_tracking.py | 231 | # Check if this is the initial CEO event (not a sub-agent call result) | COMMENT |
| LOW | …ts/integration/fastapi/test_fastapi_file_processing.py | 492 | # Check if this is an error event | COMMENT |
| LOW | …ration/fin_agency/test_agent_run_id_live_fin_agency.py | 275 | # Check if we found the specific error | COMMENT |
| LOW | tests/fastapi_debugging/debug_streaming.py | 68 | # Check if data is wrapped | COMMENT |
| LOW | src/agency_swarm/ui/demos/terminal.py | 128 | # Check if stdin is a real terminal (not mocked in tests) | COMMENT |
| LOW | src/agency_swarm/ui/demos/terminal.py | 254 | # Check if child exited | COMMENT |
| LOW | src/agency_swarm/tools/mcp_persistence.py | 90 | # Check if this is an OAuth client (two-phase auth) | COMMENT |
| LOW | src/agency_swarm/tools/built_in/PersistentShellTool.py | 73 | # Check if this is a chained command (contains &&, ||, ;, |) | COMMENT |
| LOW | src/agency_swarm/agency/setup.py | 270 | # Check if there's a custom tool class for this specific pair | COMMENT |
| LOW | src/agency_swarm/agency/setup.py | 547 | # Check if server is already added (by identity or name) | COMMENT |
| LOW | src/agency_swarm/agent/tools.py | 183 | # Check if the tool is a class (uninitialized) rather than an instance. | COMMENT |
| LOW | src/agency_swarm/agent/execution_streaming.py | 449 | # Check if input guardrail tripped either via exception or SDK results | COMMENT |
| LOW | src/agency_swarm/agent/file_manager.py | 78 | # Check if file has already been uploaded and compare mtime vs remote created_at | COMMENT |
| LOW | src/agency_swarm/agent/file_manager.py | 532 | # Check if folder has any processable files before creating vector store | COMMENT |
| LOW | src/agency_swarm/cli/import_tool.py | 57 | # Check if file already exists | COMMENT |
| LOW | …_swarm/integrations/fastapi_utils/endpoint_handlers.py | 1472 | # Check if client disconnected (tab close, refresh, etc.) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_agency_modules/_response_test_helpers.py | 61 | CODE | |
| LOW | tests/integration/fin_agency/main.py | 154 | CODE | |
| LOW | docs/analise_docs.py | 26 | CODE | |
| LOW | src/agency_swarm/ui/demos/realtime/__init__.py | 11 | CODE | |
| LOW | src/agency_swarm/tools/function_tool_compat.py | 160 | CODE | |
| LOW | src/agency_swarm/tools/function_tool_compat.py | 181 | CODE | |
| LOW | src/agency_swarm/agency/core.py | 108 | CODE | |
| LOW | src/agency_swarm/agency/core.py | 491 | CODE | |
| LOW | src/agency_swarm/agency/helpers.py | 64 | CODE | |
| LOW | src/agency_swarm/utils/create_agent_template.py | 9 | CODE | |
| LOW | src/agency_swarm/agent/runner.py | 51 | CODE | |
| LOW | src/agency_swarm/agent/runner.py | 125 | CODE | |
| LOW | src/agency_swarm/agent/runner.py | 199 | CODE | |
| LOW | src/agency_swarm/agent/execution.py | 72 | CODE | |
| LOW | src/agency_swarm/agent/execution.py | 408 | CODE | |
| LOW | src/agency_swarm/agent/execution_streaming.py | 210 | CODE | |
| LOW | src/agency_swarm/mcp/oauth_client.py | 281 | CODE | |
| LOW | src/agency_swarm/mcp/oauth_client.py | 302 | CODE | |
| LOW | src/agency_swarm/mcp/oauth_client.py | 350 | CODE | |
| LOW | src/agency_swarm/integrations/realtime.py | 123 | CODE | |
| LOW | src/agency_swarm/integrations/fastapi.py | 27 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …i_utils_modules/test_openai_client_config_streaming.py | 0 | minimal tests for fastapi request models that include `client_config`. the end-to-end behavior is covered in integration | STRING |
| HIGH | …ils_modules/test_openai_client_config_request_state.py | 0 | minimal tests for fastapi request models that include `client_config`. the end-to-end behavior is covered in integration | STRING |
| HIGH | …tapi_utils_modules/test_openai_client_config_models.py | 0 | minimal tests for fastapi request models that include `client_config`. the end-to-end behavior is covered in integration | STRING |
| HIGH | …odules/test_openai_client_config_response_overrides.py | 0 | minimal tests for fastapi request models that include `client_config`. the end-to-end behavior is covered in integration | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/test_tools_modules/test_tool_system.py | 496 | # TODO: Add tests for response validation aspects | COMMENT |
| LOW⚡ | tests/test_tools_modules/test_tool_system.py | 497 | # TODO: Add tests for context/hooks propagation (more complex, might need integration tests) | COMMENT |
| LOW⚡ | tests/test_tools_modules/test_tool_system.py | 499 | # TODO: Add tests for specific schema validation failures (if FunctionTool provides hooks) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/interactive/hybrid_communication_flows.py | 69 | """Perform comprehensive security audit of a component.""" | STRING |
| MEDIUM | src/agency_swarm/context.py | 49 | # More robust validation occurs in Agency during context creation. | COMMENT |
| LOW | …_swarm/integrations/fastapi_utils/endpoint_handlers.py | 1731 | # Choose / build an agent – here we just create a demo agent each time. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 55 | export OPENAI_API_KEY="YOUR_API_KEY" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …agency_swarm/cli/utils/generate-agent-from-settings.ts | 374 | print(agency.get_response_sync("What's your name?")) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_agent_modules/test_guardrail_validation.py | 262 | CODE | |
| MEDIUM | tests/test_agent_modules/test_guardrail_validation.py | 314 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/realtime/test_realtime.py | 99 | greeter = Agent(name="Greeter", instructions="placeholder") | CODE |
| LOW | tests/integration/fastapi/test_fastapi_metadata.py | 574 | "/tool/UserTool", json={"name": "Alice", "address": {"street": "123 Main St", "zip_code": 12345}} | CODE |
| LOW | tests/test_agent_modules/test_thread_manager.py | 125 | "output": "placeholder", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tion/communication/test_streaming_order_consistency.py | 79 | def process_data(data: str) -> str: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/fin_agency/agency_fin.py | 41 | # response = await agency.get_response( | COMMENT |