"OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/
This report presents the forensic synthetic code analysis of HKUDS/OpenSpace, a Python project with 7,473 GitHub stars. SynthScan v2.0 examined 315,953 lines of code across 1000 source files, recording 6134 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 24.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6134 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | 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 |
|---|---|---|---|---|
| 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 |