Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.
This report presents the forensic synthetic code analysis of strands-agents/harness-sdk, a Python project with 6,771 GitHub stars. SynthScan v2.0 examined 380,471 lines of code across 1674 source files, recording 6491 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 22.1 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6491 distinct pattern matches across 26 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 | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 19 | def test_hot_reload_decorator(): | CODE |
| LOW | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 72 | def test_hot_reload_decorator_update(): | STRING |
| LOW | strands-py/tests_integ/conftest.py | 190 | def _load_api_keys_from_secrets_manager(): | CODE |
| LOW | strands-py/tests_integ/test_tool_retry_hook.py | 12 | def test_tool_retry_hook_causes_reexecution(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 110 | async def test_graph_execution_with_string(math_agent, summary_agent, validation_agent, nested_computation_graph): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 116 | def proceed_to_second_summary(state): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 179 | async def test_graph_execution_with_image(image_analysis_agent, summary_agent, yellow_img, hook_provider): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 256 | async def test_graph_streaming_with_agents(alist): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 312 | async def test_graph_streaming_with_custom_node(alist): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 368 | async def test_nested_graph_streaming(alist): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 425 | async def test_graph_metrics_accumulation(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 469 | async def test_graph_interrupt_and_resume(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 539 | async def test_self_loop_resume_from_persisted_state(tmp_path): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 593 | async def test_conditional_routing_with_invocation_state(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 647 | async def test_legacy_conditions_unaffected_by_invocation_state(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 679 | async def test_condition_combining_graph_state_and_invocation_state(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 734 | async def test_diamond_graph_conditional_convergence(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 797 | async def test_invocation_state_persisted_on_resume(tmp_path): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 853 | async def test_invocation_state_streaming_with_conditional_edges(): | CODE |
| LOW | strands-py/tests_integ/test_session.py | 40 | def test_agent_with_file_session(temp_dir): | CODE |
| LOW | strands-py/tests_integ/test_session.py | 63 | def test_agent_with_file_session_and_conversation_manager(temp_dir): | CODE |
| LOW | strands-py/tests_integ/test_session.py | 104 | def test_agent_with_file_session_with_image(temp_dir, yellow_img): | CODE |
| LOW | strands-py/tests_integ/test_session.py | 167 | def test_agent_with_file_session_server_side_conversation(temp_dir): | CODE |
| LOW | …g/test_summarizing_conversation_manager_integration.py | 76 | def test_summarization_with_context_overflow(model): | CODE |
| LOW | …g/test_summarizing_conversation_manager_integration.py | 187 | def test_tool_preservation_during_summarization(model, tools): | STRING |
| LOW⚡ | …g/test_summarizing_conversation_manager_integration.py | 300 | def test_dedicated_summarization_agent(model, summarization_model): | STRING |
| LOW | …g/test_summarizing_conversation_manager_integration.py | 378 | def test_summarization_with_tool_messages_and_no_tools(): | STRING |
| LOW | …g/test_summarizing_conversation_manager_integration.py | 414 | def test_dedicated_summarization_agent_with_structured_output(model, summarization_model): | STRING |
| LOW | strands-py/tests_integ/test_tool_context_injection.py | 31 | def _validate_tool_result_content(agent: Agent): | CODE |
| LOW | strands-py/tests_integ/test_tool_context_injection.py | 42 | def test_strands_context_integration_context_true(): | CODE |
| LOW | strands-py/tests_integ/test_tool_context_injection.py | 52 | def test_strands_context_integration_context_custom(): | CODE |
| LOW | strands-py/tests_integ/test_tool_context_injection.py | 68 | def test_agent_state_access_through_tool_context(): | CODE |
| LOW⚡ | strands-py/tests_integ/test_multiagent_swarm.py | 117 | def test_swarm_execution_with_string(researcher_agent, analyst_agent, writer_agent, hook_provider): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 153 | async def test_swarm_execution_with_image(researcher_agent, analyst_agent, writer_agent, yellow_img): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 236 | async def test_swarm_node_result_structure(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 283 | async def test_swarm_multiple_handoffs_with_agent_results(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 327 | async def test_swarm_get_agent_results_flattening(): | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 362 | def test_swarm_resume_from_executing_state(tmpdir, exit_hook, verify_hook): | CODE |
| LOW | strands-py/tests_integ/test_skills_plugin.py | 39 | def test_agent_activates_skill_and_injects_metadata(agent, skills_plugin): | CODE |
| LOW⚡ | strands-py/tests_integ/test_skills_plugin.py | 52 | def test_direct_tool_invocation_and_state_persistence(agent, skills_plugin): | CODE |
| LOW⚡ | strands-py/tests_integ/test_skills_plugin.py | 62 | def test_load_skills_from_directory(tmp_path): | CODE |
| LOW | strands-py/tests_integ/test_agent_as_tool.py | 13 | async def test_stream_async_with_agent_tool(): | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 161 | def test_regular_call_without_structured_output(self): | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 169 | def test_simple_structured_output(self): | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 183 | def test_follow_up_without_structured_output(self): | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 201 | def test_tool_use_without_structured_output(self): | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 212 | def test_tool_use_with_structured_output(self): | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 230 | async def test_async_structured_output(self): | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 256 | async def test_streaming_with_structured_output(self): | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 282 | def test_multiple_invocations_different_models(self): | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 309 | def test_agent_with_default_structured_output(self): | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 325 | def test_validation_forces_retry(self): | CODE |
| LOW | strands-py/tests_integ/test_cancellation.py | 52 | async def test_cancel_during_streaming_bedrock(): | CODE |
| LOW | strands-py/tests_integ/test_cancellation.py | 78 | async def test_cancel_with_tools_bedrock(): | CODE |
| LOW | strands-py/tests_integ/test_cancellation.py | 132 | async def test_cancel_from_thread_bedrock(): | CODE |
| LOW | strands-py/tests_integ/test_invalid_tool_names.py | 16 | def test_invalid_tool_names_works(temp_dir): | CODE |
| LOW | strands-py/tests_integ/test_goal_loop.py | 15 | def test_runs_n_attempts_and_surfaces_last_result(self): | CODE |
| LOW | strands-py/tests_integ/test_goal_loop.py | 55 | def test_restores_transcript_between_attempts(self): | CODE |
| LOW | …nds-py/tests_integ/test_agentic_context_integration.py | 42 | def test_agent_responds_normally_with_agentic_enabled(self, model): | CODE |
| LOW | …nds-py/tests_integ/test_agentic_context_integration.py | 51 | def test_works_alongside_user_defined_tools(self, model): | CODE |
| 4442 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | strands-py/AGENTS.md | 116 | Brief description of function. Longer description if needed. This docstring is used by LLMs to understand the f | STRING |
| HIGH | strands-py/tests/strands/tools/test_decorator.py | 317 | This is the main description. This is more description text. Args: param1: First parameter | STRING |
| HIGH | strands-py/tests/strands/tools/test_decorator.py | 444 | Main description here. Args: param: This should be excluded Returns: This shou | STRING |
| HIGH | strands-py/tests/strands/tools/test_decorator.py | 1161 | This is the summary line. This is a more detailed description that spans multiple lines and provides ad | STRING |
| HIGH | strands-py/src/strands/_identifier.py | 15 | Validate strands id. Args: id_: Id to validate. type_: Type of the identifier (e.g., session id, ag | STRING |
| HIGH | strands-py/src/strands/experimental/agent_config.py | 55 | Create an Agent from a configuration file or dictionary. This function supports tools that can be loaded declarativ | STRING |
| HIGH | strands-py/src/strands/experimental/tools/stop/stop.py | 49 | Validate an optional stop message and return the effective value. Args: message: The model-supplied message | STRING |
| HIGH | strands-py/src/strands/experimental/tools/stop/stop.py | 77 | Create a stop tool that gracefully ends the agent loop. The tool sets ``invocation_state["request_state"]["stop_eve | STRING |
| HIGH | strands-py/src/strands/_middleware/stages.py | 90 | Request a human-in-the-loop interrupt. On first execution (no prior response) this raises ``InterruptException` | STRING |
| HIGH | strands-py/src/strands/tools/decorator.py | 370 | Validate input data using the Pydantic model. This method ensures that the input data meets the expected schema | STRING |
| HIGH | strands-py/src/strands/tools/decorator.py | 420 | Check if a parameter should be automatically injected by the framework or is a standard Python method param. Sp | STRING |
| HIGH | strands-py/src/strands/tools/decorator.py | 743 | Decorator that transforms a Python function into a Strands tool. This decorator seamlessly enables a function to be | STRING |
| HIGH | strands-py/src/strands/tools/tools.py | 83 | Normalize a single property definition. Args: prop_name: The name of the property. prop_def: The pr | STRING |
| HIGH | strands-py/src/strands/tools/tools.py | 117 | Normalize a JSON schema to match expectations. This function recursively processes nested objects to preserve the c | STRING |
| HIGH | strands-py/src/strands/tools/tools.py | 153 | Normalize a complete tool specification by transforming its inputSchema. Args: tool_spec: The tool specific | STRING |
| HIGH | strands-py/src/strands/tools/loader.py | 23 | Load a tool's Python module from a file path with sys.modules and sys.path discipline. The module's ``__name__`` is | STRING |
| HIGH | strands-py/src/strands/tools/loader.py | 318 | DEPRECATED: Load tools from a file based on its file extension. Args: tool_path: Path to the tool f | STRING |
| HIGH | strands-py/src/strands/tools/_caller.py | 50 | Call tool as a function. This method enables the method-style interface (e.g., `agent.tool.tool_name(param="val | STRING |
| HIGH | strands-py/src/strands/tools/_caller.py | 70 | Call a tool directly by name. Args: user_message_override: Optional custom message to recor | STRING |
| HIGH | strands-py/src/strands/tools/mcp/mcp_client.py | 169 | Create MCPClient instances from an ``mcpServers`` JSON config (file path or mapping). Returns one client per en | STRING |
| HIGH | strands-py/src/strands/types/interrupt.py | 83 | Trigger the interrupt with a reason. Args: name: User defined name for the interrupt. Must be u | STRING |
| HIGH | strands-py/src/strands/multiagent/swarm.py | 451 | Wrap an async generator with timeout for total execution time. Tracks elapsed time from start and enforces time | STRING |
| HIGH | strands-py/src/strands/multiagent/a2a/_converters.py | 28 | Convert AgentInput to A2A Message. Args: prompt: Input in various formats (string, message list, or content | STRING |
| HIGH | strands-py/src/strands/multiagent/a2a/executor.py | 664 | Extract Strands interrupt responses from inbound A2A message parts. A client resumes a task parked in ``input_r | STRING |
| HIGH | …trands/vended_memory_stores/test_memory_store/store.py | 164 | Search stored entries for those whose content overlaps the query. Results are ranked by query-token overlap, wi | STRING |
| HIGH | …trands/vended_memory_stores/test_memory_store/store.py | 208 | Add ``content`` (with optional ``metadata``) to the store. Identical content is deduplicated: a repeat write re | STRING |
| HIGH | …s/vended_memory_stores/bedrock_knowledge_base/store.py | 184 | Search the knowledge base for entries matching the query. Args: query: The search query text. | STRING |
| HIGH | …s/vended_memory_stores/bedrock_knowledge_base/store.py | 247 | Ingest ``content`` (with optional ``metadata``) into the knowledge base. Only ``CUSTOM`` and ``S3`` data source | STRING |
| HIGH | strands-py/src/strands/plugins/decorator.py | 42 | Mark a method as a hook callback for automatic registration. Infers event type from the callback's type hint. Suppo | STRING |
| HIGH | strands-py/src/strands/event_loop/event_loop.py | 192 | Execute a single cycle of the event loop. This core function processes a single conversation turn, handling model i | STRING |
| HIGH | strands-py/src/strands/event_loop/event_loop.py | 455 | Handle model execution with retry logic for throttling exceptions. Executes the model inference with automatic retr | STRING |
| HIGH | strands-py/src/strands/agent/a2a_agent.py | 100 | Synchronously invoke the remote A2A agent. Args: prompt: Input to the agent (string, message list, | STRING |
| HIGH | strands-py/src/strands/agent/a2a_agent.py | 120 | Asynchronously invoke the remote A2A agent. Args: prompt: Input to the agent (string, message list, | STRING |
| HIGH | strands-py/src/strands/agent/a2a_agent.py | 148 | Stream remote agent execution asynchronously. This method provides an asynchronous interface for streaming A2A | STRING |
| HIGH | strands-py/src/strands/agent/a2a_agent.py | 255 | Send message to A2A agent. Args: prompt: Input to send to the agent. Yields: A | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 196 | Initialize the Agent with the specified configuration. Args: model: Provider for running inference | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 510 | Resolve context_manager facade into concrete conversation_manager and plugins. When context_manager is None, re | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 720 | Process a natural language prompt through the agent's event loop. This method implements the conversational int | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 802 | Process a natural language prompt through the agent's event loop. This method implements the conversational int | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 1087 | Process a natural language prompt and yield events as an async iterator. This method provides an asynchronous i | STRING |
| HIGH | strands-py/src/strands/agent/agent.py | 1551 | Capture current agent state as an in-memory snapshot. Args: preset: Named preset of fields to captu | STRING |
| HIGH | strands-py/src/strands/agent/agent_result.py | 95 | Rehydrate an AgentResult from persisted JSON. Args: data: Dictionary containing the serialized Agen | STRING |
| HIGH | …nversation_manager/summarizing_conversation_manager.py | 202 | Generate a summary of the provided messages. When a dedicated summarization_agent was provided at init time, it | STRING |
| HIGH | …nversation_manager/summarizing_conversation_manager.py | 294 | Adjust the split point to avoid breaking ToolUse/ToolResult pairs. Thin wrapper around the shared :func:`adjust | STRING |
| HIGH | …nds/agent/conversation_manager/conversation_manager.py | 67 | Initialize the ConversationManager. Args: proactive_compression: Enable proactive context compressi | STRING |
| HIGH | …onversation_manager/compression/context_compression.py | 63 | Adjust a split point forward to avoid breaking toolUse/toolResult pairs. Walks the split point forward until the me | STRING |
| HIGH | …onversation_manager/compression/context_compression.py | 154 | Generate a summary of the provided messages by calling the model directly. This bypasses the full agent pipeline (l | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 103 | Format a LlamaAPI content block. - NOTE: "reasoningContent" and "video" are not supported currently. A | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 227 | Format a Llama API chat streaming request. Args: messages: List of message objects to be processed | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 353 | Stream conversation with the LlamaAPI model. Args: messages: List of message objects to be processe | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 442 | Get structured output from the model. Args: output_model: The output model to use for the agent. | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 126 | Format a Mistral content block. Args: content: Message content. Returns: Mistr | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 253 | Format a Mistral chat streaming request. Args: messages: List of message objects to be processed by | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 297 | Format the Mistral response events into standardized message chunks. Args: event: A response event | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 416 | Stream conversation with the Mistral model. Args: messages: List of message objects to be processed | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 522 | Get structured output from the model. Args: output_model: The output model to use for the agent. | STRING |
| HIGH | strands-py/src/strands/models/openai_responses.py | 89 | Encode media bytes to a base64 data URL with size validation. Args: data: Raw bytes of the media content. | STRING |
| HIGH | strands-py/src/strands/models/openai_responses.py | 298 | Stream conversation with the OpenAI Responses API model. Args: messages: List of message objects to | STRING |
| HIGH | strands-py/src/strands/models/openai_responses.py | 498 | Get structured output from the OpenAI Responses API model. Args: output_model: The output model to | STRING |
| HIGH | strands-py/src/strands/models/openai_responses.py | 541 | Format an OpenAI Responses API compatible response streaming request. Args: messages: List of messa | STRING |
| 100 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | strands-py/pyproject.toml | 303 | # ========================= | COMMENT |
| MEDIUM | strands-py/pyproject.toml | 305 | # ========================= | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/conftest.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/conftest.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | strands-py/tests_integ/sandbox/conftest.py | 127 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | strands-py/tests_integ/sandbox/conftest.py | 129 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | strands-py/tests_integ/sandbox/conftest.py | 149 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | strands-py/tests_integ/sandbox/conftest.py | 151 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 19 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 21 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 43 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 75 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 93 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 122 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 124 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 137 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 139 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 164 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 166 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 175 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 177 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 194 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/test_interrupt.py | 132 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/test_interrupt.py | 134 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test__events.py | 508 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test__events.py | 510 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test_json_dict.py | 114 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test_json_dict.py | 116 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_graph.py | 2584 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_graph.py | 2586 | # ============================================================================= | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_graph.py | 2991 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_graph.py | 2993 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …nds-py/tests/strands/multiagent/a2a/test_converters.py | 248 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …nds-py/tests/strands/multiagent/a2a/test_converters.py | 250 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …nds-py/tests/strands/multiagent/a2a/test_converters.py | 407 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …nds-py/tests/strands/multiagent/a2a/test_converters.py | 409 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1343 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1345 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1708 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1710 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2116 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2118 | # ========================================================================= | COMMENT |
| MEDIUM | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1946 | # ========================================================================= | COMMENT |
| MEDIUM | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1953 | # ========================================================================= | COMMENT |
| MEDIUM | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2273 | # ── Inbound interrupt responses ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2598 | # ── Outbound interrupt advertisement ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent_result.py | 405 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent_result.py | 410 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent.py | 2397 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent.py | 2399 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent.py | 3421 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/agent/test_agent.py | 3423 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | …strands/agent/test_summarizing_conversation_manager.py | 831 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | …strands/agent/test_summarizing_conversation_manager.py | 833 | # ============================================================================== | COMMENT |
| 103 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 32 | # Create an Agent instance without any tools | COMMENT |
| MEDIUM | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 35 | # Create a test tool using @tool decorator | COMMENT |
| MEDIUM | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 84 | # Create an Agent instance | STRING |
| MEDIUM | …rands-py/tests_integ/test_hot_tool_reload_decorator.py | 87 | # Create the initial version of the tool | STRING |
| MEDIUM | strands-py/tests_integ/test_multiagent_graph.py | 326 | # Create a custom node | COMMENT |
| MEDIUM | strands-py/tests_integ/test_session.py | 43 | # Create a session | COMMENT |
| MEDIUM | strands-py/tests_integ/test_session.py | 106 | # Create a session | COMMENT |
| MEDIUM⚡ | …g/test_summarizing_conversation_manager_integration.py | 302 | # Create a dedicated summarization agent | COMMENT |
| MEDIUM⚡ | …g/test_summarizing_conversation_manager_integration.py | 309 | # Create main agent with dedicated summarization agent | COMMENT |
| MEDIUM | …g/test_summarizing_conversation_manager_integration.py | 427 | # Create a summarization agent with structured_output_model configured | STRING |
| MEDIUM | strands-py/tests_integ/test_bedrock_s3_location.py | 39 | # Create the bucket if it doesn't exist | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/test_multiagent_swarm.py | 119 | # Create the swarm | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/test_multiagent_swarm.py | 122 | # Define a task that requires collaboration | COMMENT |
| MEDIUM | strands-py/tests_integ/test_multiagent_swarm.py | 155 | # Create the swarm | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/test_skills_plugin.py | 64 | # Create a skill directory with SKILL.md | COMMENT |
| MEDIUM | strands-py/tests_integ/a2a/a2a_server.py | 4 | # Create an agent and serve it over A2A | COMMENT |
| MEDIUM | strands-py/tests_integ/a2a/test_multiagent_a2a.py | 83 | # Create a regular Agent | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/models/test_model_openai.py | 257 | # Create a very long text that should exceed context window | COMMENT |
| MEDIUM | strands-py/tests_integ/models/test_model_openai.py | 291 | # Create a message that's very long to trigger token-per-minute rate limits | COMMENT |
| MEDIUM | strands-py/tests_integ/models/test_model_llamacpp.py | 486 | # Create a very long message that might exceed context | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_registry.py | 294 | # Create a mock MCP client that simulates a real tool provider | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_registry.py | 361 | # Create a mock tool provider that fails during load_tools | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_registry.py | 390 | # Create a mock tool provider that tracks call order | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/tools/test_caller.py | 167 | # Create a non-serializable object (Agent instance) | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_watcher.py | 68 | # Create a mock event with the specified properties | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_watcher.py | 90 | # Create a mock event with a Python file path | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_decorator.py | 1246 | # Define a tool with a complex anyOf type that could trigger edge case handling | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_decorator.py | 1287 | # Define a class with a decorated method to test exception handling in method detection | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_decorator.py | 1298 | # Create a mock instance where attribute access will raise exceptions | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/test_decorator.py | 1331 | # Create a standalone function to test regular function calls | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/conftest.py | 35 | # Create a mock context manager for ClientSession | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 829 | # Create a client.with a mock transport | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 833 | # Create a mock future that is not running | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 838 | # Create a mock event loop | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 619 | # Create a mock future that returns the mock result | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 623 | # Create an async mock that resolves to the mock result | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 691 | # Create an async mock that resolves to the mock result | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 740 | # Create an async mock that raises an exception | COMMENT |
| MEDIUM | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 1170 | # Create a mock embedded resource with unknown resource type | COMMENT |
| MEDIUM⚡ | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 404 | # Create a mock request with tools/call method and Pydantic params | COMMENT |
| MEDIUM⚡ | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 412 | # Create the patch function | COMMENT |
| MEDIUM⚡ | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 462 | # Create a mock request with tools/call method and dict params | COMMENT |
| MEDIUM⚡ | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 467 | # Create the patch function | COMMENT |
| MEDIUM | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 114 | # Create a mock params object that doesn't have 'get' method but has '_meta' attribute | COMMENT |
| MEDIUM | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 512 | # Create a mock request that will cause an exception | COMMENT |
| MEDIUM | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 531 | # Create a Pydantic-like class that fails on model_validate | COMMENT |
| MEDIUM | …py/tests/strands/tools/mcp/test_mcp_instrumentation.py | 542 | # Create a mock request with failing Pydantic params | COMMENT |
| MEDIUM | …sts/strands/tools/mcp/test_mcp_client_tool_provider.py | 333 | # Create a mock MCP tool (not MCPAgentTool) | COMMENT |
| MEDIUM | …sts/strands/tools/mcp/test_mcp_client_tool_provider.py | 512 | # Create a mock MCP tool | COMMENT |
| MEDIUM | …sts/strands/tools/mcp/test_mcp_client_tool_provider.py | 555 | # Create a mock MCP tool | COMMENT |
| MEDIUM | …sts/strands/tools/mcp/test_mcp_client_tool_provider.py | 598 | # Create a mock MCP tool | COMMENT |
| MEDIUM | …ands-py/tests/strands/tools/executors/test_executor.py | 494 | # Create a tool that yields a ToolInterruptEvent with an interrupt NOT pre-registered on the agent | COMMENT |
| MEDIUM | …ands-py/tests/strands/tools/executors/test_executor.py | 870 | # Create a BidiAfterToolCallEvent (which has no retry attribute) | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test_session.py | 76 | # Create a message with bytes content | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/types/test_session.py | 82 | # Create a SessionMessage | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_swarm.py | 455 | # Create a simple agent that doesn't hand off | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_swarm.py | 458 | # Create a swarm with just this agent | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_swarm.py | 542 | # Create a different agent with same name as agent1 | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_swarm.py | 337 | # Create an agent that will hand off to another agent | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_swarm.py | 388 | # Create a swarm with reasonable limits | COMMENT |
| 123 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | strands-py/tests_integ/models/test_model_ollama.py | 0 | extracts the time and weather from the user's message with the exact strings. | STRING |
| HIGH | strands-py/tests_integ/models/test_model_litellm.py | 0 | extracts the time and weather from the user's message with the exact strings. | STRING |
| HIGH | strands-py/tests_integ/models/test_model_mistral.py | 0 | extracts the time and weather from the user's message with the exact strings. | STRING |
| HIGH | strands-py/tests_integ/models/test_model_anthropic.py | 0 | extracts the time and weather from the user's message with the exact strings. | STRING |
| HIGH | strands-py/tests_integ/models/test_model_gemini.py | 0 | extracts the time and weather from the user's message with the exact strings. | STRING |
| HIGH | …rands/experimental/bidi/models/test_openai_realtime.py | 0 | test complete connection lifecycle with various configurations. | STRING |
| HIGH | …s/strands/experimental/bidi/models/test_gemini_live.py | 0 | test complete connection lifecycle with various configurations. | STRING |
| HIGH | …ts/strands/experimental/bidi/models/test_nova_sonic.py | 0 | test complete connection lifecycle with various configurations. | STRING |
| HIGH | …rands/experimental/bidi/models/test_openai_realtime.py | 0 | test sending all content types through unified send() method. | STRING |
| HIGH | …s/strands/experimental/bidi/models/test_gemini_live.py | 0 | test sending all content types through unified send() method. | STRING |
| HIGH | …ts/strands/experimental/bidi/models/test_nova_sonic.py | 0 | test sending all content types through unified send() method. | STRING |
| HIGH | strands-py/tests/strands/memory/test_memory_manager.py | 0 | fire every recorded hook registered for ``event``'s type. | STRING |
| HIGH | …s/vended_memory_stores/test_memory_store/test_store.py | 0 | fire every recorded hook registered for ``event``'s type. | STRING |
| HIGH | …ded_memory_stores/bedrock_knowledge_base/test_store.py | 0 | fire every recorded hook registered for ``event``'s type. | STRING |
| HIGH | strands-py/tests/strands/models/test_anthropic.py | 0 | test that toolchoice doesn't emit warning for supported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_openai.py | 0 | test that toolchoice doesn't emit warning for supported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_litellm.py | 0 | test that toolchoice doesn't emit warning for supported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_bedrock.py | 0 | test that toolchoice doesn't emit warning for supported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_anthropic.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_mistral.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_openai.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_writer.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_llamaapi.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_ollama.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_llamacpp.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_gemini.py | 0 | test that images with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_anthropic.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_mistral.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_openai.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_writer.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_llamaapi.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_ollama.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_llamacpp.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_gemini.py | 0 | test that documents with location sources are filtered out with warning. | STRING |
| HIGH | strands-py/tests/strands/models/test_sagemaker.py | 0 | test that non-none toolchoice emits warning for unsupported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_llamaapi.py | 0 | test that non-none toolchoice emits warning for unsupported providers. | STRING |
| HIGH | strands-py/tests/strands/models/test_ollama.py | 0 | test that non-none toolchoice emits warning for unsupported providers. | STRING |
| HIGH | strands-py/src/strands/experimental/bidi/__init__.py | 0 | lazy load model implementations only when accessed. this defers the import of optional dependencies until actually neede | STRING |
| HIGH | …ds-py/src/strands/experimental/bidi/models/__init__.py | 0 | lazy load model implementations only when accessed. this defers the import of optional dependencies until actually neede | STRING |
| HIGH | strands-py/src/strands/vended_memory_stores/__init__.py | 0 | lazy load model implementations only when accessed. this defers the import of optional dependencies until actually neede | STRING |
| HIGH | strands-py/src/strands/models/__init__.py | 0 | lazy load model implementations only when accessed. this defers the import of optional dependencies until actually neede | STRING |
| HIGH | …-py/src/strands/experimental/bidi/models/nova_sonic.py | 0 | merge user config with defaults (user takes precedence). | STRING |
| HIGH | …py/src/strands/experimental/bidi/models/gemini_live.py | 0 | merge user config with defaults (user takes precedence). | STRING |
| HIGH | …rc/strands/experimental/bidi/models/openai_realtime.py | 0 | merge user config with defaults (user takes precedence). | STRING |
| HIGH | strands-py/src/strands/types/media.py | 0 | streaming-related type definitions for the sdk. these types are modeled after the bedrock api. - bedrock docs: https://d | STRING |
| HIGH | strands-py/src/strands/types/tools.py | 0 | streaming-related type definitions for the sdk. these types are modeled after the bedrock api. - bedrock docs: https://d | STRING |
| HIGH | strands-py/src/strands/types/guardrails.py | 0 | streaming-related type definitions for the sdk. these types are modeled after the bedrock api. - bedrock docs: https://d | STRING |
| HIGH | strands-py/src/strands/types/streaming.py | 0 | streaming-related type definitions for the sdk. these types are modeled after the bedrock api. - bedrock docs: https://d | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 0 | format an ollama compatible messages array. args: messages: list of message objects to be processed by the model. system | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 0 | format an ollama compatible messages array. args: messages: list of message objects to be processed by the model. system | STRING |
| HIGH | strands-py/src/strands/models/writer.py | 0 | format an ollama compatible messages array. args: messages: list of message objects to be processed by the model. system | STRING |
| HIGH | strands-py/src/strands/models/ollama.py | 0 | format an ollama compatible messages array. args: messages: list of message objects to be processed by the model. system | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 0 | format an ollama chat streaming request. args: messages: list of message objects to be processed by the model. tool_spec | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 0 | format an ollama chat streaming request. args: messages: list of message objects to be processed by the model. tool_spec | STRING |
| HIGH | strands-py/src/strands/models/ollama.py | 0 | format an ollama chat streaming request. args: messages: list of message objects to be processed by the model. tool_spec | STRING |
| HIGH | strands-py/src/strands/models/llamaapi.py | 0 | stream conversation with the ollama model. args: messages: list of message objects to be processed by the model. tool_sp | STRING |
| HIGH | strands-py/src/strands/models/mistral.py | 0 | stream conversation with the ollama model. args: messages: list of message objects to be processed by the model. tool_sp | STRING |
| HIGH | strands-py/src/strands/models/sagemaker.py | 0 | stream conversation with the ollama model. args: messages: list of message objects to be processed by the model. tool_sp | STRING |
| HIGH | strands-py/src/strands/models/writer.py | 0 | stream conversation with the ollama model. args: messages: list of message objects to be processed by the model. tool_sp | STRING |
| HIGH | strands-py/src/strands/models/ollama.py | 0 | stream conversation with the ollama model. args: messages: list of message objects to be processed by the model. tool_sp | STRING |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/tests_integ/_ssm.py | 20 | CODE | |
| LOW | strands-py/tests_integ/_aws.py | 3 | CODE | |
| LOW | strands-py/tests_integ/memory/conftest.py | 8 | CODE | |
| LOW | …ests_integ/memory/test_bedrock_knowledge_base_store.py | 9 | CODE | |
| LOW | …ands-py/tests_integ/memory/_bedrock_kb_test_helpers.py | 8 | CODE | |
| LOW | …g/memory/test_bedrock_knowledge_base_memory_manager.py | 23 | CODE | |
| LOW | strands-py/tests_integ/bidi/context.py | 14 | CODE | |
| LOW | strands-py/tests_integ/bidi/context.py | 16 | CODE | |
| LOW | strands-py/tests_integ/sandbox/conftest.py | 9 | CODE | |
| LOW | strands-py/tests/strands/tools/test_decorator_pep563.py | 11 | CODE | |
| LOW | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 1964 | CODE | |
| LOW | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2208 | CODE | |
| LOW | strands-py/tests/strands/memory/test_model_extractor.py | 15 | CODE | |
| LOW | strands-py/tests/strands/memory/test_extraction.py | 17 | CODE | |
| LOW | strands-py/tests/strands/memory/test_telemetry.py | 9 | CODE | |
| LOW | …tests/strands/memory/test_resolve_extraction_config.py | 7 | CODE | |
| LOW | strands-py/tests/strands/memory/test_memory_manager.py | 31 | CODE | |
| LOW | …s/vended_memory_stores/test_memory_store/test_store.py | 9 | CODE | |
| LOW | …ded_memory_stores/bedrock_knowledge_base/test_store.py | 15 | CODE | |
| LOW | …ds/vended_interventions/cedar/test_schema_generator.py | 8 | CODE | |
| LOW | …nds-py/tests/strands/vended_tools/test_http_request.py | 3 | CODE | |
| LOW | strands-py/src/strands/interrupt.py | 7 | CODE | |
| LOW | strands-py/src/strands/interrupt.py | 8 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 3 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 3 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 3 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 3 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 3 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 4 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 5 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 7 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 8 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 8 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 9 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 9 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 13 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 13 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 14 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 15 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 16 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 17 | CODE | |
| LOW | strands-py/src/strands/__init__.py | 17 | CODE | |
| LOW | strands-py/src/strands/experimental/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/experimental/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/experimental/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/experimental/__init__.py | 7 | CODE | |
| LOW | strands-py/src/strands/experimental/tools/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/experimental/tools/__init__.py | 6 | CODE | |
| LOW | strands-py/src/strands/experimental/tools/stop/stop.py | 25 | CODE | |
| LOW | …nds-py/src/strands/experimental/tools/stop/__init__.py | 14 | CODE | |
| LOW | …nds-py/src/strands/experimental/tools/stop/__init__.py | 14 | CODE | |
| LOW | …nds-py/src/strands/experimental/checkpoint/__init__.py | 10 | CODE | |
| LOW | …nds-py/src/strands/experimental/checkpoint/__init__.py | 10 | CODE | |
| LOW | …nds-py/src/strands/experimental/checkpoint/__init__.py | 10 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 7 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 7 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 7 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 12 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 15 | CODE | |
| 456 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/tests_integ/conftest.py | 204 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/_ssm.py | 63 | except Exception as error: # noqa: BLE001 - any failure means "unavailable", not "error". | CODE |
| LOW | strands-py/tests_integ/_ssm.py | 98 | except Exception as error: # noqa: BLE001 - any failure means "skip", not "error". | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 501 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 578 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/test_multiagent_graph.py | 833 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/test_multiagent_swarm.py | 34 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/test_a2a_executor.py | 82 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/memory/conftest.py | 83 | except Exception: # noqa: BLE001 - best-effort cleanup. | CODE |
| LOW | …ands-py/tests_integ/memory/_bedrock_kb_test_helpers.py | 123 | except Exception: # noqa: BLE001 - best-effort; don't mask test failures. | CODE |
| LOW | …ands-py/tests_integ/memory/_bedrock_kb_test_helpers.py | 147 | except Exception: # noqa: BLE001 - best-effort. | CODE |
| LOW | …ands-py/tests_integ/memory/_bedrock_kb_test_helpers.py | 157 | except Exception: # noqa: BLE001 - best-effort. | CODE |
| MEDIUM | …ands-py/tests_integ/memory/_bedrock_kb_test_helpers.py | 116 | def _cleanup() -> None: | CODE |
| LOW | …g/memory/test_bedrock_knowledge_base_memory_manager.py | 149 | except Exception: # noqa: BLE001 - best-effort; don't mask test failures. | CODE |
| LOW | strands-py/tests_integ/bidi/context.py | 340 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/bidi/context.py | 359 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/bidi/generators/audio.py | 102 | except Exception as e: | CODE |
| MEDIUM | strands-py/tests_integ/mcp/test_mcp_client.py | 50 | print(f"Error while generating custom image: {e}") | CODE |
| MEDIUM | strands-py/tests_integ/mcp/test_mcp_client.py | 44 | def generate_custom_image() -> MCPImageContent: | CODE |
| LOW | strands-py/tests_integ/mcp/test_mcp_client.py | 49 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/mcp/test_mcp_client.py | 557 | except Exception: | CODE |
| LOW | strands-py/tests_integ/models/test_model_llamacpp.py | 502 | except Exception as e: | CODE |
| LOW | strands-py/tests_integ/sandbox/conftest.py | 108 | except Exception: # noqa: BLE001 - best-effort cleanup | CODE |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 603 | def transformer(context, next_fn): | CODE |
| LOW | strands-py/tests/strands/middleware/test_registry.py | 706 | except Exception: # noqa: BLE001 — deliberately broad; must NOT catch CancelledError | CODE |
| LOW | …sts/strands/middleware/test_execute_tool_middleware.py | 251 | except Exception: | CODE |
| LOW | strands-py/tests/strands/tools/test_decorator_pep563.py | 139 | except Exception as e: | CODE |
| LOW⚡ | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 847 | except Exception: | CODE |
| LOW | strands-py/tests/strands/types/test_exceptions.py | 331 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/multiagent/test_swarm.py | 782 | except Exception: | CODE |
| LOW | strands-py/tests/strands/multiagent/test_swarm.py | 825 | except Exception: | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 2415 | def invoke(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3066 | def invoke(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3104 | def invoke_abc(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3113 | def invoke_def(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3153 | def invoke_with_token(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3162 | def invoke_without_token(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3202 | def invoke(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3259 | def invoke(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3303 | def invoke_abc(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3312 | def invoke_def(): | CODE |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 3366 | def invoke(): | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3034 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3069 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3109 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3118 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3158 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3167 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3207 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3264 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3308 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3317 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 3371 | except Exception as e: | CODE |
| LOW⚡ | …rands/vended_plugins/context_offloader/test_storage.py | 225 | except Exception as e: | CODE |
| LOW | …rands/vended_plugins/context_offloader/test_storage.py | 81 | except Exception as e: | CODE |
| LOW | …s/strands/vended_plugins/steering/core/test_handler.py | 289 | except Exception: | CODE |
| MEDIUM | strands-py/tests/strands/telemetry/test_metrics.py | 523 | def create_and_use_client(): | CODE |
| LOW | strands-py/tests/strands/telemetry/test_metrics.py | 531 | except Exception as e: | CODE |
| LOW | strands-py/tests/strands/telemetry/test_tracer.py | 1234 | except Exception: | CODE |
| LOW | …ds-py/src/strands/experimental/bidi/_async/__init__.py | 26 | except Exception as exception: | CODE |
| 147 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .agents/references/voice-guide.md | 27 | - [Multi-agent patterns](#multi-agent-patterns) | CODE |
| MEDIUM | test-infra/scripts/run-selective-ts.sh | 92 | '^test-infra/scripts/run-selective-ts\.sh$' # this orchestration script | CODE |
| MEDIUM | strands-py/AGENTS.md | 30 | │ ├── multiagent/ # Multi-agent orchestration (A2A, graphs, swarm) | CODE |
| MEDIUM⚡ | strands-py/tests_integ/models/test_model_openai.py | 247 | # Use gpt-4o-mini which has a smaller context window to make this test more reliable | COMMENT |
| MEDIUM⚡ | strands-py/tests_integ/models/test_model_openai.py | 257 | # Create a very long text that should exceed context window | COMMENT |
| MEDIUM | strands-py/tests_integ/models/test_model_llamacpp.py | 228 | "penalty_last_n": 64, # Penalty context window | CODE |
| MEDIUM | …py/tests/strands/test_tracking_id_history_invariant.py | 130 | # The agentic ``summarize_context`` tool generates a summary and splices it straight into | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/multiagent/test_graph.py | 1879 | # Create a multi-agent that streams events but never yields a result | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 209 | # Create multi-agent first | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 212 | # Sync multi-agent | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 225 | # Verify multi-agent was created | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 243 | # Initialize multi-agent | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 1158 | # Create mock multi-agent | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 1163 | # Initialize multi-agent | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 1190 | # Create mock multi-agent | COMMENT |
| MEDIUM⚡ | …sts/strands/session/test_repository_session_manager.py | 1195 | # Initialize multi-agent | COMMENT |
| MEDIUM⚡ | …-py/tests/strands/session/test_file_session_manager.py | 470 | # Create session and multi-agent | COMMENT |
| MEDIUM⚡ | …-py/tests/strands/session/test_file_session_manager.py | 474 | # Read multi-agent | COMMENT |
| MEDIUM⚡ | …-py/tests/strands/session/test_file_session_manager.py | 489 | # Create session and multi-agent | COMMENT |
| MEDIUM⚡ | …ds-py/tests/strands/session/test_s3_session_manager.py | 477 | # Create session and multi-agent | COMMENT |
| MEDIUM⚡ | …ds-py/tests/strands/session/test_s3_session_manager.py | 481 | # Read multi-agent | COMMENT |
| MEDIUM⚡ | …ds-py/tests/strands/session/test_s3_session_manager.py | 497 | # Create session and multi-agent | COMMENT |
| MEDIUM | strands-py/src/strands/multiagent/graph.py | 1015 | # For nested multi-agent systems, stream their events and collect result | COMMENT |
| MEDIUM | strands-py/src/strands/multiagent/graph.py | 1018 | # Forward nested multi-agent events with node context | COMMENT |
| MEDIUM | strands-py/src/strands/agent/agent.py | 365 | # Inject the model-driven context-management tools when running in agentic mode. | COMMENT |
| MEDIUM | strands-py/src/strands/agent/agent.py | 414 | # In agentic mode, surface live token usage to the model so it can decide when to compress. | COMMENT |
| MEDIUM | strands-py/src/strands/models/openai_responses.py | 348 | # - reasoning_text: full chain-of-thought (gpt-oss models) | COMMENT |
| MEDIUM | strands-ts/AGENTS.md | 30 | │ ├── multiagent/ # Multi-agent orchestration (A2A, graphs, swarm) | CODE |
| MEDIUM | strands-ts/src/__fixtures__/mock-message-model.ts | 272 | // GuardContentBlock is handled by guardrails and doesn't generate model events | COMMENT |
| MEDIUM | strands-ts/src/agent/agent.ts | 1987 | // Handle user content redaction if guardrails blocked input | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 179 | * @see https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 309 | * @see https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 944 | // Bedrock guardrails only support png/jpeg formats | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 952 | // Bedrock guardrails only support bytes source (not S3 or URL) | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 1380 | // Check for blocked guardrails and emit redaction events | COMMENT |
| MEDIUM | strands-ts/src/models/bedrock.ts | 1567 | // Check for blocked guardrails in trace and emit redaction events | COMMENT |
| MEDIUM | strands-ts/src/models/model.ts | 456 | // Handle content redaction from guardrails | COMMENT |
| MEDIUM | team/designs/0006-cedar-authorization.md | 55 | Most agents today are single-user, but even in the single-user case, you don't want the agent to have the full permissio | CODE |
| MEDIUM | team/designs/0006-cedar-authorization.md | 125 | See [Appendix E](#appendix-e-tool-set-swapping-vs-cedar) for a side-by-side comparison table. **The rule of thumb**: If | CODE |
| MEDIUM⚡ | team/designs/0006-cedar-authorization.md | 243 | Cedar is purpose-built for authorization — `principal`, `action`, `resource`, and `context` are language primitives, not | CODE |
| MEDIUM⚡ | team/designs/0006-cedar-authorization.md | 243 | Cedar is purpose-built for authorization — `principal`, `action`, `resource`, and `context` are language primitives, not | CODE |
| MEDIUM⚡ | team/designs/0006-cedar-authorization.md | 247 | Building this plugin also led to a broader investigation into Cedar as an [intervention handler](#future-cedar-as-an-int | CODE |
| MEDIUM | team/designs/0006-cedar-authorization.md | 928 | | 3 | [Can your governance keep pace with your AI ambitions? AI risk intelligence in the agentic era](https://aws.amazon | CODE |
| MEDIUM | team/designs/0006-cedar-authorization.md | 929 | | 4 | [Agentic AI in the Enterprise Part 2: Guidance by Persona](https://aws.amazon.com/blogs/machine-learning/operation | CODE |
| MEDIUM | team/designs/0007-intervention-primitive.md | 51 | Several independent tools already control agent behavior at runtime — [steering](https://strandsagents.com/docs/user-gui | CODE |
| MEDIUM | team/designs/0003-context-management.md | 60 | [Recursive Language Models](https://arxiv.org/abs/2512.24601) train models to recursively process long prompts by chunki | CODE |
| MEDIUM | team/designs/0010-multimodal-i2t-evaluation.md | 22 | # The judge never sees the image — it cannot detect visual hallucinations | COMMENT |
| MEDIUM | team/designs/0008-proactive-context-compression.md | 143 | **Context window limit on Model ([#1295](https://github.com/strands-agents/harness-sdk/issues/1295)).** The threshold ch | CODE |
| MEDIUM | team/designs/0011-context-strategy.md | 90 | ### `"agentic"` — The agent decides | COMMENT |
| MEDIUM | team/designs/0011-context-strategy.md | 491 | // ContextNavigation plugin config (agentic only) | COMMENT |
| MEDIUM | team/designs/0011-context-strategy.md | 496 | // ContextDelegation plugin config (agentic only) | COMMENT |
| MEDIUM | team/designs/0012-strandslator-design.md | 108 | - **[Adversarial and cross-language differential testing](https://gist.github.com/agent-of-mkmeral/5a4d0ce16a1242a711d77 | CODE |
| MEDIUM | team/designs/0012-strandslator-design.md | 108 | - **[Adversarial and cross-language differential testing](https://gist.github.com/agent-of-mkmeral/5a4d0ce16a1242a711d77 | CODE |
| MEDIUM | team/designs/0011-memory-manager.md | 263 | ### 2. Single store (no multi-store orchestration) | COMMENT |
| MEDIUM | site/src/content/testimonials/zafran.md | 8 | We chose Strands because it's AWS-native, intuitive, and made agent development accessible across our engineering team. | CODE |
| MEDIUM⚡ | …content/docs/user-guide/concepts/context-management.ts | 12 | // --8<-- [start:agentic] | COMMENT |
| MEDIUM⚡ | …content/docs/user-guide/concepts/context-management.ts | 16 | // --8<-- [end:agentic] | COMMENT |
| MEDIUM | …/user-guide/concepts/model-providers/amazon-bedrock.ts | 404 | // --8<-- [start:guardrails] | COMMENT |
| MEDIUM | …/user-guide/concepts/model-providers/amazon-bedrock.ts | 405 | // Using guardrails with BedrockModel | COMMENT |
| MEDIUM | …/user-guide/concepts/model-providers/amazon-bedrock.ts | 426 | // --8<-- [end:guardrails] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/tests_integ/conftest.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/test_max_tokens_reached.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/_ssm.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/memory/conftest.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/bidi/conftest.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/bidi/context.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/bidi/test_bidirectional_agent.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/bidi/generators/audio.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/tests_integ/mcp/test_mcp_tool_provider.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | strands-py/tests_integ/sandbox/conftest.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ds-py/tests/strands/tools/mcp/test_mcp_client_tasks.py | 82 | def _setup_task_tool(self, mock_session, tool_name: str) -> None: | CODE |
| LOW | …sts/strands/vended_plugins/skills/test_agent_skills.py | 84 | def _set_system_prompt(agent: MagicMock, value: str | list | None) -> None: | CODE |
| LOW | strands-py/src/strands/__init__.py | 19 | __all__ = [ | CODE |
| LOW | strands-py/src/strands/experimental/__init__.py | 9 | __all__ = ["checkpoint", "config_to_agent", "tools", "steering"] | CODE |
| LOW | strands-py/src/strands/experimental/tools/__init__.py | 24 | __all__ = [ | CODE |
| LOW | …nds-py/src/strands/experimental/tools/stop/__init__.py | 16 | __all__ = [ | CODE |
| LOW | …s-py/src/strands/experimental/checkpoint/checkpoint.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nds-py/src/strands/experimental/checkpoint/__init__.py | 12 | __all__ = ["CHECKPOINT_SCHEMA_VERSION", "Checkpoint", "CheckpointPosition"] | CODE |
| LOW | strands-py/src/strands/experimental/bidi/__init__.py | 40 | __all__ = [ | CODE |
| LOW | …nds-py/src/strands/experimental/bidi/tools/__init__.py | 18 | __all__ = ["stop_conversation"] | CODE |
| LOW | …rands-py/src/strands/experimental/bidi/types/events.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nds-py/src/strands/experimental/bidi/types/__init__.py | 24 | __all__ = [ | CODE |
| LOW | …ds-py/src/strands/experimental/bidi/_async/__init__.py | 8 | __all__ = ["_TaskGroup", "_TaskPool"] | CODE |
| LOW | strands-py/src/strands/experimental/bidi/io/__init__.py | 6 | __all__ = ["BidiAudioIO", "BidiTextIO"] | CODE |
| LOW | strands-py/src/strands/experimental/bidi/io/text.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/experimental/bidi/io/audio.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nds-py/src/strands/experimental/bidi/agent/__init__.py | 5 | __all__ = ["BidiAgent"] | CODE |
| LOW | strands-py/src/strands/experimental/bidi/agent/agent.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/experimental/bidi/agent/loop.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-py/src/strands/experimental/bidi/models/nova_sonic.py | 66 | logger = logging.getLogger(__name__) | CODE |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ds-py/src/strands/experimental/bidi/models/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …rands-py/src/strands/experimental/bidi/models/model.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rc/strands/experimental/bidi/models/openai_realtime.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/experimental/hooks/__init__.py | 26 | __all__ = [ | CODE |
| LOW | …py/src/strands/experimental/hooks/multiagent/events.py | 22 | __all__ = [ | CODE |
| LOW | …/src/strands/experimental/hooks/multiagent/__init__.py | 14 | __all__ = [ | CODE |
| LOW | strands-py/src/strands/tools/registry.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/registry.py | 635 | def _update_tool_config(self, tool_config: dict[str, Any], new_tool: NewToolDict) -> None: | CODE |
| LOW | strands-py/src/strands/tools/decorator.py | 72 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/tools.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/__init__.py | 11 | __all__ = [ | CODE |
| LOW | strands-py/src/strands/tools/loader.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/watcher.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ands/tools/structured_output/structured_output_tool.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …nds-py/src/strands/tools/structured_output/__init__.py | 6 | __all__ = ["convert_pydantic_to_tool_spec", "DEFAULT_STRUCTURED_OUTPUT_PROMPT"] | CODE |
| LOW | …/tools/structured_output/_structured_output_context.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/tools/structured_output/_structured_output_context.py | 77 | def set_forced_mode(self, tool_choice: dict | None = None) -> None: | CODE |
| LOW | strands-py/src/strands/tools/mcp/__init__.py | 14 | __all__ = ["MCPAgentTool", "MCPClient", "MCPServerConfig", "MCPTransport", "TasksConfig", "ToolFilters"] | CODE |
| LOW | strands-py/src/strands/tools/mcp/mcp_agent_tool.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 68 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 533 | async def _set_close_event() -> None: | CODE |
| LOW | strands-py/src/strands/tools/executors/__init__.py | 11 | __all__ = [ | CODE |
| LOW | strands-py/src/strands/tools/executors/_executor.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/types/__init__.py | 7 | __all__ = ["Limits", "PaginatedList", "Snapshot"] | CODE |
| LOW | strands-py/src/strands/multiagent/swarm.py | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/multiagent/swarm.py | 488 | def _setup_swarm(self, nodes: list[Agent]) -> None: | CODE |
| LOW | strands-py/src/strands/multiagent/graph.py | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | strands-py/src/strands/multiagent/__init__.py | 15 | __all__ = [ | CODE |
| LOW | strands-py/src/strands/multiagent/base.py | 23 | logger = logging.getLogger(__name__) | CODE |
| 123 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | .agents/skills/docs-audit/SKILL.md | 27 | ### Step 1: Fetch and classify | COMMENT |
| LOW⚡ | .agents/skills/docs-audit/SKILL.md | 33 | ### Step 2: Voice stack review | COMMENT |
| LOW⚡ | .agents/skills/docs-audit/SKILL.md | 43 | ### Step 3: Accuracy check | COMMENT |
| LOW | .agents/skills/docs-audit/SKILL.md | 57 | ### Step 4: AI-readability check | COMMENT |
| LOW | .agents/skills/docs-audit/SKILL.md | 65 | ### Step 5: Competitive comparison (optional) | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 20 | ### Step 1: Load voice context | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 28 | ### Step 2: Outline | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 39 | ### Step 3: Draft | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 71 | ### Step 4: Constrain | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 94 | ### Step 5: Authenticate | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 102 | ### Step 6: Metadata | COMMENT |
| LOW | .agents/skills/docs-writer/SKILL.md | 115 | ### Step 7: Run docs-reviewer | COMMENT |
| LOW⚡ | .agents/skills/docs-planner/SKILL.md | 18 | ### Step 1: Inventory current docs | COMMENT |
| LOW⚡ | .agents/skills/docs-planner/SKILL.md | 22 | ### Step 2: Identify gaps | COMMENT |
| LOW⚡ | .agents/skills/docs-planner/SKILL.md | 31 | ### Step 3: Prioritize | COMMENT |
| LOW⚡ | .agents/skills/docs-planner/SKILL.md | 40 | ### Step 4: Produce the backlog | COMMENT |
| LOW⚡ | strands-py/src/strands/tools/mcp/mcp_client.py | 1610 | # Step 4: Get the actual result for completed tasks (with error handling for race conditions) | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1525 | # Step 1: Create the task | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1568 | # Step 2: Poll until terminal status (with timeout protection) | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1596 | # Step 3: Handle terminal status | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 119 | # Step 1: start with preset | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 125 | # Step 2: union with include | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 129 | # Step 3: subtract exclude | COMMENT |
| LOW | strands-ts/test/integ/tools/notebook.test.ts | 21 | // Step 1: Create a notebook | COMMENT |
| LOW⚡ | strands-ts/test/integ/tools/notebook.test.ts | 32 | // Step 2: Add content to the notebook | COMMENT |
| LOW⚡ | strands-ts/test/integ/tools/notebook.test.ts | 39 | // Step 3: Read the notebook | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 46 | # Step 1: Researcher Agent with enhanced web capabilities | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 71 | # Step 2: Analyst Agent to verify facts | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 94 | # Step 3: Writer Agent to create report | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 93 | ### Step 1: Create IAM Role | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 110 | ### Step 2: Set Environment Variables | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 129 | ### Step 3: Create ECR Repository | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 137 | ### Step 4: Build and Push Docker Image | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 158 | ### Step 5: Create AgentCore Runtime | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 170 | ### Step 6: Verify Deployment | COMMENT |
| LOW | …mples/typescript/deploy_to_bedrock_agentcore/README.md | 184 | ### Step 7: Test Your Deployment | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_async.py | 28 | ### Step 1: Define task ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_async.py | 43 | ### Step 2: Create test cases ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 27 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 53 | ### Step 2: Create test cases ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 59 | ### Step 3: Create evaluator ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 68 | ### Step 4: Create dataset ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 72 | ### Step 5: Run evaluation ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 27 | ### Step 1: Define task ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_graph.py | 60 | ### Step 2: Create test cases ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_graph.py | 72 | ### Step 2: Create evaluator ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 88 | ### Step 4: Create dataset ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 92 | ### Step 5: Run evaluation ### | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 24 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 33 | # Step 2: Initialize the experiment generator for string types | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 36 | # Step 3: Generate experiment from scratch with specified topics | COMMENT |
| LOW | …mples/evals-sdk/experiment_generator/simple_dataset.py | 48 | # Step 4: Run evaluations on the generated test cases | COMMENT |
| LOW | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 51 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 68 | ### Step 2: Initialize the experiment generator ### | COMMENT |
| LOW⚡ | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 71 | ### Step 3: Generate experiment with tool context ### | COMMENT |
| LOW | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 94 | ### Step 4: Run evaluations on the generated test cases ### | STRING |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 21 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 28 | # Step 2: Initialize the experiment generator for string types | COMMENT |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 31 | # Step 3: Generate experiment with topic planning for better coverage | COMMENT |
| LOW | …als-sdk/experiment_generator/topic_planning_dataset.py | 48 | # Step 4: Run evaluations on the generated test cases | COMMENT |
| 6 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 25 | result = await ssh_sandbox.execute("echo hello && echo err >&2") | CODE |
| HIGH⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 50 | async for item in ssh_sandbox.execute_streaming("echo line1 && echo line2"): | CODE |
| HIGH⚡ | strands-py/tests_integ/sandbox/test_ssh.py | 63 | async for item in ssh_sandbox.execute_streaming("echo OUT && echo ERR >&2"): | CODE |
| HIGH⚡ | strands-py/tests_integ/sandbox/test_docker.py | 58 | result = await sandbox.execute("echo hello && echo err >&2") | CODE |
| HIGH | …sts/strands/middleware/test_execute_tool_middleware.py | 78 | TS runs the middleware chain for unknown tools too (context.tool === undefined), letting | STRING |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 88 | assert _args(mock_stream_process) == BASE + ["--", "user@server.com", "cd /remote/path && echo hi"] | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 103 | "cd /w && ls", | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 110 | assert _args(mock_stream_process) == BASE + ["-i", "/home/user/.ssh/key", "--", "h", "cd /w && ls"] | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 125 | "cd /w && ls", | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 139 | "cd /w && ls", | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 158 | assert _args(mock_stream_process) == BASE + ["--", "h", "cd /override && ls"] | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 164 | assert _args(mock_stream_process) == BASE + ["--", "h", "cd /w && export FOO=bar BAZ=qux && echo $FOO"] | CODE |
| HIGH⚡ | strands-py/tests/strands/sandbox/test_ssh.py | 172 | assert _args(mock_stream_process) == BASE + ["--", "h", "cd /w && export FOO='$(whoami)' && echo $FOO"] | CODE |
| HIGH | strands-py/src/strands/tools/decorator.py | 342 | # Handle Optional[Type] case (represented as anyOf[Type, null]) | COMMENT |
| HIGH | …nds/tools/structured_output/structured_output_utils.py | 104 | # Check if this is an Optional[...] case (one null, one type) | COMMENT |
| HIGH | site/scripts/api-generation-python.py | 13 | pip install pydoc-markdown && python scripts/api-generation-python.py # fallback | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/tests_integ/conftest.py | 28 | CODE | |
| LOW | strands-py/tests_integ/conftest.py | 190 | CODE | |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 132 | CODE | |
| LOW | strands-py/tests_integ/bidi/context.py | 226 | CODE | |
| LOW | strands-py/tests_integ/bidi/context.py | 253 | CODE | |
| LOW | strands-py/tests_integ/bidi/context.py | 301 | CODE | |
| LOW | strands-py/tests_integ/bidi/test_bidirectional_agent.py | 29 | CODE | |
| LOW | strands-py/tests_integ/mcp/test_mcp_client.py | 536 | CODE | |
| LOW | strands-py/tests_integ/mcp/echo_server.py | 37 | CODE | |
| LOW | strands-py/tests_integ/mcp/echo_server.py | 75 | CODE | |
| LOW | strands-py/tests_integ/sandbox/conftest.py | 58 | CODE | |
| LOW | strands-py/tests/strands/tools/test_decorator.py | 1355 | CODE | |
| LOW | strands-py/tests/strands/tools/test_decorator.py | 1359 | CODE | |
| LOW | strands-py/tests/strands/tools/mcp/test_mcp_client.py | 526 | CODE | |
| LOW | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2031 | CODE | |
| LOW | strands-py/tests/strands/memory/test_extraction.py | 165 | CODE | |
| LOW | …ds-py/tests/strands/agent/test_conversation_manager.py | 314 | CODE | |
| LOW | strands-py/tests/strands/agent/test_snapshot.py | 187 | CODE | |
| LOW | strands-py/tests/strands/agent/test_agent_hooks.py | 626 | CODE | |
| LOW | strands-py/tests/strands/agent/test_agent_hooks.py | 639 | CODE | |
| LOW | …trands/vended_plugins/context_offloader/test_plugin.py | 46 | CODE | |
| LOW | strands-py/tests/strands/sandbox/test_posix_shell.py | 40 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/io/text.py | 37 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/agent/agent.py | 236 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/agent/loop.py | 210 | CODE | |
| LOW | …-py/src/strands/experimental/bidi/models/nova_sonic.py | 307 | CODE | |
| LOW | …-py/src/strands/experimental/bidi/models/nova_sonic.py | 408 | CODE | |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 212 | CODE | |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 380 | CODE | |
| LOW | …rc/strands/experimental/bidi/models/openai_realtime.py | 314 | CODE | |
| LOW | …rc/strands/experimental/bidi/models/openai_realtime.py | 441 | CODE | |
| LOW | …rc/strands/experimental/bidi/models/openai_realtime.py | 687 | CODE | |
| LOW | strands-py/src/strands/tools/registry.py | 44 | CODE | |
| LOW | strands-py/src/strands/tools/registry.py | 335 | CODE | |
| LOW | strands-py/src/strands/tools/registry.py | 360 | CODE | |
| LOW | strands-py/src/strands/tools/registry.py | 444 | CODE | |
| LOW | strands-py/src/strands/tools/registry.py | 72 | CODE | |
| LOW | strands-py/src/strands/tools/decorator.py | 118 | CODE | |
| LOW | strands-py/src/strands/tools/decorator.py | 233 | CODE | |
| LOW | strands-py/src/strands/tools/decorator.py | 314 | CODE | |
| LOW | strands-py/src/strands/tools/decorator.py | 671 | CODE | |
| LOW | strands-py/src/strands/tools/watcher.py | 80 | CODE | |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 10 | CODE | |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 82 | CODE | |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 221 | CODE | |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 351 | CODE | |
| LOW | strands-py/src/strands/tools/mcp/mcp_instrumentation.py | 43 | CODE | |
| LOW | strands-py/src/strands/tools/mcp/mcp_instrumentation.py | 64 | CODE | |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1117 | CODE | |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1371 | CODE | |
| LOW | strands-py/src/strands/tools/executors/_executor.py | 109 | CODE | |
| LOW | strands-py/src/strands/multiagent/swarm.py | 735 | CODE | |
| LOW | strands-py/src/strands/multiagent/graph.py | 618 | CODE | |
| LOW | strands-py/src/strands/multiagent/graph.py | 819 | CODE | |
| LOW | strands-py/src/strands/multiagent/graph.py | 976 | CODE | |
| LOW | strands-py/src/strands/multiagent/graph.py | 1153 | CODE | |
| LOW | strands-py/src/strands/multiagent/a2a/_converters.py | 27 | CODE | |
| LOW | strands-py/src/strands/multiagent/a2a/_converters.py | 110 | CODE | |
| LOW | strands-py/src/strands/multiagent/a2a/executor.py | 776 | CODE | |
| LOW | strands-py/src/strands/memory/memory_manager.py | 90 | CODE | |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | strands-py/src/strands/tools/mcp/mcp_client.py | 1610 | # Step 4: Get the actual result for completed tasks (with error handling for race conditions) | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1525 | # Step 1: Create the task | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1568 | # Step 2: Poll until terminal status (with timeout protection) | COMMENT |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 1596 | # Step 3: Handle terminal status | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 119 | # Step 1: start with preset | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 125 | # Step 2: union with include | COMMENT |
| LOW⚡ | strands-py/src/strands/types/_snapshot.py | 129 | # Step 3: subtract exclude | COMMENT |
| LOW | strands-ts/test/integ/tools/notebook.test.ts | 21 | // Step 1: Create a notebook | COMMENT |
| LOW⚡ | strands-ts/test/integ/tools/notebook.test.ts | 32 | // Step 2: Add content to the notebook | COMMENT |
| LOW⚡ | strands-ts/test/integ/tools/notebook.test.ts | 39 | // Step 3: Read the notebook | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 46 | # Step 1: Researcher Agent with enhanced web capabilities | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 71 | # Step 2: Analyst Agent to verify facts | COMMENT |
| LOW | site/docs/examples/python/agents_workflow.py | 94 | # Step 3: Writer Agent to create report | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_async.py | 28 | ### Step 1: Define task ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_async.py | 43 | ### Step 2: Create test cases ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 27 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 53 | ### Step 2: Create test cases ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 59 | ### Step 3: Create evaluator ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 68 | ### Step 4: Create dataset ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_swarm.py | 72 | ### Step 5: Run evaluation ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 27 | ### Step 1: Define task ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_graph.py | 60 | ### Step 2: Create test cases ### | COMMENT |
| LOW | site/docs/examples/evals-sdk/evaluate_graph.py | 72 | ### Step 2: Create evaluator ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 88 | ### Step 4: Create dataset ### | COMMENT |
| LOW⚡ | site/docs/examples/evals-sdk/evaluate_graph.py | 92 | ### Step 5: Run evaluation ### | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 24 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 33 | # Step 2: Initialize the experiment generator for string types | COMMENT |
| LOW⚡ | …mples/evals-sdk/experiment_generator/simple_dataset.py | 36 | # Step 3: Generate experiment from scratch with specified topics | COMMENT |
| LOW | …mples/evals-sdk/experiment_generator/simple_dataset.py | 48 | # Step 4: Run evaluations on the generated test cases | COMMENT |
| LOW | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 51 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 68 | ### Step 2: Initialize the experiment generator ### | COMMENT |
| LOW⚡ | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 71 | ### Step 3: Generate experiment with tool context ### | COMMENT |
| LOW | …s/evals-sdk/experiment_generator/trajectory_dataset.py | 94 | ### Step 4: Run evaluations on the generated test cases ### | STRING |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 21 | ### Step 1: Define task ### | COMMENT |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 28 | # Step 2: Initialize the experiment generator for string types | COMMENT |
| LOW⚡ | …als-sdk/experiment_generator/topic_planning_dataset.py | 31 | # Step 3: Generate experiment with topic planning for better coverage | COMMENT |
| LOW | …als-sdk/experiment_generator/topic_planning_dataset.py | 48 | # Step 4: Run evaluations on the generated test cases | COMMENT |
| LOW⚡ | site/scripts/api-generation-typescript.ts | 211 | // Step 1: Clean output directory | COMMENT |
| LOW⚡ | site/scripts/api-generation-typescript.ts | 217 | // Step 2: Run typedoc | COMMENT |
| LOW⚡ | site/scripts/api-generation-typescript.ts | 228 | // Step 3: Get all generated files | COMMENT |
| LOW⚡ | site/scripts/api-generation-typescript.ts | 232 | // Step 4: Process each file (skip the index file - we have our own) | COMMENT |
| LOW⚡ | …c/content/docs/user-guide/concepts/agents/snapshots.ts | 102 | // Step 1: Gather information | COMMENT |
| LOW⚡ | …c/content/docs/user-guide/concepts/agents/snapshots.ts | 106 | // Step 2: Analyze (might fail or produce poor results) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | strands-py/tests_integ/test_invalid_tool_names.py | 17 | # Per https://github.com/strands-agents/harness-sdk/issues/1069 we want to ensure that invalid tool don't poison | COMMENT |
| MEDIUM | strands-py/tests_integ/mcp/test_mcp_client.py | 75 | # Start comprehensive server with tools, prompts, and resources | COMMENT |
| MEDIUM | strands-py/tests_integ/mcp/test_mcp_client.py | 314 | """Test comprehensive MCP client with streamable HTTP transport.""" | STRING |
| MEDIUM | strands-py/tests_integ/models/test_model_openai.py | 229 | # See https://github.com/strands-agents/harness-sdk/issues/320 for additional details | COMMENT |
| LOW | strands-py/tests/strands/tools/test_decorator.py | 1020 | # The wrapper should preserve our format and just add the toolUseId | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_graph.py | 2104 | # Monotonic fake clock advanced explicitly; robust to how many times time.time() is called. | COMMENT |
| MEDIUM | strands-py/tests/strands/multiagent/test_graph.py | 206 | """Test comprehensive graph execution with diverse nodes and conditional edges.""" | STRING |
| MEDIUM | strands-py/tests/strands/multiagent/test_graph.py | 1163 | """Test comprehensive self-loop functionality including conditions and reset behavior.""" | STRING |
| MEDIUM | …rands-py/tests/strands/multiagent/a2a/test_executor.py | 2275 | # Regression coverage for https://github.com/strands-agents/harness-sdk/issues/2948: a client | COMMENT |
| MEDIUM⚡ | strands-py/tests/strands/models/test_bedrock.py | 813 | # We used to hang on None, so ensure we don't regress: https://github.com/strands-agents/harness-sdk/issues/642 | COMMENT |
| LOW | …s/strands/vended_plugins/steering/core/test_handler.py | 278 | # The context callback is wrapped in a lambda, so we just call all callbacks | COMMENT |
| LOW | …s/strands/vended_plugins/steering/core/test_handler.py | 470 | # Should not raise, just return early | COMMENT |
| LOW | …s/strands/vended_plugins/steering/core/test_handler.py | 490 | # Should not raise, just return early | COMMENT |
| MEDIUM | …nds-py/tests/strands/vended_interventions/test_hitl.py | 638 | without a per-file ``# type: ignore`` is tracked in harness-sdk#2800. | STRING |
| MEDIUM | strands-py/src/strands/_exception_notes.py | 3 | # add_note was added in 3.11 - we hoist to a constant to facilitate testing | COMMENT |
| MEDIUM | strands-py/src/strands/tools/decorator.py | 153 | # Deferring this complexity until there is clear demand and a robust | COMMENT |
| LOW | strands-py/src/strands/tools/decorator.py | 674 | # Result is already in the expected format, just add toolUseId | COMMENT |
| MEDIUM | strands-py/src/strands/tools/_tool_helpers.py | 7 | # https://github.com/strands-agents/harness-sdk/issues/998 | COMMENT |
| MEDIUM | strands-py/src/strands/tools/_caller.py | 134 | # TODO: https://github.com/strands-agents/harness-sdk/issues/1311 | COMMENT |
| MEDIUM | strands-py/src/strands/tools/mcp/mcp_client.py | 341 | # See: https://github.com/strands-agents/harness-sdk/issues/1440 | COMMENT |
| MEDIUM | strands-py/src/strands/event_loop/streaming.py | 72 | # https://github.com/strands-agents/harness-sdk/issues/1069 | COMMENT |
| MEDIUM | strands-py/src/strands/models/openai_responses.py | 35 | # A major version bump is proposed in https://github.com/strands-agents/harness-sdk/pull/1370 | COMMENT |
| MEDIUM | strands-py/src/strands/models/openai_responses.py | 663 | # tracked in https://github.com/strands-agents/harness-sdk/issues/3389. | COMMENT |
| MEDIUM | strands-py/src/strands/models/openai.py | 240 | # See https://github.com/strands-agents/harness-sdk/issues/1696 | COMMENT |
| MEDIUM | strands-py/src/strands/models/openai.py | 378 | # TODO: Handle caching blocks https://github.com/strands-agents/harness-sdk/issues/1140 | COMMENT |
| MEDIUM | strands-py/src/strands/models/bedrock.py | 522 | # TODO: Replace with systematic model configuration registry (https://github.com/strands-agents/harness- | COMMENT |
| MEDIUM | …_plugins/steering/context_providers/ledger_provider.py | 1 | """Ledger context provider for comprehensive agent activity tracking. | STRING |
| MEDIUM | strands-py/src/strands/hooks/registry.py | 252 | # Related issue: https://github.com/strands-agents/harness-sdk/issues/330 | COMMENT |
| MEDIUM | strands-py/src/strands/telemetry/metrics.py | 398 | """Generate a comprehensive summary of all collected metrics. | STRING |
| MEDIUM | …s-py/src/strands/session/repository_session_manager.py | 240 | # Fix broken session histories: https://github.com/strands-agents/harness-sdk/issues/859 | COMMENT |
| MEDIUM | …s-py/src/strands/session/repository_session_manager.py | 405 | # Fix broken session histories: https://github.com/strands-agents/harness-sdk/issues/859 | COMMENT |
| MEDIUM | .github/workflows/changelog-sync.yml | 121 | # step whether the harness step passed or failed (the two syncs are | COMMENT |
| MEDIUM | .github/workflows/changelog-sync.yml | 122 | # independent -- a harness failure must not delay the evals backstop a day) | COMMENT |
| MEDIUM | site/test/changelog/run.test.ts | 174 | body: '## New Contributors\n* @newdev made their first contribution in https://github.com/strands-agents/harness | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/tests_integ/bidi/context.py | 186 | # Check if we have minimum events | COMMENT |
| LOW | strands-py/tests_integ/bidi/test_bidirectional_agent.py | 134 | # Check if provider is available | COMMENT |
| LOW | strands-py/tests_integ/steering/test_model_steering.py | 170 | # Check if the required tool was used in this message | COMMENT |
| LOW | …rands/experimental/bidi/models/test_openai_realtime.py | 226 | # Check if any session update has tools | COMMENT |
| LOW | strands-py/tests/strands/event_loop/test_event_loop.py | 443 | # Set tool_handler to None for this test | COMMENT |
| LOW⚡ | strands-py/tests/strands/models/test_litellm.py | 584 | # Check if stream parameter is being set | COMMENT |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 247 | # Check if the transcription object has text content | COMMENT |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 265 | # Check if the transcription object has text content | COMMENT |
| LOW | …py/src/strands/experimental/bidi/models/gemini_live.py | 301 | # Check if part has text attribute and it's not empty | COMMENT |
| LOW | strands-py/src/strands/tools/decorator.py | 255 | # Check if we're starting the Args section | COMMENT |
| LOW | strands-py/src/strands/tools/decorator.py | 260 | # Check if we're starting a new section (not Args) | COMMENT |
| LOW | strands-py/src/strands/tools/loader.py | 166 | # Check if the module attribute is a DecoratedFunctiontool | COMMENT |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 75 | # Check if required props are empty, if so, raise an error because it means there is a circular reference | COMMENT |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 104 | # Check if this is an Optional[...] case (one null, one type) | COMMENT |
| LOW | …nds/tools/structured_output/structured_output_utils.py | 376 | # Check if this is a BaseModel subclass | COMMENT |
| LOW | strands-py/src/strands/multiagent/swarm.py | 821 | # Check if handoff requested during execution | COMMENT |
| LOW | strands-py/src/strands/multiagent/graph.py | 849 | # Check if it's an exception - fail fast | COMMENT |
| LOW | strands-py/src/strands/multiagent/graph.py | 962 | # Check if at least one incoming edge condition is satisfied | COMMENT |
| LOW | strands-py/src/strands/multiagent/a2a/executor.py | 304 | # Check if agent returned with interrupts (input_required) | COMMENT |
| LOW | strands-py/src/strands/event_loop/event_loop.py | 597 | # Check if hooks want to retry the model call | COMMENT |
| LOW | strands-py/src/strands/event_loop/event_loop.py | 625 | # Check if hooks want to retry the model call | COMMENT |
| LOW | strands-py/src/strands/event_loop/_retry.py | 135 | # Check if we have an exception and reset state if no exception | COMMENT |
| LOW | strands-py/src/strands/event_loop/_retry.py | 146 | # Check if we've exceeded max attempts | COMMENT |
| LOW⚡ | strands-py/src/strands/agent/agent.py | 1442 | # Check if all item in input list are dictionaries | COMMENT |
| LOW⚡ | strands-py/src/strands/agent/agent.py | 1444 | # Check if all items are messages | COMMENT |
| LOW⚡ | strands-py/src/strands/agent/agent.py | 1449 | # Check if all items are content blocks | COMMENT |
| LOW⚡ | strands-py/src/strands/agent/agent.py | 1455 | # Check if all items are interrupt responses | COMMENT |
| LOW | strands-py/src/strands/agent/agent.py | 1420 | # Check if the latest message is toolUse | COMMENT |
| LOW | …rsation_manager/sliding_window_conversation_manager.py | 106 | # Check if per_turn is enabled | COMMENT |
| LOW | …/agent/conversation_manager/compression/pin_message.py | 44 | # Check if adjacent partner shares a toolUseId and is pinned | COMMENT |
| LOW | strands-py/src/strands/models/openai_responses.py | 435 | # Check if stopped due to max_output_tokens | COMMENT |
| LOW | strands-py/src/strands/models/gemini.py | 649 | # Check if the tool has function_declarations attribute and it's not empty | COMMENT |
| LOW⚡ | strands-py/src/strands/models/bedrock.py | 1209 | # Check if input is a dictionary | COMMENT |
| LOW⚡ | strands-py/src/strands/models/bedrock.py | 1211 | # Check if current dictionary has action: BLOCKED and detected: true | COMMENT |
| LOW | strands-py/src/strands/models/bedrock.py | 378 | # Check if tool_choice is forcing tool use ("any" or specific "tool") | COMMENT |
| LOW | strands-py/src/strands/hooks/_type_inference.py | 60 | # Check if it's a Union type (Union[A, B] or A | B) | COMMENT |
| LOW | strands-py/src/strands/telemetry/metrics.py | 521 | # Check if this trace contains tool info with toolUseId | COMMENT |
| LOW | strands-py/src/strands/telemetry/tracer.py | 369 | # Check if the message contains a tool result | COMMENT |
| LOW | strands-py/src/strands/session/s3_session_manager.py | 170 | # Check if session already exists | COMMENT |
| LOW | …s-py/src/strands/session/repository_session_manager.py | 119 | # Check if we have a previous state to compare against | COMMENT |
| LOW | site/docs/examples/python/mcp_calculator.py | 146 | # Check if the user wants to exit | STRING |
| LOW | …escript/deploy_to_bedrock_agentcore/create-iam-role.sh | 123 | # Check if role already exists | COMMENT |
| LOW | site/scripts/api-generation-python.py | 110 | # Check if any part of the module path starts with underscore | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | strands-py/tests_integ/test_multiagent_graph.py | 495 | CODE | |
| MEDIUM | strands-py/tests_integ/test_multiagent_graph.py | 827 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 414 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 504 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 519 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 533 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 601 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 621 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 639 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 700 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 720 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 738 | CODE | |
| MEDIUM | strands-py/tests/strands/middleware/test_registry.py | 764 | CODE | |
| MEDIUM | …s-py/tests/strands/middleware/test_agent_middleware.py | 271 | CODE | |
| MEDIUM | …sts/strands/middleware/test_execute_tool_middleware.py | 232 | CODE | |
| MEDIUM | …sts/strands/middleware/test_execute_tool_middleware.py | 889 | CODE | |
| MEDIUM | …ds-py/tests/strands/tools/mcp/test_mcp_client_tasks.py | 189 | CODE | |
| MEDIUM | strands-py/tests/strands/tools/executors/conftest.py | 69 | CODE | |
| MEDIUM | strands-py/tests/strands/memory/test_model_extractor.py | 189 | CODE | |
| MEDIUM | strands-py/tests/strands/memory/test_model_extractor.py | 169 | CODE | |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 243 | CODE | |
| MEDIUM | strands-py/tests/strands/agent/test_agent.py | 2605 | CODE | |
| MEDIUM | …strands/agent/test_summarizing_conversation_manager.py | 34 | CODE | |
| MEDIUM | strands-py/tests/strands/agent/test_agent_as_tool.py | 236 | CODE | |
| MEDIUM | strands-py/tests/strands/agent/test_a2a_agent.py | 526 | CODE | |
| MEDIUM | …nds/agent/conversation_manager/test_agentic_context.py | 45 | CODE | |
| MEDIUM | …agent/conversation_manager/test_context_compression.py | 45 | CODE | |
| MEDIUM | strands-py/tests/strands/models/test_ollama.py | 767 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | strands-ts/src/models/google/model.ts | 38 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | strands-ts/src/models/google/model.ts | 67 | * apiKey: 'your-api-key' | COMMENT |
| HIGH | strands-ts/src/models/google/model.ts | 72 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | strands-ts/src/models/google/model.ts | 83 | * const client = new GoogleGenAI({ apiKey: 'your-api-key' }) | COMMENT |
| HIGH | strands-ts/src/models/google/model.ts | 211 | * const provider = new GoogleModel({ apiKey: 'your-api-key' }) | COMMENT |
| HIGH | strands-ts/src/models/google/index.ts | 9 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | site/src/content/changelog/harness/typescript-v0.2.1.md | 30 | apiKey: 'your-api-key', | CODE |
| HIGH | site/src/content/changelog/harness/typescript-v0.2.1.md | 40 | const client = new GoogleGenAI({ apiKey: 'your-api-key' }) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/pre-push/run-checks.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .agents/skills/pre-push/run-checks.sh | 21 | # --all Fix + check every area regardless of what changed. | COMMENT |
| LOW | .agents/skills/pre-push/run-checks.sh | 261 | command -v npm >/dev/null 2>&1 && return 0 | COMMENT |
| LOW | test-infra/scripts/run-selective-ts.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | test-infra/scripts/run-selective-ts.sh | 101 | TS_SOURCE="$(echo "$CHANGED" | grep -E '^strands-ts/' || true)" | COMMENT |
| LOW | strands-py/tests/strands/memory/test_memory_manager.py | 1141 | flushed = asyncio.ensure_future(mm.flush()) | COMMENT |
| LOW | strands-py/tests/strands/models/test_sagemaker.py | 201 | assert isinstance(config, dict) | COMMENT |
| LOW | strands-py/tests/strands/models/test_sagemaker.py | 221 | # "role": "assistant", | COMMENT |
| LOW | strands-py/tests/strands/models/test_sagemaker.py | 241 | # assert request["ContentType"] == "application/json" | COMMENT |
| LOW | strands-py/src/strands/tools/decorator.py | 141 | # because of the complexities of Pydantic v2's immutable Core Schema. | COMMENT |
| LOW | strands-py/src/strands/models/llamaapi.py | 461 | # }, | COMMENT |
| LOW | strands-py/src/strands/sandbox/constants.py | 21 | #: Pattern for validating environment variable names: a leading letter or | COMMENT |
| LOW | .github/dependabot.yml | 1 | # Dependabot configuration. | COMMENT |
| LOW | .github/workflows/typescript-integration-test.yml | 141 | run: npm run build | COMMENT |
| LOW | .github/workflows/typescript-test-package-pack.yml | 1 | # End-to-end package install smoke test. | COMMENT |
| LOW | .github/workflows/bot-pr-review-gate.yml | 21 | steps: | COMMENT |
| LOW | .github/workflows/python-test-package-build.yml | 1 | # End-to-end wheel install smoke test. | COMMENT |
| LOW | site/docs/examples/python/memory_agent.py | 61 | # Load environment variables from .env file if it exists | COMMENT |
| LOW | site/docs/examples/deploy_to_eks/chart/values.yaml | 61 | # cpu: 100m | COMMENT |
| LOW | site/docs/examples/deploy_to_eks/chart/values.yaml | 81 | # labelSelector: | COMMENT |
| LOW | site/scripts/changelog/enrich.ts | 1 | // Enrich a parsed line from its linked PR: area-* labels, breaking flag, | COMMENT |
| LOW | site/scripts/changelog/parse-release-body.ts | 1 | // Parse the "New Contributors" section of a GitHub release body, and classify | COMMENT |
| LOW | site/src/config/navigation.yml | 1 | # Navigation configuration for Strands Agents SDK documentation | COMMENT |
| LOW | site/src/config/tags.yml | 1 | # Allowed tag vocabulary for user-guide pages. Drives the headless | COMMENT |
| LOW | site/src/config/tags.yml | 21 | # | COMMENT |
| LOW | …docs/user-guide/concepts/tools/vended-tools-imports.ts | 1 | // @ts-nocheck | COMMENT |
| LOW | …nt/docs/user-guide/concepts/tools/executors_imports.ts | 1 | // @ts-nocheck | COMMENT |
| LOW | …ide/concepts/agents/interventions/human-in-the-loop.py | 161 | # User must type "confirm" to approve (not just "y" or "yes") | COMMENT |
| LOW | …e/concepts/agents/interventions/cedar-authorization.py | 321 | # After editing agent.cedar on disk: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | strands-py/tests/strands/models/test_openai.py | 1281 | openai_client.beta.chat.completions.parse.assert_called_once_with( | CODE |
| CRITICAL | strands-py/tests/strands/models/test_openai.py | 1778 | mock_injected_client.beta.chat.completions.parse.assert_called_once() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 179 | assert result.structured_output.name == "John Doe" | CODE |
| LOW | …ds-py/tests_integ/test_structured_output_agent_loop.py | 290 | assert person_result.structured_output.name == "John Doe" | CODE |
| LOW⚡ | …ds-py/tests_integ/test_structured_output_agent_loop.py | 317 | assert result.structured_output.name == "John Doe" | CODE |
| LOW | …ls/structured_output/test_structured_output_context.py | 95 | test_result = SampleModel(name="John Doe", age=30, email="john@example.com") | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 2230 | {"image": {"format": "png", "source": {"bytes": b"fake_data"}}}, | CODE |
| LOW | strands-py/tests/strands/agent/test_agent.py | 201 | return User(name="Jane Doe", age=30, email="jane@doe.com") | STRING |
| LOW | strands-py/tests/strands/agent/test_agent_hooks.py | 102 | return User(name="Jane Doe", age=30) | CODE |
| LOW | strands-py/tests/strands/models/test_model.py | 323 | obj = {"x": "lorem ipsum " * 1000} | CODE |
| LOW | strands-ts/docs/TESTING.md | 226 | name: 'John Doe', | CODE |
| LOW | strands-ts/docs/TESTING.md | 247 | expect(user.name).toBe('John Doe') | CODE |
| LOW | strands-ts/src/a2a/__tests__/adapters.test.ts | 34 | const parts: Part[] = [{ kind: 'file', file: { bytes: encodeBase64('fake-data'), mimeType, name: 'test' } }] | CODE |
| LOW | site/src/content/docs/examples/structured_output.ts | 55 | console.log(`Name: ${person.name}`) // "Jane Doe" | CODE |
| LOW | site/src/content/docs/examples/structured_output.ts | 57 | console.log(`Street: ${person.address.street}`) // "123 Main St" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | AGENTS.md | 83 | - **Self-review the diff** end to end as if you were the reviewer, and confirm you can truthfully check every box in the | CODE |
| HIGH | .github/PULL_REQUEST_TEMPLATE.md | 30 | - [ ] I have reviewed and understand every line of code in this PR, including any generated by AI tools, and I can expla | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …s-py/tests_integ/interrupts/multiagent/test_session.py | 19 | CODE | |
| LOW | …ands-py/tests_integ/interrupts/multiagent/test_node.py | 18 | CODE | |
| LOW | …ands-py/tests_integ/interrupts/multiagent/test_node.py | 37 | CODE | |
| LOW | strands-py/tests/strands/memory/test_memory_manager.py | 65 | CODE | |
| LOW | strands-py/src/strands/experimental/bidi/agent/agent.py | 63 | CODE | |
| LOW | strands-py/src/strands/tools/mcp/mcp_client.py | 223 | CODE | |
| LOW | strands-py/src/strands/multiagent/swarm.py | 240 | CODE | |
| LOW | strands-py/src/strands/multiagent/graph.py | 497 | CODE | |
| LOW | strands-py/src/strands/multiagent/a2a/server.py | 32 | CODE | |
| LOW | strands-py/src/strands/agent/agent.py | 166 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .agents/skills/pre-push/run-checks.sh | 14 | # Usage: | COMMENT |
| LOW | site/docs/examples/python/weather_forecaster.py | 95 | # Example usage | STRING |
| LOW | site/docs/examples/python/meta_tooling.py | 113 | # Example usage | STRING |
| LOW | site/docs/examples/python/memory_agent.py | 110 | # Example usage | COMMENT |
| LOW⚡ | site/docs/examples/python/file_operations.py | 90 | # Example usage | STRING |
| LOW | …mples/python/multi_agent_example/teachers_assistant.py | 56 | # Example usage | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | site/test/html-to-markdown.test.ts | 103 | print("Hello")</code></pre> | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | site/docs/examples/python/weather_forecaster.py | 120 | # This is just for demonstration purposes | STRING |
| MEDIUM | site/docs/examples/python/knowledge_base_agent.py | 39 | print(f"Using DEFAULT_KB_ID '{DEFAULT_KB_ID}' for demonstration purposes only.") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | strands-py/src/strands/models/openai.py | 378 | # TODO: Handle caching blocks https://github.com/strands-agents/harness-sdk/issues/1140 | COMMENT |