Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
This report summarizes scanner evidence for volcengine/OpenViking, a Python project with 39,609 GitHub stars. SynthScan examined 1,203,200 lines of code across 4053 source files, recording 18577 pattern matches distributed across 26 syntactic categories. The legacy adjusted pattern signal is 19.8 (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? 12484 finding(s).
Are imports declared and package/API names verified? 1943 finding(s).
Are wrappers, guards, and repeated structures necessary? 14763 finding(s).
Which changes need focused human review? 18577 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 18577 distinct pattern matches across 26 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 |
|---|---|---|---|---|
| LOW | setup.py | 42 | def _sanitize_native_build_env(env): | CODE |
| LOW | setup.py | 75 | def _get_windows_python_sabi_library() -> Path: | CODE |
| LOW | setup.py | 132 | def _copy_artifacts_to_build_lib(self, target_binary=None, target_lib=None): | CODE |
| LOW | setup.py | 149 | def _run_stage_with_artifact_checks( | CODE |
| LOW | setup.py | 159 | def _resolve_cargo_target_dir(self, cargo_project_dir, env): | CODE |
| LOW | setup.py | 200 | def _build_ov_cli_artifact_impl(self, ov_cli_dir, binary_name, ov_target_binary): | CODE |
| LOW | setup.py | 266 | def build_ragfs_python_artifact(self): | CODE |
| LOW | setup.py | 393 | def _should_require_ragfs_artifact(self) -> bool: | CODE |
| LOW | setup.py | 418 | def _clean_stale_engine_artifacts(self, ext_dir: Path): | CODE |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 104 | def _require_fixed_first_user(config: dict[str, Any]) -> bool: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 210 | def _train_tool_output_max_chars(strategy: dict[str, Any]) -> int: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 217 | def _train_skip_failed_sessions(strategy: dict[str, Any]) -> bool: | CODE |
| LOW⚡ | benchmark/tau2/llm/scripts/run_eval.py | 221 | def _manifest_openviking_identity(corpus_dir: Path) -> dict[str, str] | None: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 205 | def _compact_train_tool_output(content: Any, *, max_chars: int) -> str: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 216 | def _message_text_openviking_text(message: dict[str, Any]) -> tuple[str, str]: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 233 | def _message_texts_role_tool_blocks( | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 311 | def _load_fixed_first_user_fixture(path: Path) -> dict[str, str]: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 329 | def _append_incoming_user_context(message: Any, state: Any) -> None: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 342 | def _register_fixed_first_user(args: argparse.Namespace) -> str: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 902 | def create_openviking_memory_agent(tools, domain_policy, **kwargs): | CODE |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 251 | def _has_confirmation_aware_prompt(prompt_text: str) -> bool: | STRING |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 259 | def _ensure_confirmation_aware_prompt(repo: Path) -> bool: | STRING |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 42 | def generate_with_rate_limit_retry(*args: Any, **kwargs: Any) -> Any: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 290 | def _simulation_run_from_env_info(self): | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1117 | def _read_experience_loader_template_file(relative_path: str) -> str: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1121 | def _write_experience_loader_files( | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 1131 | async def _execute_required_experience_loader_read( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 91 | def _viking_is_tool_result_success(result: Any) -> bool: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 202 | def _make_search_experience_tool(): | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 272 | def _make_read_experience_tool(): | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 392 | async def _experience_search_summary(client: Any, item: Any, rank: int) -> dict[str, Any]: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1073 | async def _prepare_experience_loader_skill( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1295 | def _override_vikingbot_current_time_messages( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1428 | def _extract_experience_content(content: str) -> str | None: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1438 | def _case_memory_context_from_tools(tools_used: list[dict] | None) -> str: | CODE |
| LOW | benchmark/tau2/train/service_app.py | 104 | def _task_indices_from_filters(filters: dict[str, Any]) -> list[int] | None: | CODE |
| LOW | benchmark/tau2/train/case_loader.py | 133 | def _derive_split_tasks_from_tasks_json(tasks_path: Path) -> dict[str, list[str]]: | CODE |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 42 | def _is_communicate_with_user(tool_name: str) -> bool: | CODE |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 46 | def _communicate_text_from_tool_input(tool_input: dict[str, Any] | None) -> str: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 290 | def _resolve_llm_runtime_config( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 368 | def _register_native_memory_agent(executor: NativeTau2RolloutExecutor) -> str: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 756 | def _build_rollout_messages_from_simulation( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 800 | def _simulation_message_to_rollout_messages( | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 903 | def _tool_usage_from_simulation(simulation: Any) -> list[dict[str, Any]]: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 927 | def _memory_context_from_simulation(simulation: Any) -> str | None: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 89 | async def _list_session_commit_tasks( | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 113 | def _latest_active_commit_task(tasks: list[dict[str, Any]]) -> dict[str, Any] | None: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 120 | async def _recover_commit_after_transport_error( | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 411 | def extract_trace_id_from_error(error: str) -> str: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 907 | async def process_single_session_with_progress(**kwargs) -> Dict[str, Any]: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1180 | async def process_sample_with_limit(sample_id, display_id, sessions): | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_config.py | 82 | def _warn_deprecated_or_conflicting_fields(ov_data: dict) -> None: | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 110 | def _resolve_configured_identity_hint() -> tuple[str, str]: | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 301 | def _parse_health_identity_payload(payload: dict) -> tuple[str, str, str]: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 214 | def _resolve_openviking_api_key() -> tuple[str, str]: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 432 | def _ensure_server_and_user_key_ready( | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 454 | def _ensure_trusted_server_ready( | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 471 | def _resolve_ready_user_identity( | CODE |
| LOW⚡ | benchmark/locomo/vikingbot/progress_utils.py | 133 | def make_three_state_progress( | CODE |
| LOW | benchmark/locomo/openclaw/eval.py | 475 | def calculate_session_metrics_from_jsonl(jsonl_filename: str, agent_id: str = "main") -> dict: | CODE |
| 10403 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | .pr_agent.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 3 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 13 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | .pr_agent.toml | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 42 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 78 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 107 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .pr_agent.toml | 287 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 289 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 330 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | .pr_agent.toml | 332 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 337 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 339 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 487 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 489 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1336 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1338 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | benchmark/locomo/vikingbot/progress_utils.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | benchmark/locomo/vikingbot/progress_utils.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 248 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/vikingbot/progress_utils.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 128 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 130 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 208 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 210 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 595 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/import_to_ov.py | 597 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 89 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 250 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 252 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 352 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 354 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 747 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 749 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 931 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 933 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 1284 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openclaw/eval.py | 1286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 202 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 204 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 315 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 317 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 740 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/openviking/import_to_ov.py | 742 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | benchmark/locomo/claudecode/ingest.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| 965 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 178 | except Exception as exc: | CODE |
| LOW | setup.py | 245 | except Exception as exc: | CODE |
| LOW | setup.py | 377 | except Exception as exc: | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 673 | print("Error: --task cannot be combined with --count/--start/--end", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 676 | print("Error: --count cannot be combined with --start/--end", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 689 | print(f"Error: invalid range --start {start} --end {end}", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 692 | print(f"Error: --start {start} exceeds available tasks ({len(tasks)})", file=sys.stderr) | CODE |
| MEDIUM | benchmark/skillsbench/skill_bench_eval.py | 62 | def _onerror(func, p, exc_info): | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 68 | except Exception: | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 72 | except Exception: | CODE |
| LOW⚡ | benchmark/skillsbench/skill_bench_eval.py | 77 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 362 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 429 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 470 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 596 | except Exception: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 608 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 649 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 713 | except Exception as e: | CODE |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 854 | except Exception as e: | CODE |
| LOW | benchmark/tau2/vikingbot/scripts/run_eval_reward.sh | 52 | except Exception: | CODE |
| LOW | …/tau2/vikingbot/scripts/commit_trajectory_to_memory.py | 99 | except Exception as exc: | CODE |
| LOW | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 285 | except Exception: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 1115 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 459 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 47 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 75 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 95 | except Exception: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 118 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 131 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 298 | except Exception: | CODE |
| MEDIUM | benchmark/tau2/train/rollout_executor_vikingbot.py | 106 | def _vikingbot_imports() -> dict[str, Any]: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 977 | except Exception: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 986 | except Exception: | CODE |
| LOW⚡ | benchmark/tau2/train/rollout_executor_vikingbot.py | 991 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 262 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 323 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 372 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 406 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 422 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 672 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1006 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1096 | except Exception as exc: | CODE |
| LOW | benchmark/tau2/train/service_app.py | 42 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 159 | except Exception: | CODE |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 695 | except Exception as exc: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 289 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 700 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 720 | except Exception as e: | CODE |
| MEDIUM | benchmark/locomo/vikingbot/run_eval.py | 721 | print(f"Error processing QA item: {str(e)}", file=sys.stderr) | CODE |
| MEDIUM | benchmark/locomo/vikingbot/run_eval.py | 80 | def get_session_num(key): | CODE |
| MEDIUM | benchmark/locomo/vikingbot/import_to_ov.py | 1463 | print(f"Error: {e}", file=sys.stderr) | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 752 | except Exception as e: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 915 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1057 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1147 | except Exception: | CODE |
| LOW | benchmark/locomo/vikingbot/preflight_eval_config.py | 101 | except Exception as exc: | CODE |
| LOW | benchmark/locomo/vikingbot/judge.py | 78 | except Exception as e: | STRING |
| MEDIUM | benchmark/locomo/vikingbot/judge.py | 133 | print("Error: API token is required") | CODE |
| LOW | benchmark/locomo/vikingbot/judge.py | 205 | except Exception: | CODE |
| MEDIUM | benchmark/locomo/vikingbot/stat_judge_result.py | 35 | print(f"Error: File not found: {args.input}") | CODE |
| 2291 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/skillsbench/skill_bench_eval.py | 68 | except Exception: | CODE |
| HIGH | benchmark/skillsbench/skill_bench_eval.py | 72 | except Exception: | CODE |
| HIGH | benchmark/skillsbench/skill_bench_eval.py | 362 | except Exception: | CODE |
| HIGH | benchmark/skillsbench/skill_bench_eval.py | 596 | except Exception: | CODE |
| HIGH | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 285 | except Exception: | CODE |
| HIGH | benchmark/locomo/vikingbot/run_eval.py | 63 | except ValueError: | CODE |
| HIGH | benchmark/locomo/vikingbot/run_eval.py | 289 | except Exception: | CODE |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 164 | except _TRANSIENT_HTTP_ERRORS: | CODE |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 806 | except (ValueError, IndexError): | CODE |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 851 | except (ValueError, IndexError): | CODE |
| HIGH | benchmark/locomo/vikingbot/stat_judge_result.py | 89 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/vikingbot/stat_judge_result.py | 104 | except json.JSONDecodeError: | CODE |
| HIGH | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 128 | except Exception: | CODE |
| HIGH | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 120 | except Exception: | CODE |
| HIGH | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 157 | except Exception: | CODE |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 437 | except (ValueError, IndexError): | CODE |
| HIGH | benchmark/locomo/openclaw/stat_judge_result.py | 98 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/openclaw/stat_judge_result.py | 123 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/openclaw/stat_judge_result.py | 175 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/openclaw/eval.py | 211 | except ValueError: | CODE |
| HIGH | benchmark/locomo/openclaw/eval.py | 632 | except json.JSONDecodeError: | CODE |
| HIGH | benchmark/locomo/openviking/run_eval.py | 64 | except ValueError: | CODE |
| HIGH | benchmark/locomo/openviking/run_eval.py | 258 | except Exception: | CODE |
| HIGH | benchmark/locomo/openviking/run_eval.py | 628 | except Exception: | CODE |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 564 | except (ValueError, IndexError): | CODE |
| HIGH | benchmark/locomo/openviking/judge.py | 55 | except json.JSONDecodeError: | CODE |
| HIGH | benchmark/locomo/openviking/stat_judge_result.py | 109 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/openviking/stat_judge_result.py | 131 | except json.JSONDecodeError: | CODE |
| HIGH | benchmark/locomo/claudecode/ingest.py | 69 | except ValueError: | CODE |
| HIGH | benchmark/locomo/claudecode/ingest_e2e.py | 203 | except Exception: | CODE |
| HIGH | benchmark/locomo/claudecode/ingest_e2e.py | 210 | except Exception: | CODE |
| HIGH | benchmark/locomo/claudecode/ingest_e2e.py | 229 | except Exception: | CODE |
| HIGH | benchmark/locomo/claudecode/ingest_e2e.py | 222 | except Exception: | CODE |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 437 | except (ValueError, IndexError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 108 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 113 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 118 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 129 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 222 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 226 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/stat_judge_result.py | 230 | except (ValueError, TypeError): | CODE |
| HIGH | benchmark/locomo/claudecode/eval.py | 100 | except ValueError: | CODE |
| HIGH | benchmark/locomo/claudecode/eval.py | 182 | except Exception: | CODE |
| HIGH | benchmark/locomo/claudecode/eval.py | 85 | except ValueError: | CODE |
| HIGH | benchmark/locomo/mem0/ingest.py | 85 | except ValueError: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 335 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 369 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 681 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 109 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 164 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 193 | except ValueError: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 688 | except Exception: | CODE |
| HIGH | benchmark/locomo/mem0/eval.py | 226 | except ValueError: | CODE |
| HIGH | benchmark/locomo/supermemory/ingest.py | 87 | except ValueError: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 308 | except Exception: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 340 | except Exception: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 644 | except Exception: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 137 | except Exception: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 166 | except ValueError: | CODE |
| HIGH | benchmark/locomo/supermemory/eval.py | 651 | except Exception: | CODE |
| 377 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rk/tau2/vikingbot/scripts/provision_openviking_user.py | 4 | CODE | |
| LOW | …/tau2/vikingbot/scripts/commit_trajectory_to_memory.py | 12 | CODE | |
| LOW | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 11 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 2 | CODE | |
| LOW | …ark/tau2/llm/scripts/build_fixed_first_user_fixture.py | 4 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 2 | CODE | |
| LOW | benchmark/tau2/llm/scripts/tau2_common.py | 1 | CODE | |
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 3 | CODE | |
| LOW | benchmark/tau2/common/tau2_env/tau2_tool_provider.py | 4 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 4 | CODE | |
| LOW | benchmark/tau2/train/service_app.py | 6 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 4 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 8 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor.py | 19 | CODE | |
| LOW | benchmark/tau2/train/case_loader.py | 4 | CODE | |
| LOW | benchmark/tau2/train/_rollout_helpers.py | 12 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 4 | CODE | |
| LOW | benchmark/locomo/vikingbot/progress_utils.py | 8 | CODE | |
| LOW | benchmark/locomo/mem0/ingest.py | 26 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_ov.py | 5 | CODE | |
| LOW | benchmark/locomo/hermes/import_e2e.py | 5 | CODE | |
| LOW | benchmark/locomo/hermes/stat_judge_result.py | 1 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_native.py | 9 | CODE | |
| LOW | benchmark/locomo/hermes/eval.py | 5 | CODE | |
| LOW | benchmark/locomo/supermemory/ingest.py | 35 | CODE | |
| LOW | benchmark/memory_organization/run_autonomous_ab.py | 2 | CODE | |
| LOW | benchmark/memory_organization/grader.py | 1 | CODE | |
| LOW | benchmark/memory_organization/models.py | 1 | CODE | |
| LOW | benchmark/memory_organization/autonomous_cases.py | 1 | CODE | |
| LOW | benchmark/memory_organization/report_autonomous.py | 2 | CODE | |
| LOW | benchmark/memory_organization/autonomous_grader.py | 1 | CODE | |
| LOW | benchmark/memory_organization/run_ab.py | 2 | CODE | |
| LOW | benchmark/memory_organization/report.py | 2 | CODE | |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 10 | CODE | |
| LOW | benchmark/RAG/scripts/sample_dataset.py | 9 | CODE | |
| LOW | benchmark/RAG/scripts/sample_dataset.py | 14 | CODE | |
| LOW | benchmark/RAG/src/pipeline.py | 4 | CODE | |
| LOW | benchmark/RAG/src/pipeline.py | 5 | CODE | |
| LOW | benchmark/cuvs/summarize_collection_runs.py | 4 | CODE | |
| LOW | benchmark/cuvs/run_collection_benchmark.py | 10 | CODE | |
| LOW | benchmark/cuvs/run_index_benchmark.py | 9 | CODE | |
| LOW | benchmark/cuvs/summarize_service_runs.py | 4 | CODE | |
| LOW | benchmark/cuvs/run_service_concurrency_benchmark.py | 9 | CODE | |
| LOW | benchmark/cuvs/summarize_index_runs.py | 9 | CODE | |
| LOW | benchmark/aml/server.py | 4 | CODE | |
| LOW | benchmark/aml/eval/run_ecs.py | 4 | CODE | |
| LOW | benchmark/aml/eval/evaluate.py | 3 | CODE | |
| LOW | benchmark/aml/eval/prepare_personamem.py | 7 | CODE | |
| LOW | benchmark/aml/eval/run_public.py | 3 | CODE | |
| LOW | …grep/vikingdb_bm25/effectiveness/step1_add_resource.py | 4 | CODE | |
| LOW | …eval/grep/vikingdb_bm25/effectiveness/step2_quality.py | 20 | CODE | |
| LOW | …eval/grep/vikingdb_bm25/performance/step3_benchmark.py | 16 | CODE | |
| LOW | …l/grep/vikingdb_bm25/performance/step0_prepare_data.py | 31 | CODE | |
| LOW | …l/grep/vikingdb_bm25/performance/step1_add_resource.py | 4 | CODE | |
| 1626 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 200 | CODE | |
| LOW | setup.py | 266 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 88 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 196 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 442 | CODE | |
| LOW | benchmark/skillsbench/skill_bench_eval.py | 664 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_eval.py | 483 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 492 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 650 | CODE | |
| LOW | benchmark/tau2/llm/scripts/run_memory_v2_eval.py | 673 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 954 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_vikingbot.py | 1483 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 368 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 800 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 903 | CODE | |
| LOW | benchmark/tau2/train/rollout_executor_native.py | 410 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 68 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 411 | CODE | |
| LOW | benchmark/locomo/vikingbot/run_eval.py | 599 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 120 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 531 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 817 | CODE | |
| LOW | benchmark/locomo/vikingbot/import_to_ov.py | 1096 | CODE | |
| LOW | benchmark/locomo/vikingbot/stat_judge_result.py | 25 | CODE | |
| LOW | benchmark/locomo/vikingbot/preflight_eval_runtime.py | 134 | CODE | |
| LOW | benchmark/locomo/openclaw/import_to_ov.py | 243 | CODE | |
| LOW | benchmark/locomo/openclaw/stat_judge_result.py | 56 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 216 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 357 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 376 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 475 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 752 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 1042 | CODE | |
| LOW | benchmark/locomo/openclaw/eval.py | 1125 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 69 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 127 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 245 | CODE | |
| LOW | benchmark/locomo/openviking/import_to_ov.py | 84 | CODE | |
| LOW | benchmark/locomo/openviking/import_to_ov.py | 350 | CODE | |
| LOW | benchmark/locomo/openviking/stat_judge_result.py | 27 | CODE | |
| LOW | benchmark/locomo/claudecode/ingest_e2e.py | 119 | CODE | |
| LOW | benchmark/locomo/claudecode/import_to_ov.py | 243 | CODE | |
| LOW | benchmark/locomo/claudecode/stat_judge_result.py | 60 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 105 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 171 | CODE | |
| LOW | benchmark/locomo/mem0/ingest.py | 214 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 203 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 292 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 321 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 352 | CODE | |
| LOW | benchmark/locomo/mem0/eval.py | 542 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_ov.py | 296 | CODE | |
| LOW | benchmark/locomo/hermes/import_e2e.py | 473 | CODE | |
| LOW | benchmark/locomo/hermes/stat_judge_result.py | 315 | CODE | |
| LOW | benchmark/locomo/hermes/import_to_native.py | 211 | CODE | |
| LOW | benchmark/locomo/hermes/eval.py | 418 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 176 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 265 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 294 | CODE | |
| LOW | benchmark/locomo/supermemory/eval.py | 323 | CODE | |
| 755 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | openviking/parse/parsers/media/utils.py | 151 | Ubuntu/Debian: sudo apt-get install libcairo2 && pip install cairosvg | STRING |
| HIGH | openviking/parse/parsers/media/utils.py | 152 | macOS: brew install cairo && pip install cairosvg | STRING |
| HIGH | openviking/server/mcp_endpoint.py | 1863 | " cd <parent dir> && rm -f /tmp/<name>.zip && zip -r /tmp/<name>.zip <name> " | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 480 | rendered.push(`<ul>${{listItems.join('')}}</ul>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 488 | rendered.push(line); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 492 | listItems.push(`<li>${{line.replace(/^[-*]\s+/, '')}}</li>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 500 | rendered.push(`<p>${{line}}</p>`); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 538 | detailTitle.textContent = node.label || node.id; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 540 | detailContent.innerHTML = renderMarkdown(node.content_full || node.content_preview || '', node.uri || ''); | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 546 | const sourceUri = edge.from || edge.source || ''; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 547 | const targetUri = edge.to || edge.target || ''; | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 610 | if (activeMemoryTypes.size === 0 && activeLinkTypes.size === 0) {{ | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 615 | const visibleNodes = originalNodes.filter(node => activeMemoryTypes.size === 0 || activeMemoryTypes.has(node.memory_ty | CODE |
| HIGH⚡ | openviking/session/memory/graph_view.py | 617 | const visibleEdges = originalEdges.filter(edge => (activeLinkTypes.size === 0 || activeLinkTypes.has(edge.link_type)) | CODE |
| HIGH | openviking/session/memory/graph_view.py | 381 | values.size = Math.max(values.size || 18, 34); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 390 | values.size = Math.max(values.size || 12, 18); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 418 | if (!segment || segment === '.') {{ | CODE |
| HIGH | openviking/session/memory/graph_view.py | 427 | baseParts.push(segment); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 455 | codeBlocks.push(`<pre><code>${{code.trim()}}</code></pre>`); | CODE |
| HIGH | openviking/session/memory/graph_view.py | 653 | showTooltip(params.event.srcEvent.clientX, params.event.srcEvent.clientY, node.label || node.id, meta, desc, node.uri | CODE |
| HIGH | openviking/session/memory/graph_view.py | 660 | showTooltip(params.event.srcEvent.clientX, params.event.srcEvent.clientY, edge.description || edge.link_type, meta, ed | CODE |
| HIGH | tests/cli/conftest.py | 263 | ["bash", "-lc", "command -v openviking || command -v ov"], | CODE |
| HIGH | tests/gateway/conftest.py | 274 | stream = b'data: {"id":"r-1","choices":[{"delta":{"content":"hello"},"finish_reason":null}]}\r\n\r\ndata: {" | CODE |
| HIGH | tests/gateway/test_kernel.py | 288 | assert "`x < y && y > z`" in recall and '<memory uri="' in recall | CODE |
| HIGH | tests/api_test/conftest.py | 684 | if (!aFailed && bFailed) return 1; | STRING |
| HIGH | tests/api_test/conftest.py | 689 | if (row.nextElementSibling && row.nextElementSibling.classList.contains('extras-row')) { | STRING |
| HIGH | tests/api_test/resources/test_add_resource.py | 42 | f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/resources/test_wait_processed.py | 37 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_users.py | 19 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_users.py | 43 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_users.py | 58 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_regenerate_key.py | 16 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_regenerate_key.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_accounts.py | 19 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_accounts.py | 44 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_accounts.py | 60 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/admin/test_admin_role.py | 16 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/admin/test_admin_role.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_read_write.py | 39 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_get_abstract.py | 15 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_get_abstract.py | 34 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_mv.py | 29 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_mkdir_basic.py | 27 | f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/filesystem/test_fs_rm.py | 28 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_ls.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_tree_basic.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_get_overview.py | 51 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/filesystem/test_fs_stat.py | 25 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 38 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 58 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_observer.py | 78 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_system_status.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_system_wait.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH⚡ | tests/api_test/system/test_is_healthy.py | 18 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_list_sessions.py | 27 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_get_session.py | 27 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_create_session.py | 27 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_create_session.py | 53 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| HIGH | tests/api_test/sessions/test_delete_session.py | 27 | assert data.get("error") is None, f"Expected error to be null, got {data.get('error')}" | CODE |
| 35 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pr_agent.toml | 1 | # ============================================================================= | COMMENT |
| LOW | docker-compose.yml | 1 | version: "3.8" | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 21 | # (or when --reinstall is passed); later sources just activate + export. | COMMENT |
| LOW | benchmark/tau2/train/restart_vikingbot_train_eval.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | benchmark/locomo/vikingbot/run_full_eval.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_e2e.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_sdk_iso.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/locomo/claudecode/run_prompted.sh | 1 | #!/bin/bash | COMMENT |
| LOW | benchmark/RAG/config/config.yaml | 21 | # Number of concurrent worker threads for document ingestion | COMMENT |
| LOW | crates/ov_cli/src/openviking_assets.rs | 1 | //! OpenViking Assets manifest mode for `ov add-resource -m <manifest.yaml>`. | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 341 | Revoke { | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 501 | /// [Data] Add skills from a source (same as `skills add`) | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 701 | level_limit: i32, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 721 | #[arg(long, value_parser = |s: &str| serde_json::from_str::<serde_json::Value>(s))] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 861 | /// Tag update mode; clear does not require --tags | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1181 | }, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1461 | enum TaskCommands { | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1681 | /// Delete a session | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1801 | wait: bool, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1881 | source: bool, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1901 | #[arg(short = 'y', long = "yes")] | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 1961 | Resume { | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2001 | category: String, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2041 | Versions { | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2061 | /// Activate a version | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2081 | account_id: String, | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2121 | /// User ID to register | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2201 | /// User ID to remove | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2321 | /// User identifier to send as X-OpenViking-User | COMMENT |
| LOW | crates/ov_cli/src/main.rs | 2381 | actor_peer_id: Option<String>, | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 1281 | /// A context is always constructed (even when the dict is absent or lacks `account_id`), so the | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 2161 | } | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 2261 | /// node_limit: Maximum number of matches to return (default: None, no limit) | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 2321 | Ok(dict.into()) | COMMENT |
| LOW | crates/ragfs-python/src/lib.rs | 2381 | Ok(list.into()) | COMMENT |
| LOW | crates/ragfs-python/src/git.rs | 1 | //! PyO3 binding helpers for the Git version-control service. | COMMENT |
| LOW | crates/ragfs-python/src/git.rs | 21 | use ragfs::core::FileSystem; | COMMENT |
| LOW | crates/ragfs/include/openviking_cache_provider_v1.h | 1 | #ifndef OPENVIKING_CACHE_PROVIDER_V1_H | COMMENT |
| LOW | crates/ragfs/include/openviking_cache_provider_v1.h | 21 | COMMENT | |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 1 | //! Integration tests for the S3/TOS git storage backend (audit plan §A2). | COMMENT |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 21 | //! "s3": { | COMMENT |
| LOW | crates/ragfs/tests/git_s3_integration.rs | 361 | assert_eq!(from_s3, from_local, "s3 and local stored bytes must be identical"); | COMMENT |
| LOW | crates/ragfs/src/lib.rs | 1 | //! RAGFS - Rust implementation of AGFS (Aggregated File System) | COMMENT |
| LOW | crates/ragfs/src/lib.rs | 21 | //! | COMMENT |
| LOW | crates/ragfs/src/crypto/mod.rs | 1 | //! Envelope encryption primitives (mirrors the Python `openviking.crypto` layout byte-for-byte). | COMMENT |
| LOW | crates/ragfs/src/cache_runtime/error.rs | 1 | //! Errors returned by the unified cache runtime. | COMMENT |
| LOW | crates/ragfs/src/cache_runtime/error.rs | 21 | /// A provider returned malformed data. | COMMENT |
| LOW | crates/ragfs/src/cache_runtime/error.rs | 41 | UnsupportedOperation(String), | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 21 | /// Supported directory listing sort directions. | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 141 | pub matches: Vec<GrepMatch>, | COMMENT |
| LOW | crates/ragfs/src/core/types.rs | 641 | } | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 181 | format!("(?i){}", pattern) | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 201 | /// * `Error::AlreadyExists` - If a file already exists at the path | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 221 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 241 | /// * `size` - Number of bytes to read (0 means read all) | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 261 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 301 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 321 | /// | COMMENT |
| LOW | crates/ragfs/src/core/filesystem.rs | 341 | /// | COMMENT |
| 476 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/locomo/vikingbot/run_eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/openviking/run_eval.py | 0 | 从 sample 的 conversation 中提取最后一个有内容 session 的时间,返回 iso 格式日期 | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | openviking data import tool. import conversations from locomo json or plain text files into openviking memory. usage: # | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | parse txt test file into sessions. each session is a dict with: - messages: list of user message strings - evals: list o | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | load locomo json and optionally filter to one sample. | STRING |
| HIGH | benchmark/locomo/vikingbot/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | check if a specific session has already been successfully ingested. | STRING |
| HIGH | benchmark/locomo/vikingbot/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/openclaw/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/hermes/judge.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/RAG/src/core/judge_util.py | 0 | you are an expert grader that determines if answers to questions match a gold standard answer | STRING |
| HIGH | benchmark/locomo/vikingbot/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/openclaw/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/claudecode/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/hermes/judge.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/mem0/eval.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/supermemory/eval.py | 0 | your task is to label an answer to a question as 'correct' or 'wrong'. you will be given the following data: (1) a quest | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | build session messages for one locomo sample. returns list of dicts with keys: messages, meta. each dict represents a se | STRING |
| HIGH | benchmark/locomo/openclaw/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/claudecode/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/openviking/import_to_ov.py | 0 | save messages to openviking via openviking sdk client. returns token usage dict with embedding and vlm token counts. arg | STRING |
| HIGH | benchmark/locomo/openclaw/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/locomo/mem0/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/locomo/supermemory/eval.py | 0 | extract assistant text from /v1/responses api response. | STRING |
| HIGH | benchmark/RAG/src/adapters/qasper_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | benchmark/RAG/src/adapters/financebench_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | benchmark/RAG/src/adapters/locomo_adapter.py | 0 | {context_text} {missing_rule} --- {category_instruction} question: {qa.question} answer: | STRING |
| HIGH | openviking/server/routers/snapshot.py | 0 | return a unified text diff for one path between two snapshots. | STRING |
| HIGH | openviking/storage/viking_fs/_snapshot.py | 0 | return a unified text diff for one path between two snapshots. | STRING |
| HIGH | openviking/service/fs_service.py | 0 | return a unified text diff for one path between two snapshots. | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 0 | get dense embedding dimension returns: int: dense vector dimension | STRING |
| HIGH | openviking/models/embedder/jina_embedders.py | 0 | get dense embedding dimension returns: int: dense vector dimension | STRING |
| HIGH | openviking/models/embedder/base.py | 0 | get dense embedding dimension returns: int: dense vector dimension | STRING |
| HIGH | openviking/models/embedder/litellm_embedders.py | 0 | get dense embedding dimension returns: int: dense vector dimension | STRING |
| HIGH | openviking/models/embedder/base.py | 0 | get token usage returns: dict[str, any]: token usage dictionary | STRING |
| HIGH | openviking/models/vlm/base.py | 0 | get token usage returns: dict[str, any]: token usage dictionary | STRING |
| HIGH | openviking/models/rerank/base.py | 0 | get token usage returns: dict[str, any]: token usage dictionary | STRING |
| HIGH | openviking/models/rerank/litellm_rerank.py | 0 | batch rerank documents against a query. args: query: query text documents: list of document texts to rank returns: list | STRING |
| HIGH | openviking/models/rerank/openai_rerank.py | 0 | batch rerank documents against a query. args: query: query text documents: list of document texts to rank returns: list | STRING |
| HIGH | openviking/models/rerank/volcengine_rerank.py | 0 | batch rerank documents against a query. args: query: query text documents: list of document texts to rank returns: list | STRING |
| HIGH | openviking/storage/vectordb/project/http_project.py | 0 | get collection by name. args: collection_name: collection name returns: collection instance, or none if not exists | STRING |
| HIGH | …nviking/storage/vectordb/project/volcengine_project.py | 0 | get collection by name. args: collection_name: collection name returns: collection instance, or none if not exists | STRING |
| HIGH | openviking/storage/vectordb/project/local_project.py | 0 | get collection by name. args: collection_name: collection name returns: collection instance, or none if not exists | STRING |
| 28 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | crates/ov_cli/README.md | 85 | "api_key": "your-api-key", | CODE |
| HIGH | crates/ov_cli/README_CN.md | 85 | "api_key": "your-api-key", | CODE |
| HIGH | openviking/models/embedder/openai_embedders.py | 53 | ... api_key="your-api-key", | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 64 | ... api_key="your-api-key", | STRING |
| HIGH | openviking/models/embedder/minimax_embedders.py | 26 | ... api_key="your-api-key", | STRING |
| HIGH | tests/cli/test_doctor.py | 329 | "api_key": "{your-api-key}", | CODE |
| HIGH | docs/zh/faq/faq.md | 102 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/faq/faq.md | 110 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/02-volcengine-purchase-guide.md | 99 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/02-volcengine-purchase-guide.md | 108 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/03-deployment.md | 413 | --set-string config.embedding.dense.api_key="YOUR_API_KEY" \ | CODE |
| HIGH | docs/zh/guides/03-deployment.md | 414 | --set-string config.vlm.api_key="YOUR_API_KEY" | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 39 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 47 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 324 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 406 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 674 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 705 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 720 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 726 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 741 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 822 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/01-configuration.md | 1102 | "api_key": "your-api-key", | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 49 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 63 | --header "Authorization: Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 75 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/guides/06-mcp-integration.md | 97 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/agent-integrations/03-openclaw.md | 184 | openclaw config set plugins.entries.openviking.config.apiKey your-api-key | CODE |
| HIGH | docs/zh/agent-integrations/15-agent-plugins.md | 56 | "api_key": "your-api-key" | CODE |
| HIGH | docs/zh/agent-integrations/10-opencode.md | 137 | export OPENVIKING_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/zh/agent-integrations/06-mcp-clients.md | 15 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/agent-integrations/06-mcp-clients.md | 33 | --header "Authorization: Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/agent-integrations/06-mcp-clients.md | 65 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/zh/api/22-openviking-assets.md | 23 | X-API-Key: <your-api-key> | CODE |
| HIGH | docs/en/faq/faq.md | 104 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/faq/faq.md | 112 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/02-volcengine-purchase-guide.md | 97 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/en/guides/02-volcengine-purchase-guide.md | 106 | "api_key": "<your-api-key>", | CODE |
| HIGH | docs/en/guides/03-deployment.md | 418 | --set-string config.embedding.dense.api_key="YOUR_API_KEY" \ | CODE |
| HIGH | docs/en/guides/03-deployment.md | 419 | --set-string config.vlm.api_key="YOUR_API_KEY" | CODE |
| HIGH | docs/en/guides/01-configuration.md | 39 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 47 | "api_key" : "<your-api-key>", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 327 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 408 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 676 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 709 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 724 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 730 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 745 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 827 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/01-configuration.md | 1107 | "api_key": "your-api-key", | CODE |
| HIGH | docs/en/guides/06-mcp-integration.md | 49 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/en/guides/06-mcp-integration.md | 63 | --header "Authorization: Bearer your-api-key-here" | CODE |
| HIGH | docs/en/guides/06-mcp-integration.md | 75 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/en/guides/06-mcp-integration.md | 97 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/en/agent-integrations/03-openclaw.md | 184 | openclaw config set plugins.entries.openviking.config.apiKey your-api-key | CODE |
| HIGH | docs/en/agent-integrations/15-agent-plugins.md | 56 | "api_key": "your-api-key" | CODE |
| HIGH | docs/en/agent-integrations/10-opencode.md | 137 | export OPENVIKING_API_KEY="your-api-key-here" | CODE |
| HIGH | docs/en/agent-integrations/06-mcp-clients.md | 15 | "Authorization": "Bearer your-api-key-here" | CODE |
| HIGH | docs/en/agent-integrations/06-mcp-clients.md | 33 | --header "Authorization: Bearer your-api-key-here" | CODE |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/RAG/src/adapters/qasper_adapter.py | 67 | Load raw data and convert to OpenViking-friendly format. Converts each paper to Markdown docum | STRING |
| HIGH | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 110 | Load raw docx files and convert to OpenViking-friendly format. Only process syllabus documents | STRING |
| HIGH | openviking/metrics/core/types.py | 38 | Normalize a label mapping into the canonical internal representation. Args: labels: Optional label dic | STRING |
| HIGH | openviking/core/path_variables.py | 136 | Resolve variables in a URI template. Args: uri_template: URI template with variables (e.g. | STRING |
| HIGH | openviking/parse/directory_scan.py | 191 | Traverse directory tree and classify every file (phase-one validation). - Skips directories in IGNORE_DIRS (or | STRING |
| HIGH | openviking/parse/base.py | 85 | Unified lazy import utility. Args: module_name: Module name package_name: pip package name (if | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 95 | Parse PDF file. Args: source: Path to PDF file **kwargs: Additional options (r | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 182 | Convert PDF to Markdown using configured strategy. Args: pdf_path: Path to PDF file | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 690 | Convert PDF to Markdown using the MinerU /file_parse API. Args: pdf_path: Path to PDF file | STRING |
| HIGH | openviking/parse/parsers/pdf.py | 815 | Convert table data to Markdown table format. Args: table: 2D array of table cells | STRING |
| HIGH | openviking/parse/parsers/media/audio.py | 65 | Parse audio file - only copy original file and extract basic metadata, no content understanding. Args: | STRING |
| HIGH | openviking/parse/parsers/media/audio.py | 176 | Parse audio from base64 content string. Args: content: Audio content (base64 or binary str | STRING |
| HIGH | openviking/parse/parsers/media/video.py | 59 | Parse video file - only copy original file and extract basic metadata, no content understanding. Args: | STRING |
| HIGH | openviking/parse/parsers/media/video.py | 171 | Parse video from content string - Not yet implemented. Args: content: Video content (base6 | STRING |
| HIGH | openviking/parse/parsers/media/image.py | 82 | Parse image file: - For large images (>10MB or any dimension >4096px): - Create low-res previ | STRING |
| HIGH | openviking/parse/parsers/media/image.py | 286 | Parse image from content string - Not yet implemented. Args: content: Image content (base6 | STRING |
| HIGH | openviking/parse/accessors/local_accessor.py | 66 | Access a local file or directory. Simply wraps the local path in a LocalResource without any f | STRING |
| HIGH | openviking/pyagfs/helpers.py | 60 | Copy a file or directory within AGFS. Args: client: AGFS binding client instance src: Source path i | STRING |
| HIGH | openviking/pyagfs/helpers.py | 114 | Upload a file or directory from local filesystem to AGFS. Args: client: AGFS binding client instance | STRING |
| HIGH | openviking/pyagfs/helpers.py | 151 | Download a file or directory from AGFS to local filesystem. Args: client: AGFS binding client instance | STRING |
| HIGH | openviking/server/config.py | 418 | Load server configuration from ov.conf. Reads the ``server`` section of ov.conf and also ensures the full ov.co | STRING |
| HIGH | openviking/server/auth/registry.py | 28 | Register an auth plugin class. Supports decorator syntax: @registry.register class MyA | STRING |
| HIGH | openviking/server/auth/plugin.py | 39 | Resolve identity from request credentials. Args: request: FastAPI request object. api_k | STRING |
| HIGH | openviking/models/embedder/openai_embedders.py | 366 | Perform dense embedding on text, text batches, or multimodal content Args: text: Input text, OpenAI | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 256 | Perform dense embedding on text or multimodal content Args: content: Input text, or a list of multi | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 441 | Perform sparse embedding on text or multimodal content Args: content: Input text, or a list of mult | STRING |
| HIGH | openviking/models/embedder/volcengine_embedders.py | 621 | Perform hybrid embedding on text or multimodal content Args: content: Input text, or a list of mult | STRING |
| HIGH | openviking/models/embedder/litellm_embedders.py | 170 | Perform dense embedding on text via litellm. Args: text: Input text is_query: Flag to i | STRING |
| HIGH | openviking/models/embedder/jina_embedders.py | 185 | Perform dense embedding on text Args: text: Input text is_query: Flag to indicate if th | STRING |
| HIGH | openviking/models/embedder/base.py | 723 | 指数退避重试函数 Args: func: 要执行的函数 max_wait: 最大总等待时间(秒) base_delay: 基础延迟时间(秒) max_del | STRING |
| HIGH | openviking/models/embedder/base.py | 835 | Execute an embedder method with multi-credential failover support. Args: method_name: Name of the m | STRING |
| HIGH | openviking/models/embedder/base.py | 884 | Execute an async embedder method with multi-credential failover support. Args: method_name: Name of | STRING |
| HIGH | openviking/models/vlm/base.py | 350 | Create VLM instance Args: config: VLM config, must contain 'provider' field Returns: | STRING |
| HIGH | openviking/models/vlm/base.py | 455 | Execute a VLM method with failover support. Args: method_name: Name of the method to call on VLM in | STRING |
| HIGH | openviking/models/vlm/base.py | 499 | Execute an async VLM method with failover support. Args: method_name: Name of the async method to c | STRING |
| HIGH | openviking/models/vlm/base.py | 840 | Execute a VLM method with multi-credential failover support. Args: method_name: Name of the method | STRING |
| HIGH | openviking/models/vlm/base.py | 892 | Execute an async VLM method with multi-credential failover support. Args: method_name: Name of the | STRING |
| HIGH | …nviking/storage/vectordb/collection/http_collection.py | 42 | Create or retrieve a Collection via HTTP. Args: host: Host address of the HTTP service. port: Port | STRING |
| HIGH | …viking/storage/vectordb/collection/local_collection.py | 165 | Create or retrieve a local Collection. Args: meta_data: Collection metadata configuration path: Per | STRING |
| HIGH | openviking/storage/vectordb/meta/collection_meta.py | 15 | Create a CollectionMeta instance. Args: path (str): The path to store metadata. If empty, creates a volatil | STRING |
| HIGH | openviking/storage/vectordb/meta/index_meta.py | 18 | Create an IndexMeta instance. Args: collection_meta (CollectionMeta): The metadata of the collection this i | STRING |
| HIGH | openviking/storage/vectordb/project/http_project.py | 149 | Create a new collection Args: collection_name: Collection name meta_data: Coll | STRING |
| HIGH | openviking/storage/vectordb/project/project_group.py | 170 | Create new project Args: project_name: Project name Returns: Newly cr | STRING |
| HIGH | …nviking/storage/vectordb/project/volcengine_project.py | 121 | Create a new collection Args: collection_name: Collection name meta_data: Coll | STRING |
| HIGH | openviking/storage/vectordb/project/local_project.py | 162 | Create new collection. Args: collection_name: Collection name meta_data: Collection met | STRING |
| HIGH | openviking/storage/vectordb/project/project.py | 141 | Create a new collection in the project. Args: collection_name (str): Name for the new collection. M | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 99 | Perform vector similarity search with optional filtering. Searches the index for vectors most similar to the qu | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 135 | Perform aggregation operations on the index data. Computes aggregate statistics over index records, optionally | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 348 | Perform a similarity search on the index using dense vector, sparse vector, and/or filtered criteria. | STRING |
| HIGH | openviking/storage/vectordb/index/index.py | 477 | Perform aggregation operations on the index. Args: filters: Aggregation configuration containing: | STRING |
| HIGH | openviking/storage/vectordb/store/store.py | 20 | Retrieve a value by its key. Args: key: The key to retrieve the value for. Returns: | STRING |
| HIGH | openviking/storage/vectordb/store/store.py | 124 | Read values for multiple keys from a specific table. Args: keys (List[str]): List of keys to read. | STRING |
| HIGH | openviking/storage/vectordb/store/store.py | 179 | Read all key-value pairs from a table. Args: table_name (str): Table name prefix. Returns: | STRING |
| HIGH | openviking/storage/vectordb/store/store.py | 216 | Retrieve all entries from a starting key to the end of the table. Args: key (str): Starting key for | STRING |
| HIGH | openviking/storage/vectordb/store/store.py | 232 | Retrieve all entries from the beginning of the table to a specific key. Args: key (str): Ending key | STRING |
| HIGH | openviking/storage/vectordb/store/file_store.py | 23 | Validate path security Args: key: File path Returns: Path: Resolved s | STRING |
| HIGH | openviking/storage/vectordb/store/store_manager.py | 13 | Create a store manager based on type and path. Args: type (str): Storage type (e.g., "local"). path | STRING |
| HIGH | openviking/prompts/manager.py | 108 | Load a prompt template by ID. Args: prompt_id: Prompt identifier (e.g., "vision.image_unde | STRING |
| HIGH | openviking/prompts/manager.py | 168 | Render a prompt template with variable substitution. Args: prompt_id: Prompt identifier | STRING |
| HIGH | openviking/service/resource_service.py | 1645 | Validate and route one resource ingestion request. Watch ownership: Native Watches require an unocc | STRING |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …chmark/tau2/vikingbot/scripts/vikingbot_tau2_runner.py | 41 | from vikingbot.utils.helpers import get_source_workspace_path | CODE |
| CRITICAL | benchmark/tau2/train/rollout_executor_vikingbot.py | 122 | from vikingbot.utils.helpers import get_source_workspace_path | CODE |
| CRITICAL | benchmark/tau2/train/rollout_executor_vikingbot.py | 832 | from vikingbot.utils.helpers import cal_str_tokens as _cal | CODE |
| CRITICAL | benchmark/cuvs/run_index_benchmark.py | 509 | self.cp.cuda.Stream.null.synchronize() | CODE |
| CRITICAL | benchmark/cuvs/run_index_benchmark.py | 539 | self.cp.cuda.Stream.null.synchronize() | CODE |
| CRITICAL⚡ | tests/unit/crypto/test_providers_mock.py | 229 | client.secrets.kv.v1.create_or_update_secret.assert_not_called() | CODE |
| CRITICAL⚡ | tests/unit/crypto/test_providers_mock.py | 241 | client.secrets.kv.v1.create_or_update_secret.assert_called_once() | CODE |
| CRITICAL | tests/unit/crypto/test_providers_mock.py | 278 | client.secrets.kv.v1.create_or_update_secret.assert_not_called() | CODE |
| CRITICAL | tests/resource/test_feishu_watch_auth.py | 205 | legacy_client.authen.v1.refresh_access_token.create.assert_called_once() | CODE |
| CRITICAL | examples/openwebui-plugin/tests/test_tools.py | 69 | assert b'"query":"hello"' in route.calls.last.request.content.replace(b" ", b"") | CODE |
| CRITICAL | bot/vikingbot/config/loader.py | 50 | from vikingbot.utils.helpers import get_data_path | CODE |
| CRITICAL | bot/vikingbot/agent/subagent.py | 20 | from vikingbot.utils.helpers import ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/agent/skills.py | 11 | from vikingbot.utils.helpers import get_source_workspace_path | CODE |
| CRITICAL | bot/vikingbot/agent/memory.py | 14 | from vikingbot.utils.helpers import ensure_dir | CODE |
| CRITICAL | bot/vikingbot/agent/context.py | 18 | from vikingbot.utils.helpers import ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/agent/context.py | 82 | from vikingbot.utils.helpers import ensure_workspace_templates | CODE |
| CRITICAL | bot/vikingbot/agent/loop.py | 46 | from vikingbot.utils.helpers import cal_str_tokens, ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/openviking_mount/session_integration.py | 18 | from vikingbot.utils.helpers import get_workspace_path | CODE |
| CRITICAL | bot/vikingbot/openviking_mount/manager.py | 16 | from vikingbot.utils.helpers import get_mounts_path, get_bot_data_path | CODE |
| CRITICAL | bot/vikingbot/compile/pipeline_io.py | 26 | from vikingbot.utils.helpers import cal_str_tokens | CODE |
| CRITICAL | bot/vikingbot/hooks/builtins/openviking_hooks.py | 16 | from vikingbot.utils.helpers import cal_str_tokens | CODE |
| CRITICAL | bot/vikingbot/channels/telegram.py | 324 | from vikingbot.utils.helpers import get_media_path | CODE |
| CRITICAL | bot/vikingbot/channels/discord.py | 207 | from vikingbot.utils.helpers import get_media_path | CODE |
| CRITICAL | bot/vikingbot/channels/mochat.py | 19 | from vikingbot.utils.helpers import get_data_path | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 257 | response = await self._client.im.v1.message_resource.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 261 | response = await self._client.im.v1.image.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 285 | response = await self._client.im.v1.chat.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 408 | response = self._client.im.v1.message_reaction.create(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 638 | response = self._client.im.v1.message.reply(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 653 | response = self._client.im.v1.message.create(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 886 | response = await self._client.im.v1.chat_members.aget(request) | CODE |
| CRITICAL | bot/vikingbot/channels/feishu.py | 950 | user_response = self._client.contact.v3.user.get(user_request) | CODE |
| CRITICAL | bot/vikingbot/session/manager.py | 16 | from vikingbot.utils.helpers import ensure_dir, ensure_non_empty_assistant_content | CODE |
| CRITICAL | bot/vikingbot/session/manager.py | 235 | from vikingbot.utils.helpers import ensure_session_workspace | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/locomo/openclaw/run_full_eval.sh | 77 | # Step 1: 导入数据 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 101 | # Step 2: 运行 QA 模型(默认输出到 result/qa_results.csv) | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 105 | # Step 3: 裁判打分 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 109 | # Step 4: 计算结果 | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 20 | ## Step 1: SCAN ALL MEMORIES | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 23 | ## Step 2: ENTITY VERIFICATION | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 26 | ## Step 3: COMBINE AND CROSS-REFERENCE | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 33 | ## Step 4: SELECT THE BEST ANSWER | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 41 | ## Step 5: TEMPORAL GROUNDING | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 49 | ## Step 6: INCLUSION CHECK (for lists and counts) | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 54 | ## Step 7: COMMIT AND ANSWER | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 38 | # Step 1: Download | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 53 | # Step 2: Sample | COMMENT |
| LOW | benchmark/retrieval/grep/vikingdb_bm25/README.md | 36 | # Step 1: Import repos (with VLM/embedding, single import) | COMMENT |
| LOW | benchmark/retrieval/grep/vikingdb_bm25/README.md | 40 | # Step 2: Evaluate retrieval quality | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 86 | # Step 0: Generate data (default: 200 dirs x 1000 files = 200K files) | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 92 | # Step 1: Import with vectors only (no VLM semantic processing) | COMMENT |
| LOW⚡ | benchmark/retrieval/grep/vikingdb_bm25/README.md | 99 | # Step 3: Benchmark — run with different engine configs | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 126 | # Step 1: Convert PDF to Markdown | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 132 | # Step 2: Parse Markdown using MarkdownParser, pass through resource name | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 148 | # Step 3: Update metadata for PDF origin | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 528 | # Step 1: Sample font size distribution (every 5th page) | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 543 | # Step 2: Determine body font size and heading font sizes | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 569 | # Step 3: Extract heading text page by page | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 629 | # Step 4: Deduplicate - filter headers appearing on >30% of pages | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 111 | # Step 1: 定义集合元数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 124 | # Step 2: 创建集合(内存模式) | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 129 | # Step 3: 准备测试数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 142 | # Step 4: 插入数据 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 146 | # Step 5: 创建索引 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 158 | # Step 6: 向量搜索 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 170 | # Step 7: 带过滤条件的搜索 | COMMENT |
| LOW | openviking/storage/vectordb/README.md | 184 | # Step 8: 清理资源 | COMMENT |
| LOW | openviking/storage/viking_fs/_grep.py | 416 | # Step 1: vikingdb recall candidate files | COMMENT |
| LOW | openviking/storage/viking_fs/_grep.py | 492 | # Step 2: local fs precise matching on candidate files | COMMENT |
| LOW | …iking/prompts/templates/retrieval/intent_analysis.yaml | 99 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 113 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 123 | ### Step 3: Generate Queries | COMMENT |
| LOW | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 101 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 115 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 125 | ### Step 3: Generate Queries | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 507 | # Step 1: Separate schemas into multi-file (ls) and single-file (direct read) | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 546 | # Step 2: Execute search for each ls directory (instead of ls) | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 498 | # Step 3: Merge migrated credentials with existing credentials | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 504 | # Step 4: Assign default IDs and apply top-level defaults | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 391 | # Step 1: Migrate legacy backup config | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 459 | # Step 2: If no credentials from backup migration and no explicit credentials, | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 444 | # Step 1: Stop OpenClaw gateway completely | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 472 | # Step 2: Clean up OpenClaw stale state (lock files, session locks, cache) | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 563 | # Step 3: Verify OpenViking installation path before starting | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 759 | # Step 4: Clean up stale OV sessions with failed archives | COMMENT |
| LOW⚡ | tests/oc2ov_test/upgrade_openviking.sh | 788 | # Step 5: Start OpenClaw gateway | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 849 | # Step 5: Verify OpenViking is correctly loaded by OpenClaw | COMMENT |
| LOW | docs/images/agents/en/deepseek-harness.md | 1 | ## Step 1: Install | COMMENT |
| LOW | docs/images/agents/en/deepseek-harness.md | 17 | ## Step 2: Verify | COMMENT |
| LOW | docs/images/agents/en/claude-code.md | 1 | ## Step 1: Install | COMMENT |
| LOW | docs/images/agents/en/claude-code.md | 25 | ## Step 2: Verify | COMMENT |
| LOW | docs/images/agents/en/api.md | 1 | ## Step 1: Add a resource | COMMENT |
| LOW | docs/images/agents/en/api.md | 57 | ## Step 2: Add memory | COMMENT |
| LOW | docs/images/agents/en/mcp.md | 3 | ### Step 1: MCP configuration | COMMENT |
| 135 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/train/rollout_executor.py | 144 | __all__ = [ | CODE |
| LOW⚡ | benchmark/locomo/mem0/eval.py | 56 | def _update_openclaw_mem0_user(sample_id: str) -> None: | CODE |
| LOW⚡ | benchmark/locomo/supermemory/eval.py | 76 | def _update_openclaw_supermemory_container(sample_id: str) -> None: | CODE |
| LOW | benchmark/cuvs/run_index_benchmark.py | 499 | def set_search_params(self, search_params: dict[str, Any]) -> None: | CODE |
| LOW | openviking_gateway/kernel.py | 53 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking_gateway/proxy.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking_gateway/capture.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking_gateway/app.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/__init__.py | 32 | __all__ = [ | CODE |
| LOW | openviking/metrics/__init__.py | 45 | __all__ = [ | CODE |
| LOW | openviking/metrics/datasources/__init__.py | 21 | __all__ = [ | CODE |
| LOW | openviking/metrics/datasources/http.py | 75 | def set_inflight(*, route: str, value: float, account_id: str | None = None) -> None: | CODE |
| LOW | openviking/metrics/collectors/__init__.py | 36 | __all__ = [ | CODE |
| LOW | openviking/metrics/core/registry.py | 786 | def set_values(self, bucket_counts: tuple[int, ...], count: int, value_sum: float) -> None: | CODE |
| LOW | openviking/metrics/core/__init__.py | 11 | __all__ = [ | CODE |
| LOW | openviking/metrics/exporters/__init__.py | 9 | __all__ = ["PrometheusExporter", "OTelMetricExporter"] | CODE |
| LOW | openviking/crypto/__init__.py | 32 | __all__ = [ | CODE |
| LOW | openviking/core/__init__.py | 45 | __all__ = [ | CODE |
| LOW | openviking/privacy/__init__.py | 19 | __all__ = [ | CODE |
| LOW | openviking/config/__init__.py | 39 | __all__ = [ | CODE |
| LOW | openviking/config/source/__init__.py | 21 | __all__ = [ | CODE |
| LOW | openviking/config/source/base.py | 17 | __all__ = ["ConfigScope", "ScopeKind", "ConfigSource", "ConfigSourceContext", "Mutate"] | CODE |
| LOW | openviking/ingest/__init__.py | 17 | __all__ = [ | CODE |
| LOW | openviking/ingest/sources/__init__.py | 17 | __all__ = [ | CODE |
| LOW | openviking/parse/__init__.py | 23 | __all__ = [ | CODE |
| LOW | openviking/parse/output.py | 652 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/__init__.py | 12 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/code/__init__.py | 6 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/code/ast/aider_repomap.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/parse/parsers/code/ast/__init__.py | 10 | __all__ = [ | CODE |
| LOW | openviking/parse/parsers/media/__init__.py | 9 | __all__ = ["ImageParser", "AudioParser", "VideoParser", "get_media_type", "get_media_base_uri"] | CODE |
| LOW | openviking/parse/accessors/__init__.py | 23 | __all__ = [ | CODE |
| LOW | openviking/parse/accessors/web_crawler/__init__.py | 9 | __all__ = [ | CODE |
| LOW | openviking/pyagfs/__init__.py | 179 | __all__ = [ | CODE |
| LOW | openviking/message/__init__.py | 17 | __all__ = [ | CODE |
| LOW⚡ | openviking/server/body_dump_middleware.py | 52 | def _set_span_attr(key: str, value: object) -> None: | CODE |
| LOW | openviking/server/temp_upload_store.py | 57 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/server/temp_upload_store.py | 784 | def _set_due_at(account_id: str, due_at: float) -> None: | CODE |
| LOW | openviking/server/__init__.py | 24 | __all__ = ["create_app", "run_server"] | CODE |
| LOW | openviking/server/dependencies.py | 35 | def set_service(service: Optional[OpenVikingService]) -> None: | CODE |
| LOW | openviking/server/dependencies.py | 54 | def set_server_config(config: "ServerConfig") -> None: | CODE |
| LOW | openviking/server/routers/__init__.py | 32 | __all__ = [ | CODE |
| LOW | openviking/server/routers/bot.py | 39 | def set_bot_api_url(url: str) -> None: | CODE |
| LOW | openviking/server/routers/bot.py | 45 | def set_bot_api_key(api_key: str) -> None: | CODE |
| LOW | openviking/server/routers/compile.py | 49 | __all__ = ["router"] | CODE |
| LOW | openviking/server/api_keys/legacy.py | 972 | async def set_role(self, account_id: str, user_id: str, role: str) -> None: | CODE |
| LOW | openviking/server/api_keys/__init__.py | 22 | __all__ = [ | CODE |
| LOW | openviking/server/api_keys/new.py | 529 | async def set_role(self, account_id: str, user_id: str, role: str) -> None: | CODE |
| LOW | openviking/server/auth/identity_mapping.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/server/auth/health_check.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/server/auth/plugins/oidc.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/server/auth/plugins/ldap.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/server/auth/plugins/__init__.py | 31 | __all__ = [ | CODE |
| LOW | openviking/utils/tags.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/utils/model_retry.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | openviking/utils/__init__.py | 22 | __all__ = [ | CODE |
| LOW | openviking/utils/resource_processor.py | 716 | async def _set_stage(stage: str) -> None: | CODE |
| LOW | openviking/utils/media_processor.py | 170 | def _set_resolved_identity(resource: LocalResource, source_name: Optional[str]) -> None: | CODE |
| LOW | openviking/utils/log_correlation.py | 21 | __all__ = ["log_correlation"] | CODE |
| LOW⚡ | openviking/models/embedder/dashscope_embedders.py | 110 | def _update_telemetry_token_usage(self, response) -> None: | CODE |
| 189 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/locomo/openclaw/run_full_eval.sh | 77 | # Step 1: 导入数据 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 101 | # Step 2: 运行 QA 模型(默认输出到 result/qa_results.csv) | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 105 | # Step 3: 裁判打分 | COMMENT |
| LOW⚡ | benchmark/locomo/openclaw/run_full_eval.sh | 109 | # Step 4: 计算结果 | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 20 | ## Step 1: SCAN ALL MEMORIES | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 23 | ## Step 2: ENTITY VERIFICATION | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 26 | ## Step 3: COMBINE AND CROSS-REFERENCE | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 33 | ## Step 4: SELECT THE BEST ANSWER | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 41 | ## Step 5: TEMPORAL GROUNDING | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 49 | ## Step 6: INCLUSION CHECK (for lists and counts) | COMMENT |
| LOW⚡ | benchmark/locomo/openviking/locomo_prompts.py | 54 | ## Step 7: COMMIT AND ANSWER | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 38 | # Step 1: Download | COMMENT |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 53 | # Step 2: Sample | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 126 | # Step 1: Convert PDF to Markdown | COMMENT |
| LOW⚡ | openviking/parse/parsers/pdf.py | 132 | # Step 2: Parse Markdown using MarkdownParser, pass through resource name | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 148 | # Step 3: Update metadata for PDF origin | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 528 | # Step 1: Sample font size distribution (every 5th page) | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 543 | # Step 2: Determine body font size and heading font sizes | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 569 | # Step 3: Extract heading text page by page | COMMENT |
| LOW | openviking/parse/parsers/pdf.py | 629 | # Step 4: Deduplicate - filter headers appearing on >30% of pages | COMMENT |
| LOW | openviking/storage/viking_fs/_grep.py | 416 | # Step 1: vikingdb recall candidate files | COMMENT |
| LOW | openviking/storage/viking_fs/_grep.py | 492 | # Step 2: local fs precise matching on candidate files | COMMENT |
| LOW | …iking/prompts/templates/retrieval/intent_analysis.yaml | 99 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 113 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …iking/prompts/templates/retrieval/intent_analysis.yaml | 123 | ### Step 3: Generate Queries | COMMENT |
| LOW | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 101 | ### Step 1: Identify Task Type | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 115 | ### Step 2: Check Context Coverage | COMMENT |
| LOW⚡ | …pts/templates/retrieval/ov_intent_analysis_sft_v7.yaml | 125 | ### Step 3: Generate Queries | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 507 | # Step 1: Separate schemas into multi-file (ls) and single-file (direct read) | COMMENT |
| LOW | …ing/session/memory/session_extract_context_provider.py | 546 | # Step 2: Execute search for each ls directory (instead of ls) | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 498 | # Step 3: Merge migrated credentials with existing credentials | COMMENT |
| LOW⚡ | openviking_cli/utils/config/vlm_config.py | 504 | # Step 4: Assign default IDs and apply top-level defaults | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 391 | # Step 1: Migrate legacy backup config | COMMENT |
| LOW | openviking_cli/utils/config/vlm_config.py | 459 | # Step 2: If no credentials from backup migration and no explicit credentials, | COMMENT |
| LOW | tests/vectordb/test_recall.py | 504 | # We need to check if the data came back. | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 444 | # Step 1: Stop OpenClaw gateway completely | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 472 | # Step 2: Clean up OpenClaw stale state (lock files, session locks, cache) | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 563 | # Step 3: Verify OpenViking installation path before starting | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 759 | # Step 4: Clean up stale OV sessions with failed archives | COMMENT |
| LOW⚡ | tests/oc2ov_test/upgrade_openviking.sh | 788 | # Step 5: Start OpenClaw gateway | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 849 | # Step 5: Verify OpenViking is correctly loaded by OpenClaw | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1244 | // Step 1: integer promotion & Schubfach multiplier calculation. | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1299 | // Step 2: Try larger divisor; remove trailing zeros if necessary. | COMMENT |
| LOW | …/spdlog-1.14.1/include/spdlog/fmt/bundled/format-inl.h | 1331 | // Step 3: Find the significand with the smaller divisor. | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2779 | // Step 1: Stop gateway | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2783 | // Step 2: Backup config | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2788 | // Step 3: Clean plugin config from openclaw.json | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2792 | // Step 4: Backup and remove plugin directories | COMMENT |
| LOW⚡ | examples/openclaw-plugin/setup-helper/install.js | 2802 | // Step 5: Remove env files | COMMENT |
| LOW | examples/openclaw-plugin/setup-helper/install.js | 2824 | // Step 6: Write uninstall audit | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 110 | # Step 1: 停止 OpenClaw gateway | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 121 | # Step 2: 备份当前配置 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 130 | # Step 3: 清理 openclaw.json 中的新版插件配置 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 253 | # Step 4: 恢复 OpenClaw memory 为 memory-core | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 261 | # Step 5: 备份插件目录 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/uninstall-openclaw-plugin.sh | 275 | # Step 6: 保留 OpenViking 服务/运行时 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/cleanup-memory-openviking.sh | 62 | # Step 1: 停止 OpenClaw gateway | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/cleanup-memory-openviking.sh | 73 | # Step 2: 备份配置文件和旧版插件目录 | COMMENT |
| LOW⚡ | …aw-plugin/upgrade_scripts/cleanup-memory-openviking.sh | 92 | # Step 3: 清理 openclaw.json 中的旧版插件配置 | COMMENT |
| LOW⚡ | examples/common/recipe.py | 188 | # Step 1: Search for relevant content (timed) | COMMENT |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/common/tau2_env/tau2_environment.py | 188 | CODE | |
| LOW | benchmark/locomo/openviking/run_eval.py | 508 | CODE | |
| LOW | benchmark/locomo/claudecode/eval.py | 292 | CODE | |
| LOW | benchmark/RAG/scripts/prepare_dataset.py | 18 | CODE | |
| LOW | benchmark/aml/eval/run_public.py | 381 | CODE | |
| LOW | benchmark/longmemeval/openviking/run_eval.py | 368 | CODE | |
| LOW | openviking/metrics/datasources/http.py | 30 | CODE | |
| LOW | openviking/metrics/exporters/otel.py | 112 | CODE | |
| LOW | openviking/core/context.py | 63 | CODE | |
| LOW | openviking/parse/tree_builder.py | 143 | CODE | |
| LOW | openviking/parse/directory_scan.py | 180 | CODE | |
| LOW | openviking/parse/accessors/feishu_accessor.py | 1109 | CODE | |
| LOW | openviking/pyagfs/protocols.py | 96 | CODE | |
| LOW | openviking/pyagfs/async_client.py | 297 | CODE | |
| LOW | openviking/server/resource_ingest.py | 23 | CODE | |
| LOW | openviking/server/skill_ingest.py | 25 | CODE | |
| LOW | openviking/server/skill_ingest.py | 67 | CODE | |
| LOW | openviking/server/upload_token_store.py | 96 | CODE | |
| LOW | openviking/server/mcp_endpoint.py | 509 | CODE | |
| LOW | openviking/server/mcp_endpoint.py | 1422 | CODE | |
| LOW | openviking/server/routers/tasks.py | 88 | CODE | |
| LOW | openviking/server/routers/skills.py | 715 | CODE | |
| LOW | openviking/server/routers/filesystem.py | 70 | CODE | |
| LOW | openviking/server/routers/filesystem.py | 133 | CODE | |
| LOW | openviking/server/routers/admin.py | 977 | CODE | |
| LOW | openviking/utils/skill_processor.py | 117 | CODE | |
| LOW | openviking/utils/embedding_utils.py | 399 | CODE | |
| LOW | openviking/utils/embedding_utils.py | 583 | CODE | |
| LOW | openviking/utils/resource_processor.py | 676 | CODE | |
| LOW | openviking/utils/resource_processor.py | 1677 | CODE | |
| LOW | openviking/models/embedder/dashscope_embedders.py | 60 | CODE | |
| LOW | openviking/models/embedder/vikingdb_embedders.py | 153 | CODE | |
| LOW | openviking/models/embedder/vikingdb_embedders.py | 327 | CODE | |
| LOW | openviking/models/embedder/openai_embedders.py | 72 | CODE | |
| LOW | openviking/models/embedder/minimax_embedders.py | 35 | CODE | |
| LOW | openviking/models/embedder/jina_embedders.py | 77 | CODE | |
| LOW | …nviking/models/vlm/backends/codex_responses_adapter.py | 316 | CODE | |
| LOW | …nviking/models/vlm/backends/codex_responses_adapter.py | 332 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 846 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 1051 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 1618 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 1831 | CODE | |
| LOW | openviking/storage/viking_vector_index_backend.py | 1935 | CODE | |
| LOW | openviking/storage/vikingdb_manager.py | 319 | CODE | |
| LOW | openviking/storage/vikingdb_manager.py | 426 | CODE | |
| LOW | openviking/storage/queuefs/semantic_executor.py | 176 | CODE | |
| LOW | openviking/storage/queuefs/semantic_msg.py | 86 | CODE | |
| LOW | openviking/storage/queuefs/embedding_msg.py | 105 | CODE | |
| LOW | openviking/storage/queuefs/semantic_processor.py | 1851 | CODE | |
| LOW | openviking/storage/queuefs/semantic_processor.py | 1953 | CODE | |
| LOW | openviking/storage/queuefs/queue_manager.py | 35 | CODE | |
| LOW | openviking/storage/queuefs/queue_manager.py | 108 | CODE | |
| LOW | …e/vectordb/collection/volcengine_api_key_collection.py | 355 | CODE | |
| LOW | …e/vectordb/collection/volcengine_api_key_collection.py | 389 | CODE | |
| LOW | …nviking/storage/vectordb/collection/http_collection.py | 388 | CODE | |
| LOW | …nviking/storage/vectordb/collection/http_collection.py | 559 | CODE | |
| LOW | …viking/storage/vectordb/collection/local_collection.py | 501 | CODE | |
| LOW | …viking/storage/vectordb/collection/local_collection.py | 734 | CODE | |
| LOW | openviking/storage/vectordb/collection/collection.py | 60 | CODE | |
| LOW | openviking/storage/vectordb/collection/collection.py | 75 | CODE | |
| 90 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pr_agent.toml | 122 | require_tests_review = true # Check if tests are present (default: true) | CODE |
| LOW | benchmark/locomo/openclaw/eval.py | 451 | # Check if session_path is already a full path | COMMENT |
| LOW | benchmark/locomo/openclaw/eval.py | 477 | # Check if jsonl_filename is already a full path | COMMENT |
| LOW | benchmark/RAG/scripts/download_dataset.py | 182 | # Check if path exists (either file or directory) | COMMENT |
| LOW | benchmark/RAG/scripts/download_dataset.py | 291 | # Check if any datasets are configured | COMMENT |
| LOW | benchmark/RAG/src/adapters/qasper_adapter.py | 162 | # Check if all answers are marked as unanswerable | COMMENT |
| LOW | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 238 | # Check if heading style | COMMENT |
| LOW | benchmark/RAG/src/adapters/financebench_adapter.py | 54 | # Check if pdfs is in data directory or parent directory | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 69 | # Check if file exists or can be created | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 77 | # Check if parent directory exists or can be written to | COMMENT |
| LOW⚡ | openviking/crypto/config.py | 83 | # Check if we can write to the closest existing ancestor directory | COMMENT |
| LOW | openviking/crypto/providers.py | 240 | # Write file with permissions 0600 | COMMENT |
| LOW⚡ | openviking/crypto/providers.py | 329 | # Check if transit engine is already enabled | COMMENT |
| LOW | openviking/parse/registry.py | 122 | # Check if source looks like a file path (short enough and no newlines) | COMMENT |
| LOW⚡ | openviking/parse/tree_builder.py | 71 | # Check if it's a media file first | COMMENT |
| LOW | openviking/parse/vlm.py | 334 | # Check if we have images to process | COMMENT |
| LOW | openviking/parse/parsers/markdown.py | 651 | # Check if in excluded range | COMMENT |
| LOW | openviking/parse/parsers/markdown.py | 656 | # Check if escaped \# | COMMENT |
| LOW | openviking/parse/parsers/zip_parser.py | 65 | # Check if it's a valid ZIP file (non-blocking) | COMMENT |
| LOW | openviking/parse/parsers/zip_parser.py | 82 | # Check if extracted content has a single root directory (non-blocking) | COMMENT |
| LOW | openviking/parse/parsers/directory.py | 149 | # Check if this is a git repository, delegate to CodeRepositoryParser | COMMENT |
| LOW | openviking/parse/parsers/code/code.py | 138 | # Check if source is already a local directory (should always be true) | COMMENT |
| LOW | openviking/parse/parsers/media/large_image_processor.py | 454 | # Check if processing is needed | COMMENT |
| LOW | openviking/parse/parsers/media/image.py | 127 | # Check if extension is in VLM-natively supported list | COMMENT |
| LOW | openviking/pyagfs/helpers.py | 81 | # Check if source exists and get its type | COMMENT |
| LOW | openviking/pyagfs/helpers.py | 167 | # Check if remote path exists and get its type | COMMENT |
| LOW⚡ | openviking/pyagfs/helpers.py | 392 | # Check if directory already exists | COMMENT |
| LOW | openviking/server/bootstrap.py | 459 | # Check if vikingbot is available | COMMENT |
| LOW | openviking/server/bootstrap.py | 514 | # Set environment to ensure it uses the same Python environment | COMMENT |
| LOW | openviking/utils/network_guard.py | 118 | # Check if private networks are allowed globally | COMMENT |
| LOW | openviking/utils/network_guard.py | 122 | # Check if host is in allowed code hosting domains | COMMENT |
| LOW | openviking/models/embedder/cohere_embedders.py | 67 | # Check if server-side dimension reduction is supported | COMMENT |
| LOW | openviking/observability/log_trace_bridge.py | 73 | # Check if all elements are of the same primitive type | COMMENT |
| LOW | …viking/storage/vectordb/collection/local_collection.py | 1116 | # Check if the index needs rebuilding | COMMENT |
| LOW | openviking/storage/vectordb/project/local_project.py | 91 | # Check if it's a collection directory (should contain collection_meta.json) | COMMENT |
| LOW | openviking/storage/vectordb/service/api_fastapi.py | 208 | # Check if exists before deleting? The original code didn't check existence explicitly before calling drop, | COMMENT |
| LOW | openviking/storage/vectordb/store/file_store.py | 64 | # Open file in binary read-only mode | COMMENT |
| LOW | openviking/storage/vectordb/store/serializable.py | 86 | # Check if it's the correct C++ enum type | COMMENT |
| LOW | openviking/storage/viking_fs/_ops.py | 772 | # Check if it's temp directory (files already encrypted) | COMMENT |
| LOW | openviking/session/memory/extract_loop.py | 303 | # Check if this is the last iteration - force final result | STRING |
| LOW | openviking/session/memory/extract_loop.py | 370 | # Check if any write_uris target existing files that weren't read | STRING |
| LOW⚡ | openviking/session/memory/memory_type_registry.py | 286 | # Check if file already exists | COMMENT |
| LOW | openviking/session/memory/memory_type_registry.py | 310 | # Write the file | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 747 | # Check if all results are successful (including no-change cases) | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 803 | # Check if first line is :start_line: | COMMENT |
| LOW | openviking/session/memory/merge_op/patch_handler.py | 1174 | # Check if all results are successful (including no-change cases) | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 619 | # Check if this logger should be excluded | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 623 | # Check if log level is below the minimum threshold for span events | COMMENT |
| LOW⚡ | openviking_cli/utils/logger.py | 627 | # Check if OTel is available | COMMENT |
| LOW | openviking_cli/utils/logger.py | 439 | # Check if the handler has already been added | COMMENT |
| LOW | tests/debug_trace.py | 265 | # Check if any descendant is an error | COMMENT |
| LOW | …egration/test_volcengine_kms_encryption_integration.py | 437 | # Write file | COMMENT |
| LOW | …egration/test_volcengine_kms_encryption_integration.py | 606 | # Check if session directory files are encrypted | COMMENT |
| LOW | tests/integration/test_vault_encryption_integration.py | 421 | # Write file | COMMENT |
| LOW | tests/integration/test_vault_encryption_integration.py | 588 | # Check if session directory files are encrypted | COMMENT |
| LOW | tests/integration/test_vault_encryption_integration.py | 665 | # Check if all files are encrypted | STRING |
| LOW | tests/vectordb/test_filter_ops.py | 1095 | # Check if data exists in storage | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 90 | # Check if OpenViking virtual environment exists | COMMENT |
| LOW | tests/oc2ov_test/upgrade_openviking.sh | 264 | # Check if setuptools-scm is already installed | COMMENT |
| LOW⚡ | tests/oc2ov_test/upgrade_openviking.sh | 798 | # Check if gateway is running (multiple methods) | COMMENT |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openviking_gateway/models.py | 55 | # None means no limit, as in an agent harness's own tool loop. | COMMENT |
| MEDIUM | web-studio/package-lock.json | 12942 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | openviking/ingest/models.py | 61 | native_session_id: str # the harness's own session/conversation id | CODE |
| MEDIUM | openviking/ingest/peer.py | 25 | # Join harness/provider/model with the same separator as the OV session id scheme. | COMMENT |
| MEDIUM | openviking/utils/media_processor.py | 37 | # 1. IANA media type mappings (comprehensive) | COMMENT |
| LOW | openviking/storage/vectordb/utils/validation.py | 156 | # Let's normalize everything to lower case if the Literal allows it, or just pass through. | COMMENT |
| MEDIUM | openviking/prompts/templates/memory/tools.yaml | 96 | - "## Guidelines" - best practices | CODE |
| MEDIUM | openviking/prompts/templates/memory/skills.yaml | 90 | - "## Guidelines" - best practices | CODE |
| LOW | openviking/eval/ragas/generator.py | 66 | # For demonstration, we'll just return an empty dataset or mock some logic | COMMENT |
| MEDIUM | openviking_cli/utils/config/ovcli_config.py | 50 | # Client-side harness plugin settings, owned by the memory plugins. Kept | COMMENT |
| MEDIUM | openviking_cli/utils/config/ovcli_config.py | 51 | # opaque so a harness can add its own knobs without touching this schema. | COMMENT |
| MEDIUM⚡ | openviking_cli/utils/config/consts.py | 85 | # Per-(harness, session) read-cursor state lives here (NEVER under tool-specific dirs). | COMMENT |
| MEDIUM | tests/vectordb/test_crash_recovery.py | 111 | """Helper to setup collection config for robust test""" | STRING |
| MEDIUM | tests/server/oauth/test_auth_integration.py | 345 | # Token's USER role is preserved — promotion doesn't auto-elevate. | COMMENT |
| MEDIUM | …est/scenarios/slow/test_resource_search_consistency.py | 51 | f"# {kw}\n\nDetailed analysis of GraphQL vs REST API design patterns and best practices." | CODE |
| MEDIUM | …arty/spdlog-1.14.1/include/spdlog/fmt/bundled/format.h | 3501 | // Compilers are not aware of how to leverage the maximum value of | COMMENT |
| MEDIUM | sdk/python/openviking_sdk/config.py | 138 | # read, plus the `plugin` section the harness memory plugins own. | COMMENT |
| MEDIUM | …/claude-code-memory-plugin/setup-helper/tos-install.sh | 7 | # channel preselected (Claude preselected as the harness). | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 75 | # a harness installs from it. | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 78 | # asks https://openviking.ai/install/v1/<harness>.json which release to | COMMENT |
| MEDIUM⚡ | examples/memory-plugin-shared/install.sh | 79 | # install, once per selected harness. OPENVIKING_SKIP_VERSION_CHECK=1 skips the | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 27 | # and installs the CLI; --harness claude,codex,cli picks them, and --help lists | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 35 | # Needs macOS or Linux, bash 3.2+, Node.js 18+ and curl; unzip when a harness | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 90 | # curl -fsSL https://openviking.ai/install | bash -s -- --uninstall --yes --harness <list> | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 125 | # registries, and within one harness the source modes are alternative channels | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 1638 | # Asks the install site which release to install, one request per harness in | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 1718 | # The release bundle every file-based harness installs from, and the directory | COMMENT |
| MEDIUM | examples/memory-plugin-shared/install.sh | 3384 | # Nothing under $OV_HOME or in any harness config is written before this point. | COMMENT |
| MEDIUM | examples/memory-plugin-shared/bootstrap.sh | 21 | # --harness claude,codex picks them, and --help lists every option. | COMMENT |
| MEDIUM | examples/memory-plugin-shared/bootstrap.sh | 37 | # The /install/<harness> variants differ only in the `harness=` line. | COMMENT |
| MEDIUM | examples/memory-plugin-shared/bootstrap.sh | 48 | # 3. Runs it with bash as `install.sh --dist tos [--harness <harness>] <your arguments>`, | COMMENT |
| MEDIUM | …amples/codex-memory-plugin/setup-helper/tos-install.sh | 7 | # channel preselected (Codex preselected as the harness). Codex installs from | COMMENT |
| MEDIUM | .github/scripts/generate-channels-json.sh | 2 | # Write channels.json: the version and immutable artifacts each harness | COMMENT |
| MEDIUM | .github/scripts/generate-channels-json.sh | 4 | # marketplace; every other harness downloads the marketplace zip and falls back | COMMENT |
| MEDIUM | bot/vikingbot/channels/dingtalk.py | 49 | # Parse using SDK's ChatbotMessage for robust handling | COMMENT |
| LOW | bot/vikingbot/channels/base.py | 322 | # Fallback: just return a link if we have it | COMMENT |
| LOW | bot/demo/werewolf/werewolf_server.py | 896 | # We don't have the date, just use current time | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | openviking/core/path_variables.py | 154 | # Create a temporary resolver with the custom datetime | COMMENT |
| MEDIUM | openviking/parse/tree_builder.py | 238 | # Create a minimal Context object for the root so that tree.root is not None | COMMENT |
| MEDIUM | …viking/storage/vectordb/collection/local_collection.py | 1365 | # Create a fresh lazy stream for each index. In particular, cuVS can pack | COMMENT |
| MEDIUM | openviking/storage/vectordb/project/http_project.py | 168 | # Create a new dict with required fields without modifying the input dict | COMMENT |
| MEDIUM | openviking/session/memory/schema_model_generator.py | 192 | # Create the model | COMMENT |
| MEDIUM | openviking/session/memory/merge_op/patch_handler.py | 572 | # Initialize search variables | COMMENT |
| MEDIUM | openviking/session/memory/merge_op/patch_handler.py | 1000 | # Initialize search variables | COMMENT |
| MEDIUM | deploy/helm/openviking/values.yaml | 6 | # Create a Secret with encryption-key (Fernet) and admin-token (32+ characters). | COMMENT |
| MEDIUM | tests/test_edge_cases.py | 92 | # Create a filename that's exactly 255 bytes in UTF-8 | COMMENT |
| MEDIUM⚡ | tests/unit/crypto/test_providers_mock.py | 127 | # Create a minimal mock provider that just needs type detection | COMMENT |
| MEDIUM⚡ | tests/unit/crypto/test_providers_mock.py | 137 | # Create a minimal mock provider that just needs type detection | COMMENT |
| MEDIUM | tests/integration/test_encryption_integration.py | 603 | # Create a test directory | STRING |
| MEDIUM | tests/vectordb/test_bytes_row.py | 20 | # Define a complex data structure for testing consistency | COMMENT |
| MEDIUM | tests/server/test_api_sessions.py | 150 | # Create a session first | COMMENT |
| MEDIUM | tests/server/test_api_search.py | 904 | # Create a session first | COMMENT |
| MEDIUM⚡ | tests/storage/mock_backend.py | 39 | # Create a dummy collection wrapping MockCollection | COMMENT |
| MEDIUM | tests/storage/test_vectordb_adaptor.py | 24 | # Create a valid config file | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 20 | # Create a directory structure with nested subdirectories | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 52 | # Create a complex directory structure | COMMENT |
| MEDIUM | tests/client/test_windows_path_handling.py | 91 | # Create a ZIP with backslash paths (simulating Windows-created ZIP) | COMMENT |
| MEDIUM | tests/session/memory/test_schema_models.py | 452 | # Create a temporary YAML file for a new memory type | COMMENT |
| MEDIUM | examples/multi_tenant/admin_workflow.sh | 233 | # Create a second account to test that ADMIN of one account cannot manage another | COMMENT |
| MEDIUM⚡ | examples/basic-usage/basic_usage.py | 247 | # Create a new session | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 125 | Set up an OpenViking server first; if you already have one, skip to [Use it with your agent](#use-it-with-your-agent). D | CODE |
| MEDIUM | benchmark/RAG/README.md | 1 | # RAG | COMMENT |
| MEDIUM | benchmark/RAG/README_zh.md | 1 | # RAG | COMMENT |
| MEDIUM | benchmark/RAG/config/config.yaml | 1 | # RAG Benchmark Configuration File | COMMENT |
| MEDIUM | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 312 | # Skip "no answer" type questions as RAG results cannot be evaluated | COMMENT |
| MEDIUM | benchmark/RAG/src/adapters/syllabusqa_adapter.py | 393 | # Skip "no answer" type questions as RAG results cannot be evaluated | COMMENT |
| MEDIUM | openviking_gateway/kernel.py | 408 | # The budget is per context window: a cut frees the recall it replaced. | COMMENT |
| MEDIUM | openviking_gateway/protocols.py | 35 | # Open WebUI's RAG template is only present on the current request. Preserve | COMMENT |
| MEDIUM | openviking/parse/parsers/directory.py | 189 | # Ordinary source jobs use INTERNAL for directory orchestration; | COMMENT |
| MEDIUM | openviking/models/vlm/backends/litellm_vlm.py | 104 | # Ollama defaults to a 4096-token context window and silently truncates any | COMMENT |
| MEDIUM | openviking/eval/README.md | 24 | │ ├── pipeline.py # RAG 查询流水线 | CODE |
| MEDIUM | openviking/service/memory_compile.py | 324 | # Compile is offline and user-initiated; allow a longer agentic loop | COMMENT |
| MEDIUM | …iking/session/memory/consolidation_context_provider.py | 75 | # Compile is an offline, user-initiated task, so favor an agentic loop: | COMMENT |
| MEDIUM | openviking_cli/setup_wizard.py | 704 | # few-shot examples into fabricated memories), so there is no sub-4B tier. | COMMENT |
| MEDIUM⚡ | tests/cli/test_setup_wizard.py | 150 | # Ollama needs a larger context window (default 4096 truncates OV's | COMMENT |
| MEDIUM | tests/gateway/test_review_regressions.py | 337 | # The budget is per context window, so the branches share their first message. | COMMENT |
| MEDIUM | tests/api_test/filesystem/test_fs_cp.py | 59 | # This contract checks index copying, not the embedding model's | COMMENT |
| MEDIUM | docs/zh/guides/22-gateway-operations.md | 479 | 开启 OpenViking 工具后,模型可以在回答过程中使用 OpenViking 服务提供的工具,访问范围受该用户的权限限制。工具调用由网关执行,客户端会持续收到回答,直到本次回复结束。显示的 token 用量包含期间所有模型调用。这项功 | CODE |
| MEDIUM | docs/zh/guides/15-gateway.md | 50 | | 把 Base URL 改成网关地址,API Key 换成网关密钥。Claude Code 还要设置 `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`,给子 Agent 和后台请求加上标记,避免为它们召回和保存。 | CODE |
| MEDIUM | docs/en/guides/22-gateway-operations.md | 479 | With OpenViking tools on, the model can use the tools available on your OpenViking server while answering, within the us | CODE |
| MEDIUM | docs/en/guides/15-gateway.md | 50 | | Point the base URL at the gateway and replace the API key with a gateway key. For Claude Code, also set `CLAUDE_CODE_G | CODE |
| MEDIUM | docs/en/guides/15-gateway.md | 50 | | Point the base URL at the gateway and replace the API key with a gateway key. For Claude Code, also set `CLAUDE_CODE_G | CODE |
| MEDIUM | …-experimental-context-management/scripts/e2e-window.sh | 2 | # Live acceptance gate for the agent-driven context window: | COMMENT |
| MEDIUM | agent-plugins/skills/ov-kanban/SKILL.md | 150 | ## Long-running and multi-agent | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …outes/resources/-components/add-resource-page.test.tsx | 59 | expect(remoteUrlInput.getAttribute('placeholder')).toBe( | CODE |
| LOW | …outes/resources/-components/add-resource-page.test.tsx | 71 | expect(remoteUrlInput.getAttribute('placeholder')).toBe( | CODE |
| LOW | …outes/resources/-components/add-resource-page.test.tsx | 89 | expect(remoteUrlInput.getAttribute('placeholder')).toBe( | CODE |
| LOW | …outes/resources/-components/add-resource-page.test.tsx | 97 | expect(remoteUrlInput.getAttribute('placeholder')).toBe( | CODE |
| LOW | …rc/routes/gateway/-components/upstreams-pages.test.tsx | 377 | .getAttribute('placeholder'), | CODE |
| LOW | tests/unit/test_extra_headers_vlm.py | 949 | "api_key": "placeholder", | CODE |
| LOW | tests/unit/test_extra_headers_vlm.py | 972 | "api_key": "placeholder", | CODE |
| LOW | tests/config/test_config_file.py | 350 | ('"api_key": "dummy-key", "thinking": ${STUDIO_THINKING}', {"STUDIO_THINKING": "true"}), | CODE |
| LOW | tests/parse/test_document_parser_threading.py | 75 | source.write_bytes(b"placeholder") | CODE |
| LOW | tests/parse/test_markdown_link_rewrite.py | 27 | (kb / "文档.md").write_text("placeholder", encoding="utf-8") | CODE |
| LOW | third_party/spdlog-1.14.1/bench/bench.cpp | 223 | const char *msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra | CODE |
| LOW | third_party/spdlog-1.14.1/bench/bench.cpp | 223 | const char *msg = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra | CODE |
| LOW | third_party/spdlog-1.14.1/bench/latency.cpp | 21 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra metus cursus " | CODE |
| LOW | third_party/spdlog-1.14.1/bench/latency.cpp | 21 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pharetra metus cursus " | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 79 | "placeholder": "http://127.0.0.1:1933", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 84 | "placeholder": "none", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 89 | "placeholder": "optional-prefix", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 95 | "placeholder": "${OPENVIKING_API_KEY}", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 105 | "placeholder": "(derived from API key)", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 111 | "placeholder": "(derived from API key)", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 117 | "placeholder": "viking://~/memories", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 122 | "placeholder": "15000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 131 | "placeholder": "semantic", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 137 | "placeholder": "24000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 147 | "placeholder": "15000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 158 | "placeholder": "user,agent", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 164 | "placeholder": "6", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 169 | "placeholder": "0.15", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 174 | "placeholder": "4000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 180 | "placeholder": "5000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 191 | "placeholder": "4000", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 197 | "placeholder": "agent:*:cron:**", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 203 | "placeholder": "0.5", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 230 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 236 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 242 | "placeholder": "~/.openclaw/openviking/recall-traces", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 248 | "placeholder": "false", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 254 | "placeholder": "default", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 260 | "placeholder": "memory", | CODE |
| LOW⚡ | examples/openclaw-plugin/openclaw.plugin.json | 266 | "placeholder": "~/.openclaw/openviking/runtime-query-config.json", | CODE |
| LOW | examples/openclaw-plugin/openclaw.plugin.json | 214 | "placeholder": "10", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | benchmark/retrieval/grep/vikingdb_bm25/ai_wiki.txt | 249 | Generative AI is often trained on unlicensed copyrighted works, including in domains such as images or computer code; th | CODE |
| HIGH | docs/scripts/build-reading-fonts.py | 58 | # Shaping closure may retain mirrored characters as well as requested glyphs. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/tau2/vikingbot/run_full_test.sh | 9 | # Usage: | COMMENT |
| LOW | benchmark/tau2/vikingbot/setup_env.sh | 16 | # Usage: | COMMENT |
| LOW | benchmark/tau2/vikingbot/scripts/run_tau2_domain.sh | 5 | # Usage: | COMMENT |
| LOW | benchmark/locomo/vikingbot/run_full_eval.sh | 4 | # Usage: | COMMENT |
| LOW | third_party/spdlog-1.14.1/include/spdlog/mdc.h | 14 | // Usage example: | COMMENT |
| LOW | examples/multi_tenant/admin_workflow.sh | 26 | # Usage: | COMMENT |
| LOW | …-experimental-context-management/scripts/e2e-window.sh | 11 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/parse/test_media_understanding_summary.py | 341 | "# Provider response\n\nI'm unable to analyze this media.", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/skillsbench/skill_bench_eval.py | 442 | def run_task( | CODE |
| LOW | openviking/telemetry/tracer.py | 492 | async def my_function(): | STRING |
| LOW | openviking/telemetry/tracer.py | 739 | async def my_function(): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | openviking/parse/parsers/code/code.py | 549 | # TODO: implement download logic or rely on caller? | COMMENT |