"OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/
This report summarizes scanner evidence for HKUDS/OpenSpace, a Python project with 7,755 GitHub stars. SynthScan examined 315,953 lines of code across 1000 source files, recording 6376 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 28.2 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3182 finding(s).
Are imports declared and package/API names verified? 956 finding(s).
Are wrappers, guards, and repeated structures necessary? 4090 finding(s).
Which changes need focused human review? 6376 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 6376 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openspace/llm/client.py | 679 | # ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | openspace/llm/client.py | 695 | # ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | openspace/llm/types.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | openspace/llm/types.py | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | openspace/llm/errors.py | 650 | # ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | openspace/llm/errors.py | 654 | # ═══════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 66 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 68 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 299 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 301 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 360 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 362 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 480 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 482 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 575 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/sed_validation.py | 577 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 106 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 108 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 161 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 163 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 231 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 233 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 527 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/sed_validation.py | 529 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 693 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 695 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 705 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 707 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 712 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/readonly_commands.py | 714 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 41 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 43 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 116 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 119 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 234 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 236 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 609 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 611 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 638 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/readonly_commands.py | 640 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 277 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 279 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 398 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 403 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/shell_parser.py | 57 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/shell_parser.py | 59 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/shell_parser.py | 190 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | openspace/grounding/core/security/shell_parser.py | 195 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 570 | # ───────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM⚡ | openspace/grounding/core/security/shell_parser.py | 572 | # ───────────────────────────────────────────────────────────────────── | STRING |
| MEDIUM⚡ | …space/grounding/core/security/readonly_shared_flags.py | 783 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …space/grounding/core/security/readonly_shared_flags.py | 785 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …space/grounding/core/security/readonly_shared_flags.py | 1306 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …space/grounding/core/security/readonly_shared_flags.py | 1308 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 39 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 41 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 99 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 101 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 248 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …space/grounding/core/security/readonly_shared_flags.py | 250 | # ───────────────────────────────────────────────────────────────────── | COMMENT |
| 504 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | openspace/application.py | 693 | def _is_bridge_dispatch_suppressed(self) -> bool: | CODE |
| LOW | openspace/application.py | 37 | def _configure_logging_from_config(config: "OpenSpaceConfig") -> None: | CODE |
| LOW | openspace/application.py | 55 | def _format_manual_dream_result(result: Any) -> str: | CODE |
| LOW | openspace/application.py | 71 | def _format_manual_dream_skip(reason: str | None) -> str: | CODE |
| LOW | openspace/application.py | 85 | def _format_manual_summary_result(result: Any) -> str: | CODE |
| LOW | openspace/application.py | 95 | def _format_manual_summary_skip(reason: str | None) -> str: | CODE |
| LOW | openspace/application.py | 676 | async def background_all_foreground_tasks(self) -> list[str]: | CODE |
| LOW | openspace/application.py | 1192 | def _get_sandbox_runtime_status(self) -> Dict[str, Any] | None: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 222 | def notebook_cells_to_content_blocks(cells: list[dict[str, Any]]) -> list[dict[str, Any]]: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 252 | def _cell_content_to_text_block(cell: dict[str, Any]) -> dict[str, Any]: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 461 | def _read_state_timestamp_is_stale(path: str, entry: Any) -> bool: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 473 | def _update_notebook_read_state(context: Any | None, path: str, content: str) -> None: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 523 | def _format_tool_result_content(data: Mapping[str, Any]) -> str: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 597 | async def pre_permission_validate_input( | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 604 | async def post_permission_validate_input( | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 662 | def _validate_input_without_io( | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 686 | def _parse_notebook_for_validation(content: str) -> Mapping[str, Any] | None: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 97 | def _default_notification_target(context: Any = None) -> NotificationTarget: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 117 | def _create_parameters_schema() -> dict[str, Any]: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 155 | def _delete_parameters_schema() -> dict[str, Any]: | CODE |
| LOW | openspace/tools/memory_tools.py | 700 | def _label_for_instruction_memory(source: str, path: Path, cwd: Path) -> str: | CODE |
| LOW | openspace/tools/memory_tools.py | 710 | def _description_for_instruction_memory(source: str, path: Path, cwd: Path) -> str: | CODE |
| LOW | openspace/tools/memory_tools.py | 746 | def _safe_filename_from_title(title: str) -> str: | CODE |
| LOW⚡ | openspace/tools/memory_tools.py | 896 | def _clear_prompt_section_cache() -> None: | CODE |
| LOW⚡ | openspace/tools/memory_tools.py | 907 | def _is_auto_memory_internal_path(absolute_path: str) -> bool: | CODE |
| LOW | openspace/tools/memory_tools.py | 931 | def _register_auto_memory_internal_path_predicates() -> None: | CODE |
| LOW | openspace/tools/ask_user_tool.py | 151 | def get_question_preview_format() -> str | None: | STRING |
| LOW | openspace/tools/ask_user_tool.py | 219 | def validate_questions_payload(input_data: Mapping[str, Any]) -> str | None: | CODE |
| LOW | openspace/tools/ask_user_tool.py | 496 | def is_user_interaction_complete(self, input_data: Mapping[str, Any]) -> bool: | CODE |
| LOW | openspace/tools/task_tools.py | 276 | def _task_output_result_to_dict(result: TaskOutputResult) -> dict[str, Any]: | CODE |
| LOW | openspace/tools/plan_mode_tools.py | 202 | def is_user_interaction_complete(self, input_data: Mapping[str, Any]) -> bool: | CODE |
| LOW | openspace/tools/config_tool.py | 68 | def _validate_non_empty_string(value: Any, setting: str) -> tuple[bool, str | None]: | CODE |
| LOW | openspace/tools/config_tool.py | 558 | def _format_model_visible_result(data: Mapping[str, Any]) -> str: | STRING |
| LOW | openspace/tools/sleep_tool.py | 39 | def normalize_sleep_duration_ms(input_data: Mapping[str, Any]) -> tuple[int | None, str | None]: | CODE |
| LOW | openspace/tools/web_search_tool.py | 199 | def make_output_from_search_response( | STRING |
| LOW | openspace/tools/web_search_tool.py | 260 | def format_search_output_for_model(output: WebSearchOutput) -> str: | STRING |
| LOW | openspace/tools/web_search_tool.py | 342 | def build_permission_suggestions() -> tuple[AddRulesUpdate, ...]: | STRING |
| LOW | openspace/tools/web_search_tool.py | 781 | def get_default_provider_names() -> tuple[str, ...]: | STRING |
| LOW | openspace/tools/todo_tool.py | 506 | def _verification_nudge_needed( | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 401 | async def get_with_permitted_redirects( | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 664 | def make_secondary_model_prompt(markdown_content: str, prompt: str, is_preapproved_domain: bool) -> str: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 727 | def web_fetch_tool_input_to_permission_rule_content(input_: Mapping[str, Any]) -> str: | STRING |
| LOW | openspace/llm/client.py | 117 | def _is_official_deepseek_model(model: str) -> bool: | CODE |
| LOW | openspace/llm/client.py | 122 | def _supports_required_tool_choice( | CODE |
| LOW | openspace/llm/client.py | 136 | def _deepseek_thinking_mode_from_env() -> str | None: | CODE |
| LOW | openspace/llm/client.py | 193 | def _deepseek_thinking_disabled(params: Mapping[str, Any]) -> bool: | CODE |
| LOW | openspace/llm/client.py | 204 | def _disable_reasoning_on_required_tool_choice(model: str) -> bool: | CODE |
| LOW | openspace/llm/client.py | 218 | def _required_tool_choice_reasoning_disabled_params(model: str) -> dict[str, Any]: | CODE |
| LOW | openspace/llm/client.py | 241 | def _extract_jsonish_string_field( | CODE |
| LOW | openspace/llm/client.py | 274 | def _salvage_malformed_write_arguments( | CODE |
| LOW | openspace/llm/client.py | 398 | def _ensure_stream_usage_options(target: Dict[str, Any]) -> None: | CODE |
| LOW | openspace/llm/client.py | 411 | def _serializable_effort_value(value: Any) -> str | int | None: | CODE |
| LOW | openspace/llm/client.py | 421 | def _find_tool_for_api_normalization( | CODE |
| LOW | openspace/llm/client.py | 435 | def _normalize_tool_inputs_for_api( | CODE |
| LOW | openspace/llm/client.py | 612 | async def _prepare_tools_for_llmclient( | CODE |
| LOW | openspace/llm/client.py | 786 | def _stringify_stream_tool_arguments(value: Any) -> str: | CODE |
| LOW | openspace/llm/client.py | 796 | def _merge_stream_tool_call_deltas( | CODE |
| LOW | openspace/llm/client.py | 845 | def _stream_tool_call_objects( | CODE |
| LOW | openspace/llm/client.py | 881 | async def _consume_streaming_completion( | CODE |
| LOW | openspace/llm/client.py | 972 | def _merge_consecutive_system_messages(messages: List[Dict]) -> List[Dict]: | CODE |
| 1736 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | openspace/grounding/backends/gui/anthropic_client.py | 120 | # Step 1: LLM coordinates (display_size) -> Physical pixels (screen_size) | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/anthropic_client.py | 121 | # Step 2: Physical pixels -> PyAutoGUI logical pixels (pyautogui_size) | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/tool.py | 173 | # Step 2: Plan next action using LLM | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 160 | # Step 1: Observe current state | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 245 | # Step 3: Execute the planned action | STRING |
| LOW⚡ | openspace/services/conversation/messages.py | 1440 | # Step 4: Locally clear old thinking blocks (OpenSpace API context_management equivalent) | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1446 | # Step 5: Drop orphaned thinking-only assistant messages | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1449 | # Step 6: Filter whitespace-only assistant messages | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1452 | # Step 7: Ensure non-empty assistant content | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1455 | # Step 8: Ensure tool_result pairing | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1458 | # Step 9: Merge consecutive same-role messages | COMMENT |
| LOW⚡ | examples/my-daily-monitor/server/routes/office.ts | 174 | // Step 1: Get access token | COMMENT |
| LOW⚡ | examples/my-daily-monitor/server/routes/office.ts | 177 | // Step 2: Fetch recent documents | COMMENT |
| LOW⚡ | …-daily-monitor/skills/idempotent-file-replace/SKILL.md | 117 | # Step 1: read | STRING |
| LOW⚡ | …-daily-monitor/skills/idempotent-file-replace/SKILL.md | 120 | # Step 2: compare | STRING |
| LOW⚡ | …-daily-monitor/skills/idempotent-file-replace/SKILL.md | 125 | # Step 3: write | STRING |
| LOW | …nitor/skills/large-file-write-via-temp-script/SKILL.md | 35 | # Step 1: Write the helper script to /tmp | COMMENT |
| LOW | …nitor/skills/large-file-write-via-temp-script/SKILL.md | 52 | # Step 2: Execute the helper | STRING |
| LOW | …nitor/skills/large-file-write-via-temp-script/SKILL.md | 67 | # Step 1: Base64-encode your content (done once, outside the target system) | COMMENT |
| LOW | …nitor/skills/large-file-write-via-temp-script/SKILL.md | 70 | # Step 2: Embed the base64 blob in the helper script | COMMENT |
| LOW | …daily-monitor/skills/skill-template-generator/SKILL.md | 70 | ## Step 1: Determine Skill Category | COMMENT |
| LOW | …daily-monitor/skills/skill-template-generator/SKILL.md | 85 | ## Step 2: Write the Description | COMMENT |
| LOW | …daily-monitor/skills/skill-template-generator/SKILL.md | 101 | ## Step 3: Write Actionable Instructions | COMMENT |
| LOW | …daily-monitor/skills/skill-template-generator/SKILL.md | 136 | ## Step 4: Add Dependency Hints | COMMENT |
| LOW | …daily-monitor/skills/skill-template-generator/SKILL.md | 151 | ## Step 5: Validate the Skill | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 16 | ## Step 1: Map the Directory Structure | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 37 | ## Step 2: Identify the Component Pattern | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 64 | ## Step 3: Identify the Service Layer Pattern | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 91 | ## Step 4: Identify the API Proxy Pattern | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 110 | ## Step 5: Identify the Styling System | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 125 | ## Step 6: Identify the Scheduling / Refresh Pattern | COMMENT |
| LOW | …aily-monitor/skills/codebase-pattern-analyzer/SKILL.md | 139 | ## Step 7: Synthesize Into Pattern Descriptions | COMMENT |
| LOW⚡ | …ily-monitor/skills/list-and-count-directories/SKILL.md | 19 | ### Step 1: Get Directory Contents | COMMENT |
| LOW⚡ | …ily-monitor/skills/list-and-count-directories/SKILL.md | 27 | ### Step 2: Identify Directories | COMMENT |
| LOW⚡ | …ily-monitor/skills/list-and-count-directories/SKILL.md | 35 | ### Step 3: Exclude Hidden and System Entries | COMMENT |
| LOW⚡ | …ily-monitor/skills/list-and-count-directories/SKILL.md | 43 | ### Step 4: Create Enumerated List | COMMENT |
| LOW | …ily-monitor/skills/list-and-count-directories/SKILL.md | 54 | ### Step 5: Provide Total Count | COMMENT |
| LOW⚡ | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 421 | // Step 1: Select relevant tools | COMMENT |
| LOW⚡ | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 428 | // Step 2: Execute selected tools in parallel | COMMENT |
| LOW | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 463 | // Step 3: Call LLM | COMMENT |
| LOW | …rks/gdpval/skills/ffmpeg-encoder-check-4855c0/SKILL.md | 14 | ### Step 1: Probe Available Encoders | COMMENT |
| LOW | …rks/gdpval/skills/ffmpeg-encoder-check-4855c0/SKILL.md | 24 | ### Step 2: Choose Encoder Based on Availability | COMMENT |
| LOW | …rks/gdpval/skills/ffmpeg-encoder-check-4855c0/SKILL.md | 36 | ### Step 3: Verify Before Execution | COMMENT |
| LOW⚡ | benchmarks/gdpval/skills/code-exec-fallback/SKILL.md | 22 | ### Step 1: Write the Python Script | COMMENT |
| LOW⚡ | benchmarks/gdpval/skills/code-exec-fallback/SKILL.md | 30 | ### Step 2: Execute via Shell | COMMENT |
| LOW⚡ | benchmarks/gdpval/skills/code-exec-fallback/SKILL.md | 38 | ### Step 3: Handle Output | COMMENT |
| LOW | …/gdpval/skills/sandbox-fallback-python-e5d7ae/SKILL.md | 43 | # Step 1: Write the script to a temporary file | STRING |
| LOW | …/gdpval/skills/sandbox-fallback-python-e5d7ae/SKILL.md | 54 | # Step 2: Execute the script | STRING |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 19 | ### Step 1: Verify Pandoc Installation | COMMENT |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 29 | ### Step 2: Check Available PDF Engines | COMMENT |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 47 | ### Step 3: Attempt Conversion with Explicit Engine | COMMENT |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 61 | ### Step 4: Capture Full stderr Output | COMMENT |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 74 | ### Step 5: Install Missing Dependencies (if needed) | COMMENT |
| LOW | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 89 | ### Step 6: Fallback Strategies | COMMENT |
| LOW⚡ | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 110 | # Step 1: Verify pandoc | COMMENT |
| LOW⚡ | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 114 | # Step 2: Check engines | COMMENT |
| LOW⚡ | …rks/gdpval/skills/pandoc-pdf-error-resolution/SKILL.md | 124 | # Step 3: Try conversion with xelatex | COMMENT |
| LOW | …arks/gdpval/skills/sandbox-fallback-execution/SKILL.md | 20 | ### Step 1: Detect Sandbox Failure | COMMENT |
| LOW | …arks/gdpval/skills/sandbox-fallback-execution/SKILL.md | 28 | ### Step 2: Install Required Dependencies (If Needed) | COMMENT |
| LOW | …arks/gdpval/skills/sandbox-fallback-execution/SKILL.md | 41 | ### Step 3: Execute Python via Heredoc | COMMENT |
| 809 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | openspace/application.py | 702 | except Exception: | CODE |
| HIGH | openspace/application.py | 769 | except asyncio.CancelledError: | CODE |
| HIGH | openspace/application.py | 755 | except asyncio.CancelledError: | CODE |
| HIGH | openspace/platforms/recording.py | 165 | except Exception: | CODE |
| HIGH | openspace/tools/notebook_edit_tool.py | 63 | except RuntimeError: | CODE |
| HIGH | openspace/tools/lsp_tool.py | 158 | except Exception: | CODE |
| HIGH | openspace/tools/schedule_cron_tool.py | 48 | except Exception: | CODE |
| HIGH | openspace/tools/memory_tools.py | 100 | except ValueError: | CODE |
| HIGH | openspace/tools/memory_tools.py | 104 | except ValueError: | CODE |
| HIGH | openspace/tools/memory_tools.py | 248 | except FileExistsError: | CODE |
| HIGH | openspace/tools/memory_tools.py | 918 | except (OSError, ValueError): | CODE |
| HIGH | openspace/tools/memory_tools.py | 494 | except OSError: | CODE |
| HIGH | openspace/tools/brief_tool.py | 119 | except Exception: | CODE |
| HIGH | openspace/tools/config_tool.py | 548 | except Exception: | CODE |
| HIGH | openspace/tools/todo_tool.py | 501 | except Exception: | CODE |
| HIGH | openspace/tools/web_fetch_tool.py | 879 | except Exception: | CODE |
| HIGH | openspace/llm/client.py | 755 | except Exception: | CODE |
| HIGH | openspace/llm/thinking.py | 208 | except Exception: | CODE |
| HIGH | openspace/llm/thinking.py | 182 | except ValueError: | CODE |
| HIGH | openspace/llm/thinking.py | 220 | except ValueError: | CODE |
| HIGH | openspace/llm/errors.py | 333 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 361 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 391 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 429 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 442 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 469 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 516 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 759 | except Exception: | CODE |
| HIGH | openspace/llm/errors.py | 815 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 894 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 905 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 937 | except ImportError: | CODE |
| HIGH | openspace/llm/errors.py | 84 | except (ValueError, TypeError): | CODE |
| HIGH | openspace/llm/errors.py | 560 | except (ValueError, TypeError): | CODE |
| HIGH | openspace/llm/errors.py | 602 | except (ValueError, TypeError): | CODE |
| HIGH | openspace/grounding/core/search_tools.py | 845 | except Exception: | CODE |
| HIGH | openspace/grounding/core/transport/connectors/base.py | 89 | except Exception: | CODE |
| HIGH | …ce/grounding/core/transport/task_managers/async_ctx.py | 60 | except Exception: | CODE |
| HIGH | …enspace/grounding/core/transport/task_managers/base.py | 141 | except asyncio.CancelledError: | CODE |
| HIGH | …enspace/grounding/core/transport/task_managers/base.py | 93 | except (asyncio.CancelledError, asyncio.TimeoutError): | CODE |
| HIGH | openspace/grounding/core/quality/store.py | 190 | except Exception: | CODE |
| HIGH | openspace/grounding/core/quality/store.py | 257 | except Exception: | CODE |
| HIGH | openspace/grounding/core/security/shell_parser.py | 268 | except Exception: | CODE |
| HIGH | openspace/grounding/core/permissions/filesystem.py | 363 | except Exception: | CODE |
| HIGH | openspace/grounding/core/permissions/filesystem.py | 392 | except Exception: | CODE |
| HIGH | openspace/grounding/core/permissions/loader.py | 162 | except OSError: | CODE |
| HIGH | openspace/grounding/backends/shell/search_tools.py | 1258 | except ValueError: | CODE |
| HIGH | …space/grounding/backends/shell/shell_command_handle.py | 175 | except asyncio.CancelledError: | CODE |
| HIGH | …space/grounding/backends/shell/shell_command_handle.py | 184 | except asyncio.CancelledError: | CODE |
| HIGH | …space/grounding/backends/shell/shell_command_handle.py | 166 | except ProcessLookupError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 71 | except RuntimeError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1501 | except FileNotFoundError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1620 | except Exception: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1685 | except OSError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1949 | except FileNotFoundError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1547 | except Exception: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1585 | except OSError: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1666 | except (OSError, AttributeError): | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1523 | except Exception: | CODE |
| HIGH | openspace/grounding/backends/shell/file_tools.py | 1971 | except (OSError, AttributeError): | CODE |
| 182 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | openspace/application.py | 702 | except Exception: | CODE |
| LOW⚡ | openspace/application.py | 710 | except Exception: | CODE |
| LOW | openspace/application.py | 908 | except Exception: | CODE |
| LOW | openspace/application.py | 931 | except Exception: | CODE |
| LOW | openspace/application.py | 938 | except Exception as exc: | CODE |
| LOW | openspace/application.py | 1024 | except Exception as exc: | CODE |
| LOW | openspace/application.py | 1076 | except Exception: | CODE |
| LOW | openspace/application.py | 1086 | except Exception as exc: | CODE |
| LOW | openspace/application.py | 1128 | except Exception: | CODE |
| LOW | openspace/platforms/config.py | 35 | except Exception as e: | CODE |
| LOW | openspace/platforms/config.py | 54 | except Exception as e: | CODE |
| LOW | openspace/platforms/recording.py | 85 | except Exception as e: | CODE |
| LOW | openspace/platforms/recording.py | 108 | except Exception as e: | CODE |
| LOW | openspace/platforms/recording.py | 119 | except Exception as e: | CODE |
| LOW | openspace/platforms/recording.py | 165 | except Exception: | CODE |
| LOW | openspace/platforms/recording.py | 189 | except Exception as e: | CODE |
| LOW | openspace/platforms/system_info.py | 86 | except Exception as e: | CODE |
| LOW | openspace/platforms/system_info.py | 114 | except Exception as e: | CODE |
| LOW | openspace/platforms/system_info.py | 141 | except Exception as e: | CODE |
| LOW | openspace/platforms/screenshot.py | 113 | except Exception as e: | CODE |
| LOW | openspace/platforms/screenshot.py | 128 | except Exception as e: | CODE |
| LOW | openspace/platforms/screenshot.py | 156 | except Exception as e: | CODE |
| MEDIUM | openspace/tools/notebook_edit_tool.py | 54 | def _run() -> None: | CODE |
| LOW⚡ | openspace/tools/notebook_edit_tool.py | 35 | except Exception: | CODE |
| LOW⚡ | openspace/tools/notebook_edit_tool.py | 41 | except Exception: | CODE |
| LOW⚡ | openspace/tools/notebook_edit_tool.py | 49 | except Exception: | CODE |
| LOW⚡ | openspace/tools/notebook_edit_tool.py | 58 | except Exception: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 450 | except Exception: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 689 | except Exception: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 706 | except Exception: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 716 | except Exception: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 853 | except Exception as exc: | CODE |
| LOW | openspace/tools/lsp_tool.py | 142 | except Exception as exc: | CODE |
| LOW | openspace/tools/lsp_tool.py | 158 | except Exception: | CODE |
| LOW | openspace/tools/lsp_tool.py | 260 | except Exception: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 48 | except Exception: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 247 | except Exception as exc: | CODE |
| LOW⚡ | openspace/tools/memory_tools.py | 903 | except Exception: | CODE |
| LOW | openspace/tools/memory_tools.py | 947 | except Exception: | CODE |
| MEDIUM | openspace/tools/memory_tools.py | 896 | def _clear_prompt_section_cache() -> None: | CODE |
| MEDIUM | openspace/tools/memory_tools.py | 931 | def _register_auto_memory_internal_path_predicates() -> None: | CODE |
| LOW | openspace/tools/brief_tool.py | 119 | except Exception: | CODE |
| LOW | openspace/tools/config_tool.py | 509 | except Exception as exc: | STRING |
| LOW | openspace/tools/config_tool.py | 548 | except Exception: | STRING |
| LOW | openspace/tools/web_search_tool.py | 833 | except Exception as exc: | STRING |
| LOW | openspace/tools/todo_tool.py | 246 | except Exception: | STRING |
| LOW | openspace/tools/todo_tool.py | 501 | except Exception: | STRING |
| MEDIUM | openspace/tools/todo_tool.py | 241 | def is_todo_feature_enabled() -> bool: | CODE |
| LOW | openspace/tools/web_fetch_tool.py | 331 | except Exception: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 352 | except Exception: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 479 | except Exception as exc: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 734 | except Exception: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 879 | except Exception: | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 1007 | except Exception: | STRING |
| LOW | openspace/tools/team_tools.py | 73 | except Exception: | CODE |
| LOW | openspace/tools/team_tools.py | 348 | except Exception: | CODE |
| LOW | openspace/llm/client.py | 98 | except Exception: | CODE |
| LOW | openspace/llm/client.py | 755 | except Exception: | CODE |
| LOW | openspace/llm/client.py | 1132 | except Exception as e: | CODE |
| LOW | openspace/llm/client.py | 1923 | except Exception as exc: | CODE |
| 1114 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/__init__.py | 5 | CODE | |
| LOW | openspace/__init__.py | 5 | CODE | |
| LOW | openspace/__init__.py | 6 | CODE | |
| LOW | openspace/__init__.py | 7 | CODE | |
| LOW | openspace/__init__.py | 8 | CODE | |
| LOW | openspace/application.py | 1 | CODE | |
| LOW | openspace/application.py | 18 | CODE | |
| LOW | openspace/application.py | 13 | CODE | |
| LOW | openspace/platforms/__init__.py | 1 | CODE | |
| LOW | openspace/platforms/__init__.py | 1 | CODE | |
| LOW | openspace/platforms/__init__.py | 1 | CODE | |
| LOW | openspace/platforms/__init__.py | 2 | CODE | |
| LOW | openspace/platforms/__init__.py | 2 | CODE | |
| LOW | openspace/platforms/__init__.py | 3 | CODE | |
| LOW | openspace/platforms/__init__.py | 4 | CODE | |
| LOW | openspace/platforms/__init__.py | 4 | CODE | |
| LOW | openspace/tools/notebook_edit_tool.py | 7 | CODE | |
| LOW | openspace/tools/lsp_tool.py | 1 | CODE | |
| LOW | openspace/tools/schedule_cron_tool.py | 1 | CODE | |
| LOW | openspace/tools/memory_tools.py | 16 | CODE | |
| LOW | openspace/tools/memory_tools.py | 403 | CODE | |
| LOW | openspace/tools/brief_tool.py | 8 | CODE | |
| LOW | openspace/tools/task_tools.py | 8 | CODE | |
| LOW | openspace/tools/plan_mode_tools.py | 1 | CODE | |
| LOW | openspace/tools/config_tool.py | 8 | CODE | |
| LOW | openspace/tools/config_tool.py | 18 | CODE | |
| LOW | openspace/tools/config_tool.py | 18 | CODE | |
| LOW | openspace/tools/config_tool.py | 18 | CODE | |
| LOW | openspace/tools/sleep_tool.py | 3 | CODE | |
| LOW | openspace/tools/web_search_tool.py | 7 | CODE | |
| LOW | openspace/tools/todo_tool.py | 9 | CODE | |
| LOW | openspace/tools/web_fetch_tool.py | 8 | CODE | |
| LOW | openspace/tools/team_tools.py | 12 | CODE | |
| LOW | openspace/llm/__init__.py | 4 | CODE | |
| LOW | openspace/llm/__init__.py | 4 | CODE | |
| LOW | openspace/llm/__init__.py | 8 | CODE | |
| LOW | openspace/llm/__init__.py | 8 | CODE | |
| LOW | openspace/llm/__init__.py | 8 | CODE | |
| LOW | openspace/llm/__init__.py | 8 | CODE | |
| LOW | openspace/llm/__init__.py | 14 | CODE | |
| LOW | openspace/llm/__init__.py | 14 | CODE | |
| LOW | openspace/llm/__init__.py | 14 | CODE | |
| LOW | openspace/llm/__init__.py | 14 | CODE | |
| LOW | openspace/llm/types.py | 1 | CODE | |
| LOW | openspace/llm/effort.py | 12 | CODE | |
| LOW | openspace/llm/thinking.py | 10 | CODE | |
| LOW | openspace/llm/errors.py | 13 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 1 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 21 | CODE | |
| LOW | openspace/grounding/core/grounding_client.py | 7 | CODE | |
| LOW | openspace/grounding/core/tool_discovery.py | 1 | CODE | |
| LOW | openspace/grounding/core/tool_executor.py | 7 | CODE | |
| LOW | …nspace/grounding/core/transport/connectors/__init__.py | 1 | CODE | |
| LOW | …nspace/grounding/core/transport/connectors/__init__.py | 2 | CODE | |
| LOW | openspace/grounding/core/transport/connectors/base.py | 11 | CODE | |
| LOW | …ace/grounding/core/transport/task_managers/__init__.py | 1 | CODE | |
| LOW | …ace/grounding/core/transport/task_managers/__init__.py | 2 | CODE | |
| LOW | …ace/grounding/core/transport/task_managers/__init__.py | 3 | CODE | |
| LOW | …ace/grounding/core/transport/task_managers/__init__.py | 4 | CODE | |
| LOW | openspace/grounding/core/quality/__init__.py | 1 | CODE | |
| 872 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/application.py | 718 | CODE | |
| LOW | openspace/platforms/recording.py | 47 | CODE | |
| LOW | openspace/platforms/recording.py | 89 | CODE | |
| LOW | openspace/tools/notebook_edit_tool.py | 693 | CODE | |
| LOW | openspace/tools/schedule_cron_tool.py | 52 | CODE | |
| LOW | openspace/tools/ask_user_tool.py | 219 | CODE | |
| LOW | openspace/tools/config_tool.py | 442 | CODE | |
| LOW | openspace/tools/web_search_tool.py | 199 | CODE | |
| LOW | openspace/tools/web_fetch_tool.py | 499 | CODE | |
| LOW | openspace/tools/web_fetch_tool.py | 531 | CODE | |
| LOW | openspace/llm/client.py | 241 | CODE | |
| LOW | openspace/llm/client.py | 369 | CODE | |
| LOW | openspace/llm/client.py | 435 | CODE | |
| LOW | openspace/llm/client.py | 525 | CODE | |
| LOW | openspace/llm/client.py | 612 | CODE | |
| LOW | openspace/llm/client.py | 1074 | CODE | |
| LOW | openspace/llm/client.py | 1383 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 479 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 674 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 969 | CODE | |
| LOW | openspace/grounding/core/types.py | 118 | CODE | |
| LOW | openspace/grounding/core/grounding_client.py | 438 | CODE | |
| LOW | openspace/grounding/core/grounding_client.py | 833 | CODE | |
| LOW | …ce/grounding/core/transport/task_managers/async_ctx.py | 32 | CODE | |
| LOW | …ce/grounding/core/transport/task_managers/async_ctx.py | 69 | CODE | |
| LOW | openspace/grounding/core/quality/manager.py | 146 | CODE | |
| LOW | openspace/grounding/core/security/sed_validation.py | 71 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 102 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 201 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 310 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 500 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 112 | CODE | |
| LOW | openspace/grounding/core/security/shell_parser.py | 340 | CODE | |
| LOW | …space/grounding/core/security/readonly_shared_flags.py | 152 | CODE | |
| LOW | …space/grounding/core/security/readonly_shared_flags.py | 199 | CODE | |
| LOW | openspace/grounding/core/security/bash_classifier.py | 224 | CODE | |
| LOW | openspace/grounding/core/security/bash_classifier.py | 338 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 100 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 188 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 294 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 521 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 559 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 578 | CODE | |
| LOW | openspace/grounding/core/security/path_validation.py | 596 | CODE | |
| LOW | openspace/grounding/core/security/flag_validation.py | 70 | CODE | |
| LOW | openspace/grounding/core/permissions/filesystem.py | 521 | CODE | |
| LOW | openspace/grounding/core/permissions/filesystem.py | 695 | CODE | |
| LOW | openspace/grounding/core/permissions/engine.py | 300 | CODE | |
| LOW | openspace/grounding/core/permissions/loader.py | 924 | CODE | |
| LOW | openspace/grounding/core/permissions/loader.py | 990 | CODE | |
| LOW | …ace/grounding/core/permissions/bash_path_validation.py | 317 | CODE | |
| LOW | …ace/grounding/core/permissions/bash_path_validation.py | 613 | CODE | |
| LOW | …ace/grounding/core/permissions/bash_path_validation.py | 628 | CODE | |
| LOW | …enspace/grounding/core/permissions/bash_permissions.py | 488 | CODE | |
| LOW | …enspace/grounding/core/permissions/bash_permissions.py | 526 | CODE | |
| LOW | …enspace/grounding/core/permissions/bash_permissions.py | 723 | CODE | |
| LOW | openspace/grounding/core/permissions/snapshot.py | 55 | CODE | |
| LOW | openspace/grounding/core/tool/remote_tool.py | 41 | CODE | |
| LOW | openspace/grounding/backends/__init__.py | 3 | CODE | |
| LOW | openspace/grounding/backends/shell/search_tools.py | 536 | CODE | |
| 287 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/__init__.py | 12 | __all__ = [ | CODE |
| LOW⚡ | openspace/application.py | 1156 | def update_main_loop_model(self, model: str) -> None: | CODE |
| LOW⚡ | openspace/application.py | 1162 | def update_thinking_enabled(self, enabled: bool) -> None: | CODE |
| LOW⚡ | openspace/application.py | 1168 | def update_reasoning_effort(self, effort: str | None) -> None: | CODE |
| LOW | openspace/application.py | 657 | def set_tui_bridge(self, bridge: "TUIBridge") -> None: | CODE |
| LOW | openspace/platforms/__init__.py | 6 | __all__ = [ | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 473 | def _update_notebook_read_state(context: Any | None, path: str, content: str) -> None: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 563 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/notebook_edit_tool.py | 881 | __all__ = [ | CODE |
| LOW | openspace/tools/lsp_tool.py | 49 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/lsp_tool.py | 267 | __all__ = ["LSPTool", "LSP_TOOL_NAME"] | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 198 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/schedule_cron_tool.py | 416 | __all__ = [ | CODE |
| LOW | openspace/tools/memory_tools.py | 382 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/memory_tools.py | 536 | def _update_read_file_state(self, path: Path, content: str) -> None: | CODE |
| LOW | openspace/tools/memory_tools.py | 571 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/brief_tool.py | 88 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/brief_tool.py | 141 | __all__ = [ | CODE |
| LOW | openspace/tools/__init__.py | 56 | __all__ = [ | CODE |
| LOW | openspace/tools/ask_user_tool.py | 552 | __all__ = [ | CODE |
| LOW | openspace/tools/task_tools.py | 44 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/task_tools.py | 362 | __all__ = [ | CODE |
| LOW | openspace/tools/plan_mode_tools.py | 77 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/plan_mode_tools.py | 176 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/plan_mode_tools.py | 255 | __all__ = [ | CODE |
| LOW | openspace/tools/config_tool.py | 390 | def set_context(self, context: Any) -> None: | STRING |
| LOW | openspace/tools/config_tool.py | 535 | def set_value(config: SettingConfig, path: Sequence[str], value: Any, cwd: str) -> None: | STRING |
| LOW | openspace/tools/config_tool.py | 594 | __all__ = [ | STRING |
| LOW | openspace/tools/sleep_tool.py | 105 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/sleep_tool.py | 161 | __all__ = [ | CODE |
| LOW | openspace/tools/web_search_tool.py | 940 | __all__ = [ | STRING |
| LOW | openspace/tools/todo_tool.py | 395 | def set_context(self, context: Any) -> None: | STRING |
| LOW | openspace/tools/todo_tool.py | 526 | __all__ = [ | STRING |
| LOW | openspace/tools/web_fetch_tool.py | 1028 | __all__ = [ | STRING |
| LOW | openspace/tools/team_tools.py | 42 | def set_context(self, context: Any) -> None: | CODE |
| LOW | openspace/tools/team_tools.py | 49 | def _set_coordinator_enabled(self, enabled: bool) -> None: | CODE |
| LOW | openspace/tools/team_tools.py | 342 | def _set_context_value(context: Any, key: str, value: Any) -> None: | CODE |
| LOW | openspace/tools/team_tools.py | 374 | __all__ = [ | CODE |
| LOW | openspace/llm/client.py | 735 | def set_event_callback(self, callback: Optional[Callable[..., Any]]) -> None: | CODE |
| LOW | openspace/llm/__init__.py | 24 | __all__ = [ | CODE |
| LOW | openspace/llm/effort.py | 364 | __all__ = [ | CODE |
| LOW | openspace/llm/thinking.py | 367 | __all__ = [ | CODE |
| LOW | openspace/llm/errors.py | 20 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/search_tools.py | 337 | def _set_embedding(self, tool: BaseTool, embedding: np.ndarray) -> None: | CODE |
| LOW | openspace/grounding/core/grounding_client.py | 77 | def set_tool_executor(self, tool_executor: Optional[ToolExecutor]) -> None: | CODE |
| LOW | openspace/grounding/core/tool_discovery.py | 44 | def set_context(self, context: Any) -> None: | CODE |
| LOW | …nspace/grounding/core/transport/connectors/__init__.py | 4 | __all__ = [ | CODE |
| LOW | …ace/grounding/core/transport/task_managers/__init__.py | 6 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/quality/__init__.py | 14 | def set_quality_manager(manager: "ToolQualityManager") -> None: | CODE |
| LOW | openspace/grounding/core/quality/__init__.py | 20 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/sed_validation.py | 51 | __all__ = [ | CODE |
| LOW⚡ | openspace/grounding/core/security/readonly_commands.py | 721 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/shell_parser.py | 30 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/__init__.py | 12 | __all__ = [ | CODE |
| LOW | …space/grounding/core/security/readonly_shared_flags.py | 28 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/bash_injection.py | 34 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/bash_classifier.py | 65 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/path_validation.py | 25 | __all__ = [ | CODE |
| LOW⚡ | openspace/grounding/core/security/flag_validation.py | 16 | __all__ = [ | CODE |
| LOW | openspace/grounding/core/security/policies.py | 51 | def set_global_policy(self, policy: SecurityPolicy) -> None: | CODE |
| 175 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …nspace/local_server/platform_adapters/macos_adapter.py | 0 | get list of all running applications returns: application list | STRING |
| HIGH | …nspace/local_server/platform_adapters/linux_adapter.py | 0 | get list of all running applications returns: application list | STRING |
| HIGH | …pace/local_server/platform_adapters/windows_adapter.py | 0 | get list of all running applications returns: application list | STRING |
| HIGH | …nspace/local_server/platform_adapters/macos_adapter.py | 0 | set desktop wallpaper (gnome) args: image_path: image path returns: result dictionary | STRING |
| HIGH | …pace/local_server/platform_adapters/windows_adapter.py | 0 | set desktop wallpaper (gnome) args: image_path: image path returns: result dictionary | STRING |
| HIGH | …nspace/local_server/platform_adapters/linux_adapter.py | 0 | set desktop wallpaper (gnome) args: image_path: image path returns: result dictionary | STRING |
| HIGH | …ly-monitor/skills/write-special-chars-heredoc/SKILL.md | 0 | export function greet(name: string): string { const msg = `hello, ${name}! it's a great day.`; console.log(`greeting: ${ | STRING |
| HIGH | …y-monitor/skills/write-special-chars-readback/SKILL.md | 0 | export function greet(name: string): string { const msg = `hello, ${name}! it's a great day.`; console.log(`greeting: ${ | STRING |
| HIGH | …y-monitor/skills/write-special-chars-ts-check/SKILL.md | 0 | export function greet(name: string): string { const msg = `hello, ${name}! it's a great day.`; console.log(`greeting: ${ | STRING |
| HIGH | …ly-monitor/skills/write-special-chars-heredoc/SKILL.md | 0 | import react from 'react'; const app = () => ( <div classname={`container`}> <h1>it's working!</h1> </div> ); export def | STRING |
| HIGH | …y-monitor/skills/write-special-chars-readback/SKILL.md | 0 | import react from 'react'; const app = () => ( <div classname={`container`}> <h1>it's working!</h1> </div> ); export def | STRING |
| HIGH | …y-monitor/skills/write-special-chars-ts-check/SKILL.md | 0 | import react from 'react'; const app = () => ( <div classname={`container`}> <h1>it's working!</h1> </div> ); export def | STRING |
| HIGH | …ly-monitor/skills/write-special-chars-heredoc/SKILL.md | 0 | export const format = (val: number) => `value: ${val.tofixed(2)}`; | STRING |
| HIGH | …y-monitor/skills/write-special-chars-readback/SKILL.md | 0 | export const format = (val: number) => `value: ${val.tofixed(2)}`; | STRING |
| HIGH | …y-monitor/skills/write-special-chars-ts-check/SKILL.md | 0 | export const format = (val: number) => `value: ${val.tofixed(2)}`; | STRING |
| HIGH | …gdpval/skills/audio-track-production-enhanced/SKILL.md | 0 | calculate beat-aligned transition points for song sections. | STRING |
| HIGH | …nchmarks/gdpval/skills/audio-track-production/SKILL.md | 0 | calculate beat-aligned transition points for song sections. | STRING |
| HIGH | …ills/audio-track-production-enhanced-enhanced/SKILL.md | 0 | calculate beat-aligned transition points for song sections. | STRING |
| HIGH | …dio-track-production-enhanced-enhanced-b8f537/SKILL.md | 0 | calculate beat-aligned transition points for song sections. | STRING |
| HIGH | …o-track-production-enhanced-enhanced-enhanced/SKILL.md | 0 | calculate beat-aligned transition points for song sections. | STRING |
| HIGH | …gdpval/skills/audio-track-production-enhanced/SKILL.md | 0 | generate drum stem with rhythm patterns aligned to sections. | STRING |
| HIGH | …ills/audio-track-production-enhanced-enhanced/SKILL.md | 0 | generate drum stem with rhythm patterns aligned to sections. | STRING |
| HIGH | …dio-track-production-enhanced-enhanced-b8f537/SKILL.md | 0 | generate drum stem with rhythm patterns aligned to sections. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | openspace/grounding/backends/shell/bash_security.py | 56 | Only the *first* subcommand is inspected (``sleep 5 && check`` matches; | STRING |
| HIGH⚡ | openspace/grounding/backends/shell/bash_security.py | 57 | ``check && sleep 5`` does not). Float durations (``sleep 0.5``) and | STRING |
| HIGH | …/grounding/backends/shell/transport/local_connector.py | 143 | f' conda activate {conda_env} 2>/dev/null || true\n' | CODE |
| HIGH | openspace/tool_runtime/pipeline/execution.py | 312 | - type mismatch (``invalid_type`` + not undefined) | STRING |
| HIGH | openspace/protocol/codegen.py | 208 | " definition: SlashCommandDefinition | null;", | CODE |
| HIGH | openspace/services/tooling/context.py | 28 | offset: number | undefined, | STRING |
| HIGH | openspace/services/tooling/context.py | 29 | limit: number | undefined, | STRING |
| HIGH⚡ | tests/agents/turns/test_bench_checker_guard.py | 124 | 'ls -la /tests 2>/dev/null; echo "---"; ' | CODE |
| HIGH⚡ | tests/agents/turns/test_bench_checker_guard.py | 125 | 'find / -name "test_outputs.py" 2>/dev/null; ' | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 80 | if [ "${bytes:-0}" -le 6000 ] 2>/dev/null; then | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 86 | grep -nE '^[[:space:]]*(def test_|class Test|assert|REF[[:space:]]*=|EXPECTED|expected|subprocess|run_solution|verif | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1491 | command -v python3 >/dev/null 2>&1 && python3 - <<'PY' | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1509 | have_python312_exact && return 0 | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1529 | command -v curl >/dev/null 2>&1 && return 0 | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1532 | run_with_retries apt-get update && apt-get install -y curl ca-certificates | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1547 | command -v uv >/dev/null 2>&1 && return 0 | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1548 | if command -v curl >/dev/null 2>&1 || install_curl_if_missing; then | CODE |
| HIGH | benchmarks/terminal_bench/openspace_harbor_agent.py | 1565 | install_python312_with_package_manager || true | CODE |
| HIGH | benchmarks/gdpval/task_loader.py | 134 | " 1. pip install datasets && python -m benchmarks.gdpval (auto-downloads from HuggingFace)\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/platforms/recording.py | 63 | # Check if error is due to recording already in progress | COMMENT |
| LOW | openspace/grounding/core/grounding_client.py | 140 | # Check if quality tracking is enabled in config | COMMENT |
| LOW | …ce/grounding/core/transport/task_managers/async_ctx.py | 41 | # Check if this is a benign ExceptionGroup/TaskGroup error | COMMENT |
| LOW | …ce/grounding/core/transport/task_managers/async_ctx.py | 88 | # Check if it's a benign error | COMMENT |
| LOW | …enspace/grounding/core/transport/task_managers/base.py | 101 | # Check if this is a benign TaskGroup race condition | COMMENT |
| LOW | …enspace/grounding/core/transport/task_managers/base.py | 187 | # Check if this is a benign TaskGroup race condition | COMMENT |
| LOW | openspace/grounding/core/tool/base.py | 363 | # Check if _arun is overridden (not from BaseTool) | COMMENT |
| LOW | openspace/grounding/core/tool/base.py | 567 | # Check if tool has disabled outer recording (e.g., GUI agent with intermediate steps) | COMMENT |
| LOW⚡ | openspace/grounding/backends/shell/file_tools.py | 179 | # Read file in range | COMMENT |
| LOW | openspace/grounding/backends/mcp/provider.py | 139 | # Check if session already exists | COMMENT |
| LOW | openspace/grounding/backends/mcp/provider.py | 179 | # Check if session exists | COMMENT |
| LOW | openspace/grounding/backends/mcp/client.py | 207 | # Check if session already exists | COMMENT |
| LOW | openspace/grounding/backends/mcp/client.py | 356 | # Check if the session exists | COMMENT |
| LOW | openspace/grounding/backends/mcp/installer.py | 296 | # Check if uvx tool exists in the standard uv tools directory | COMMENT |
| LOW | openspace/grounding/backends/mcp/installer.py | 471 | # Check if it's a permission error | COMMENT |
| LOW | openspace/grounding/backends/mcp/installer.py | 587 | # Check if this server has already failed installation | COMMENT |
| LOW | openspace/grounding/backends/mcp/installer.py | 608 | # Check if the command is available | COMMENT |
| LOW | openspace/grounding/backends/mcp/installer.py | 618 | # Check if the package is installed | COMMENT |
| LOW | …ce/grounding/backends/mcp/transport/connectors/base.py | 203 | # Check if we have a client session | COMMENT |
| LOW | …ce/grounding/backends/mcp/transport/connectors/base.py | 208 | # Check if connection manager task is still running (if applicable) | COMMENT |
| LOW | …ce/grounding/backends/mcp/transport/connectors/base.py | 269 | # Check if the error might be due to connection loss | COMMENT |
| LOW | …ounding/backends/mcp/transport/connectors/websocket.py | 87 | # Check if this is a response to a pending request | COMMENT |
| LOW | …rounding/backends/mcp/transport/task_managers/stdio.py | 117 | # Check if we've collected enough to determine if it's harmless | COMMENT |
| LOW | …rounding/backends/mcp/transport/task_managers/stdio.py | 129 | # Check if this is the error line (last line of regular traceback) | COMMENT |
| LOW | …rounding/backends/mcp/transport/task_managers/stdio.py | 133 | # Check if this is a harmless cleanup error | COMMENT |
| LOW | …rounding/backends/mcp/transport/task_managers/stdio.py | 170 | # Check if this is a harmless log line | COMMENT |
| LOW | …rounding/backends/mcp/transport/task_managers/stdio.py | 196 | # Check if any pattern matches and it's related to shutdown | COMMENT |
| LOW | openspace/grounding/backends/gui/session.py | 74 | # Check if API key is available | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/tool.py | 629 | # Check if recording is active | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/tool.py | 639 | # Check if recorder is initialized | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/tool.py | 180 | # Check if task is complete | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 207 | # Check if task failed | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 234 | # Check if action is WAIT (screenshot observation, continue to next step) | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 317 | # Check if using Anthropic client | STRING |
| LOW | openspace/grounding/backends/gui/transport/connector.py | 157 | # Check if content contains '<' | COMMENT |
| LOW | openspace/config/loader.py | 82 | # Check if mcpServers already provided in merged custom configs | COMMENT |
| LOW | openspace/skill_engine/conversation_formatter.py | 176 | # Check if result contains a self-generated summary. | COMMENT |
| LOW | openspace/tool_runtime/pipeline/execution.py | 696 | # Check if ToolSearchTool is available | COMMENT |
| LOW | openspace/recording/utils.py | 12 | # Check if file exists first | COMMENT |
| LOW | openspace/agents/grounding_agent.py | 1075 | # Check if instruction mentions specific filenames | COMMENT |
| LOW | openspace/utils/logging.py | 134 | # Check if configuration is needed to avoid recursive calls. | COMMENT |
| LOW | openspace/utils/telemetry/telemetry.py | 197 | # Check if version file exists | COMMENT |
| LOW | openspace/local_server/run.sh | 11 | # Check if dependencies are installed | COMMENT |
| LOW⚡ | openspace/local_server/main.py | 758 | # Check if platform adapter supports recording | COMMENT |
| LOW⚡ | openspace/local_server/main.py | 765 | # Check if recording is already in progress | COMMENT |
| LOW | openspace/local_server/main.py | 451 | # Check if conda activation command is empty (conda not found) | COMMENT |
| LOW | openspace/local_server/main.py | 809 | # Check if recording is in progress | COMMENT |
| LOW | openspace/local_server/main.py | 837 | # Check if recording file exists | COMMENT |
| LOW | …nspace/local_server/platform_adapters/macos_adapter.py | 437 | # Check if libx264 encoder is available | STRING |
| LOW | …nspace/local_server/platform_adapters/macos_adapter.py | 498 | # Check if process exited early | STRING |
| LOW | …nspace/local_server/platform_adapters/macos_adapter.py | 509 | # Check if it's a device error | STRING |
| LOW | openspace/prompts/grounding_agent_prompts.py | 596 | # Check if this is a benchmark scenario: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | openspace/llm/client.py | 1389 | Single-round LLM call — returns ModelResponse, never executes tools. Args: messages: Conversation h | STRING |
| HIGH | openspace/grounding/core/grounding_client.py | 735 | Intelligent tool retrieval: automatically decides whether to return all tools or trigger preselection. | STRING |
| HIGH | …enspace/grounding/core/transport/task_managers/base.py | 59 | Start the connection manager and establish a connection. Args: timeout: Optional timeout in seconds | STRING |
| HIGH | openspace/grounding/core/security/e2b_sandbox.py | 188 | Get the host URL for a specific port. Args: port: The port number to get the host for | STRING |
| HIGH | openspace/grounding/backends/mcp/config.py | 41 | Create a connector based on server configuration. Args: server_config: The server configuration section | STRING |
| HIGH | openspace/grounding/backends/mcp/provider.py | 120 | Create a new MCP session for a specific server. Args: session_config: Must contain 'server' | STRING |
| HIGH | openspace/grounding/backends/mcp/client.py | 194 | Create a session for the specified server with retry logic. Args: server_name: The name of the serv | STRING |
| HIGH | openspace/grounding/backends/mcp/client.py | 322 | Get an existing session. Args: server_name: The name of the server to get the session for. | STRING |
| HIGH | openspace/grounding/backends/mcp/installer.py | 544 | Ensure the dependencies of the MCP server are installed. This method checks if the dependencies are ins | STRING |
| HIGH | …ce/grounding/backends/mcp/transport/connectors/base.py | 241 | Call an MCP tool with automatic reconnection handling and retry logic. Args: name: The name of the | STRING |
| HIGH | openspace/grounding/backends/gui/tool.py | 555 | Direct action execution (bypass LLM planning). Args: action_type: Action type from | STRING |
| HIGH | openspace/grounding/backends/gui/transport/actions.py | 150 | Build pyautogui command from action type and parameters. Args: action_type: Type of action (e.g., | STRING |
| HIGH | openspace/grounding/backends/gui/transport/connector.py | 58 | Execute operation with retry logic. Args: operation_name: Name of operation for lo | STRING |
| HIGH | openspace/grounding/backends/gui/transport/connector.py | 260 | Execute a desktop action. This is the main method for action space execution. Args: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/tools/schedule_cron_tool.py | 251 | CODE | |
| LOW | openspace/llm/client.py | 1943 | CODE | |
| LOW | openspace/grounding/core/search_tools.py | 598 | CODE | |
| LOW | openspace/grounding/core/grounding_client.py | 637 | CODE | |
| LOW | openspace/grounding/core/grounding_client.py | 720 | CODE | |
| LOW | openspace/grounding/backends/shell/search_tools.py | 999 | CODE | |
| LOW | openspace/grounding/backends/mcp/config.py | 29 | CODE | |
| LOW | openspace/grounding/backends/mcp/client.py | 37 | CODE | |
| LOW | …ce/grounding/backends/mcp/transport/connectors/base.py | 329 | CODE | |
| LOW | …ce/grounding/backends/mcp/transport/connectors/base.py | 351 | CODE | |
| LOW | …ounding/backends/mcp/transport/connectors/websocket.py | 228 | CODE | |
| LOW | openspace/grounding/backends/gui/anthropic_client.py | 54 | CODE | |
| LOW | openspace/core/tui_bridge.py | 207 | CODE | |
| LOW | openspace/skill_engine/evidence/store.py | 1290 | CODE | |
| LOW | openspace/skill_engine/evidence/tool_adapter.py | 175 | CODE | |
| LOW | openspace/skill_engine/evolution/behavior_eval.py | 245 | CODE | |
| LOW | openspace/skill_engine/evolution/engine.py | 78 | CODE | |
| LOW | openspace/tool_runtime/direct_context.py | 18 | CODE | |
| LOW | openspace/tool_runtime/pipeline/execution.py | 915 | CODE | |
| LOW | openspace/recording/manager.py | 24 | CODE | |
| LOW | openspace/agents/grounding_agent.py | 32 | CODE | |
| LOW | openspace/agents/grounding_agent.py | 154 | CODE | |
| LOW | openspace/agents/grounding_agent.py | 845 | CODE | |
| LOW | openspace/agents/grounding_agent.py | 904 | CODE | |
| LOW | openspace/agents/grounding_agent.py | 933 | CODE | |
| LOW | openspace/agents/task_manager.py | 343 | CODE | |
| LOW | openspace/agents/task_manager.py | 433 | CODE | |
| LOW | openspace/agents/task_manager.py | 497 | CODE | |
| LOW | openspace/agents/task_manager.py | 555 | CODE | |
| LOW | openspace/agents/turns/message_builder.py | 72 | CODE | |
| LOW | openspace/agents/turns/message_builder.py | 125 | CODE | |
| LOW | openspace/agents/turns/message_builder.py | 167 | CODE | |
| LOW | openspace/utils/logging.py | 150 | CODE | |
| LOW | openspace/cloud/auth_flow.py | 44 | CODE | |
| LOW | openspace/cloud/client.py | 66 | CODE | |
| LOW | openspace/cloud/client.py | 825 | CODE | |
| LOW | openspace/cloud/skill_classification.py | 112 | CODE | |
| LOW | openspace/cloud/skill_classification.py | 354 | CODE | |
| LOW | openspace/cloud/telemetry_payloads.py | 36 | CODE | |
| LOW | openspace/cloud/telemetry_payloads.py | 77 | CODE | |
| LOW | openspace/cloud/local_mapping.py | 291 | CODE | |
| LOW | openspace/cloud/local_mapping.py | 609 | CODE | |
| LOW | openspace/prompts/grounding_agent_prompts.py | 76 | CODE | |
| LOW | openspace/entrypoints/mcp/server.py | 853 | CODE | |
| LOW | openspace/entrypoints/mcp/server.py | 2466 | CODE | |
| LOW | openspace/entrypoints/dashboard/server.py | 1037 | CODE | |
| LOW | openspace/services/runtime_support/low_latency.py | 427 | CODE | |
| LOW | openspace/services/tooling/prompt.py | 39 | CODE | |
| LOW | openspace/services/memory/openspace_md.py | 758 | CODE | |
| LOW | openspace/services/memory/memdir.py | 288 | CODE | |
| LOW | openspace/services/scheduler/scheduler.py | 252 | CODE | |
| LOW | openspace/services/conversation/compact.py | 1137 | CODE | |
| LOW | openspace/services/conversation/side_query.py | 158 | CODE | |
| LOW | openspace/services/session/storage.py | 677 | CODE | |
| LOW | benchmarks/terminal_bench/openspace_agent.py | 97 | CODE | |
| LOW | benchmarks/terminal_bench/openspace_harbor_agent.py | 945 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | openspace/grounding/backends/gui/anthropic_client.py | 120 | # Step 1: LLM coordinates (display_size) -> Physical pixels (screen_size) | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/anthropic_client.py | 121 | # Step 2: Physical pixels -> PyAutoGUI logical pixels (pyautogui_size) | COMMENT |
| LOW⚡ | openspace/grounding/backends/gui/tool.py | 173 | # Step 2: Plan next action using LLM | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 160 | # Step 1: Observe current state | STRING |
| LOW | openspace/grounding/backends/gui/tool.py | 245 | # Step 3: Execute the planned action | STRING |
| LOW⚡ | openspace/services/conversation/messages.py | 1440 | # Step 4: Locally clear old thinking blocks (OpenSpace API context_management equivalent) | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1446 | # Step 5: Drop orphaned thinking-only assistant messages | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1449 | # Step 6: Filter whitespace-only assistant messages | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1452 | # Step 7: Ensure non-empty assistant content | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1455 | # Step 8: Ensure tool_result pairing | COMMENT |
| LOW⚡ | openspace/services/conversation/messages.py | 1458 | # Step 9: Merge consecutive same-role messages | COMMENT |
| LOW⚡ | examples/my-daily-monitor/server/routes/office.ts | 174 | // Step 1: Get access token | COMMENT |
| LOW⚡ | examples/my-daily-monitor/server/routes/office.ts | 177 | // Step 2: Fetch recent documents | COMMENT |
| LOW⚡ | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 421 | // Step 1: Select relevant tools | COMMENT |
| LOW⚡ | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 428 | // Step 2: Execute selected tools in parallel | COMMENT |
| LOW | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 463 | // Step 3: Call LLM | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 590 | │ ├── runtime/ # Runtime-owned services, state, session/workspace orchestration, execution li | CODE |
| MEDIUM | README.md | 601 | │ │ │ ├── search_tools.py # Smart Tool RAG (BM25 + embedding + LLM) | CODE |
| MEDIUM | README_zh.md | 514 | │ │ │ ├── search_tools.py # Smart Tool RAG(BM25 + embedding + LLM) | CODE |
| MEDIUM | openspace/skill_engine/evolver.py | 1624 | # content so the LLM doesn't hallucinate what's on disk. | COMMENT |
| MEDIUM⚡ | openspace/tool_runtime/orchestration.py | 152 | # Tool execution orchestration | COMMENT |
| MEDIUM | openspace/tool_runtime/pipeline/execution.py | 2056 | # Insert tool_result message before hook messages. The orchestration | COMMENT |
| MEDIUM | openspace/agents/agent_definitions.py | 69 | # MCP/hooks/settings fields parsed now, consumed by later multi-agent steps. | COMMENT |
| MEDIUM⚡ | openspace/services/conversation/compact.py | 748 | # Model context window helpers | COMMENT |
| MEDIUM | openspace/services/conversation/compact.py | 79 | # Default context window when model info unavailable | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …enspace/grounding/core/transport/task_managers/base.py | 77 | # Create a task to establish and maintain the connection | COMMENT |
| MEDIUM | openspace/grounding/backends/mcp/client.py | 243 | # Create the session with proper initialization parameters | COMMENT |
| MEDIUM | …grounding/backends/mcp/transport/connectors/sandbox.py | 189 | # Create the SSE connection URL | COMMENT |
| MEDIUM | …ce/grounding/backends/mcp/transport/connectors/base.py | 82 | # Create the client session | COMMENT |
| MEDIUM | …ounding/backends/mcp/transport/connectors/websocket.py | 173 | # Create a request ID | COMMENT |
| MEDIUM | …ounding/backends/mcp/transport/connectors/websocket.py | 176 | # Create a future to receive the response | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | requirements.txt | 21 | # # macOS-specific dependencies (local server) | COMMENT |
| LOW | openspace/llm/client.py | 681 | # | COMMENT |
| LOW | openspace/grounding/core/permissions/types.py | 81 | # Public mode tables intentionally exclude internal transient modes from | COMMENT |
| LOW | openspace/skill_engine/patch.py | 561 | raise PatchError(f"Path escapes skill directory: {rel_path}") | COMMENT |
| LOW | openspace/tool_runtime/pipeline/execution.py | 2461 | # | COMMENT |
| LOW | openspace/local_server/requirements.txt | 1 | # Local server dependencies (cross-platform) | COMMENT |
| LOW | openspace/local_server/requirements.txt | 21 | # PyGetWindow>=0.0.9; sys_platform == 'win32' | COMMENT |
| LOW | openspace/services/tooling/context.py | 221 | # Runtime entrypoints must populate this before tool execution. Missing | COMMENT |
| LOW | benchmarks/gdpval/__init__.py | 1 | # GDPVal Benchmark for OpenSpace | COMMENT |
| LOW | benchmarks/gdpval/requirements-eval.txt | 1 | # Optional: install for ClawWork-aligned evaluation (LLMEvaluator from livebench). | COMMENT |
| LOW | …hmarks/gdpval/skills/ssl-proxy-debug-workflow/SKILL.md | 161 | # 1. Check federal aggregators | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openspace/grounding/core/permissions/filesystem.py | 547 | # is a structural path used by the harness itself. Skip the | COMMENT |
| MEDIUM | openspace/grounding/core/permissions/filesystem.py | 1481 | # OpenSpace 7. Allow internal harness paths. | COMMENT |
| MEDIUM | openspace/grounding/core/permissions/filesystem.py | 1570 | # dangerous directory but the harness legitimately writes under it. | COMMENT |
| MEDIUM | openspace/utils/telemetry/telemetry.py | 261 | """Track comprehensive agent execution""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …les/my-daily-monitor/skills/finnhub-stock-api/SKILL.md | 12 | - **Auth**: Query param `token=YOUR_API_KEY` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …-daily-monitor/skills/personal-monitor-domain/SKILL.md | 295 | dailyBriefing?: string; // AI-generated summary | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …mples/my-daily-monitor/src/components/InsightsPanel.ts | 77 | print("/tmp/agent-output/report.pptx") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/core/tui_bridge.py | 325 | "placeholder": placeholder, | CODE |
| LOW | openspace/host_skills/skill-discovery/SKILL.md | 23 | cloud_auth_flow(action="bootstrap_agent_key", email="user@example.com", password="<secure-password>", agent_name="opensp | CODE |
| LOW | openspace/host_skills/delegate-task/SKILL.md | 32 | email="user@example.com", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openspace/entrypoints/mcp/server.py | 683 | async def execute_task( | CODE |