Personal AI, On Personal Devices
This report presents the forensic synthetic code analysis of open-jarvis/OpenJarvis, a Python project with 7,542 GitHub stars. SynthScan v2.0 examined 388,284 lines of code across 1970 source files, recording 10546 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 46.3 places this repository in the Strong AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 10546 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/src/types/connectors.ts | 79 | // ── Upload / Paste ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/types/connectors.ts | 94 | // ── Communication ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/types/connectors.ts | 227 | // ── Documents ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/types/connectors.ts | 286 | // ── PIM (Calendar, Contacts) ─────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/lib/store.ts | 32 | // ── localStorage persistence ────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/lib/store.ts | 110 | // ── Store ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/lib/store.ts | 271 | // ── Conversations ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/lib/store.ts | 440 | // ── Deep Research ───────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/lib/store.ts | 444 | // ── Models & server ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 480 | // ── Settings ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 488 | // ── UI ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 496 | // ── Agents ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 512 | // ── Logs ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 519 | // ── Model loading ─────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | frontend/src/lib/store.ts | 523 | // ── Opt-in sharing ────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/pages/AgentsPage.tsx | 3556 | // ── Detail View ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | frontend/src/pages/AgentsPage.tsx | 3904 | // ── List View ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/conftest.py | 54 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 154 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/conftest.py | 195 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/conftest.py | 197 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 218 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 220 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/conftest.py | 261 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 14 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 16 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 32 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 34 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 52 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 68 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_embedding_store.py | 105 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_embedding_store.py | 107 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_embedding_store.py | 115 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_embedding_store.py | 117 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 145 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/connectors/test_embedding_store.py | 147 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 243 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 245 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 253 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 255 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 266 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 268 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 280 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 282 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 302 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 316 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 318 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 330 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 332 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 378 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 380 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/connectors/test_apple_contacts.py | 395 | # --------------------------------------------------------------------------- | COMMENT |
| 2617 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/components/Desktop/SavingsDashboard.tsx | 275 | function getOrCreateAnonId(): string { | CODE |
| LOW | tests/test_digest_integration.py | 15 | def test_full_digest_pipeline(tmp_path): | CODE |
| LOW | tests/test_query_orchestrator.py | 55 | def test_direct_engine_returns_content(self): | CODE |
| LOW | tests/test_query_orchestrator.py | 67 | def test_forwards_temperature_and_max_tokens(self): | CODE |
| LOW | tests/test_query_orchestrator.py | 77 | def test_uses_config_defaults_when_omitted(self): | CODE |
| LOW | tests/test_query_orchestrator.py | 92 | def test_agent_none_stays_on_engine(self): | CODE |
| LOW | tests/test_query_orchestrator.py | 102 | def test_unknown_agent_returns_error_dict(self): | CODE |
| LOW | tests/test_query_orchestrator.py | 123 | def test_morning_digest_triggers(self, query): | CODE |
| LOW | tests/test_query_orchestrator.py | 142 | def test_plain_query_returns_none(self): | CODE |
| LOW⚡ | tests/test_vision.py | 19 | def test_message_defaults_to_no_images() -> None: | CODE |
| LOW⚡ | tests/test_vision.py | 23 | def test_messages_to_dicts_omits_images_for_text() -> None: | CODE |
| LOW⚡ | tests/test_vision.py | 28 | def test_messages_to_dicts_forwards_images() -> None: | CODE |
| LOW⚡ | tests/test_vision.py | 38 | def test_messages_to_dicts_empty_images_treated_as_text() -> None: | CODE |
| LOW⚡ | tests/test_vision.py | 43 | def test_default_num_ctx_default_and_override(monkeypatch) -> None: | CODE |
| LOW | tests/test_vision.py | 55 | def test_guardrails_preserves_images_when_sanitizing() -> None: | CODE |
| LOW⚡ | tests/connectors/test_embedding_store.py | 120 | def test_graceful_without_torch(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 258 | def test_not_connected_missing_db() -> None: | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 271 | def test_sync_yields_contacts(connector) -> None: | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 285 | def test_sync_extracts_all_fields(connector) -> None: | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 567 | def test_sync_reads_source_databases(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 601 | def test_sync_deduplicates_across_sources(tmp_path: Path) -> None: | CODE |
| LOW⚡ | tests/connectors/test_connectors_router_oauth.py | 132 | def test_connect_client_pair_returns_oauth_required_no_browser( | CODE |
| LOW | tests/connectors/test_connectors_router_oauth.py | 173 | def test_connect_raw_token_still_handled( | CODE |
| LOW⚡ | tests/connectors/test_connectors_router_oauth.py | 190 | def test_oauth_start_redirects_to_consent( | CODE |
| LOW⚡ | tests/connectors/test_connectors_router_oauth.py | 217 | def test_oauth_callback_exchanges_and_connects( | CODE |
| LOW | tests/connectors/test_connectors_router_oauth.py | 253 | def test_oauth_callback_error_param_renders_failure(client: TestClient) -> None: | CODE |
| LOW | tests/connectors/test_connectors_router_oauth.py | 259 | def test_oauth_callback_exchange_failure_renders_error( | CODE |
| LOW | tests/connectors/test_hybrid_search.py | 31 | def test_next_calendar_events_returns_nearest_gcalendar_rows() -> None: | CODE |
| LOW | tests/connectors/test_hybrid_search.py | 79 | def test_empty_upcoming_calendar_filter_uses_ascending_start_time() -> None: | CODE |
| LOW | tests/connectors/test_hybrid_search.py | 105 | def test_upcoming_calendar_timeline_normalizes_timestamp_offsets() -> None: | CODE |
| LOW | tests/connectors/test_hybrid_search.py | 139 | def test_upcoming_calendar_includes_today_all_day_events() -> None: | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 90 | def test_not_connected_without_credentials(connector) -> None: | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 110 | def test_auth_url_returns_string(connector) -> None: | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 125 | def test_sync_yields_documents( | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 209 | def test_sync_passes_since_as_query( | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 244 | def test_sync_without_since_passes_empty_query( | CODE |
| LOW⚡ | tests/connectors/test_gmail.py | 411 | def test_html_to_text_strips_basic_tags() -> None: | CODE |
| LOW | tests/connectors/test_gmail.py | 364 | def test_sync_channel_falls_back_to_inbox( | CODE |
| LOW | tests/connectors/test_gmail.py | 383 | def test_sync_channel_none_when_no_system_label( | CODE |
| LOW | tests/connectors/test_gmail.py | 425 | def test_html_to_text_drops_script_and_style() -> None: | CODE |
| LOW | tests/connectors/test_gmail.py | 456 | def test_html_to_text_inserts_paragraph_breaks() -> None: | CODE |
| LOW | tests/connectors/test_gmail.py | 468 | def test_sync_strips_html_when_no_text_plain( | CODE |
| LOW | tests/connectors/test_gmail.py | 519 | def test_sync_prefers_text_plain_over_text_html( | CODE |
| LOW | tests/connectors/test_gmail.py | 693 | def test_refresh_raises_when_refresh_token_missing(tmp_path: Path) -> None: | CODE |
| LOW | tests/connectors/test_gmail.py | 445 | def test_html_to_text_decodes_entities() -> None: | STRING |
| LOW⚡ | tests/connectors/test_chunker.py | 24 | def test_short_message_single_chunk(chunker: SemanticChunker) -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 38 | def test_document_splits_on_headings() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 62 | def test_document_splits_on_paragraphs() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 83 | def test_no_mid_sentence_splits() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 106 | def test_email_splits_on_reply_boundaries() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 127 | def test_event_always_single_chunk() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 141 | def test_contact_always_single_chunk() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 155 | def test_parent_metadata_inherited() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 178 | def test_sequential_chunk_indexes() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 197 | def test_note_doc_type_treated_as_document() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 212 | def test_unknown_doc_type_treated_as_document() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 221 | def test_empty_text_returns_empty_list() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 228 | def test_whitespace_only_text_returns_empty_list() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 235 | def test_chunk_result_is_dataclass() -> None: | CODE |
| LOW⚡ | tests/connectors/test_chunker.py | 243 | def test_message_accumulates_into_max_tokens() -> None: | CODE |
| 3795 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pearl-reference-oracle/smoke_test.py | 17 | CODE | |
| LOW | tests/conftest.py | 3 | CODE | |
| LOW | tests/test_digest_integration.py | 7 | CODE | |
| LOW | tests/test_query_orchestrator.py | 3 | CODE | |
| LOW | tests/test_vision.py | 10 | CODE | |
| LOW | tests/connectors/test_embedding_store.py | 3 | CODE | |
| LOW | tests/connectors/test_apple_contacts.py | 7 | CODE | |
| LOW | tests/connectors/test_connectors_router_oauth.py | 28 | CODE | |
| LOW | tests/connectors/test_hybrid_search.py | 3 | CODE | |
| LOW | tests/connectors/test_gmail.py | 6 | CODE | |
| LOW | tests/connectors/test_chunker.py | 3 | CODE | |
| LOW | tests/connectors/test_stubs.py | 3 | CODE | |
| LOW | tests/connectors/test_pipeline_attachments.py | 3 | CODE | |
| LOW | tests/connectors/test_gcontacts.py | 6 | CODE | |
| LOW | tests/connectors/test_gdrive.py | 6 | CODE | |
| LOW | tests/connectors/test_imessage.py | 7 | CODE | |
| LOW | tests/connectors/test_new_connectors_live.py | 6 | CODE | |
| LOW | tests/connectors/test_notion.py | 6 | CODE | |
| LOW | tests/connectors/test_weather.py | 3 | CODE | |
| LOW | tests/connectors/test_sync_engine.py | 3 | CODE | |
| LOW | tests/connectors/test_granola.py | 6 | CODE | |
| LOW | tests/connectors/test_oura.py | 3 | CODE | |
| LOW | tests/connectors/test_connector_health.py | 7 | CODE | |
| LOW | tests/connectors/test_attachment_store.py | 3 | CODE | |
| LOW | tests/connectors/test_scheduler.py | 3 | CODE | |
| LOW | tests/connectors/test_apple_music.py | 6 | CODE | |
| LOW | tests/connectors/test_oauth_flow.py | 3 | CODE | |
| LOW | tests/connectors/test_whatsapp.py | 3 | CODE | |
| LOW | tests/connectors/test_store.py | 3 | CODE | |
| LOW | tests/connectors/test_news_rss.py | 3 | CODE | |
| LOW | tests/connectors/test_apple_notes.py | 7 | CODE | |
| LOW | tests/connectors/test_obsidian.py | 3 | CODE | |
| LOW | tests/connectors/test_gcalendar.py | 6 | CODE | |
| LOW | tests/connectors/test_incremental_sync.py | 3 | CODE | |
| LOW | tests/connectors/test_dropbox.py | 6 | CODE | |
| LOW | tests/connectors/test_outlook.py | 3 | CODE | |
| LOW | tests/connectors/test_integration.py | 3 | CODE | |
| LOW | tests/connectors/test_slack_connector.py | 6 | CODE | |
| LOW | tests/connectors/test_google_tasks.py | 3 | CODE | |
| LOW | tests/connectors/test_hackernews.py | 3 | CODE | |
| LOW | tests/connectors/test_apple_health.py | 3 | CODE | |
| LOW | tests/connectors/test_strava.py | 3 | CODE | |
| LOW | tests/connectors/test_retriever.py | 3 | CODE | |
| LOW | tests/connectors/test_pipeline.py | 3 | CODE | |
| LOW | tests/connectors/test_spotify.py | 3 | CODE | |
| LOW | tests/connectors/test_github_notifications.py | 3 | CODE | |
| LOW | tests/connectors/test_live_smoke.py | 7 | CODE | |
| LOW | tests/traces/test_analyzer.py | 3 | CODE | |
| LOW | tests/traces/test_analyzer_energy.py | 3 | CODE | |
| LOW | tests/traces/test_store.py | 3 | CODE | |
| LOW | tests/traces/test_collector.py | 3 | CODE | |
| LOW | tests/traces/test_types.py | 3 | CODE | |
| LOW | tests/traces/test_store_fts.py | 3 | CODE | |
| LOW | tests/bench/test_energy.py | 3 | CODE | |
| LOW | tests/bench/test_bench_stats.py | 3 | CODE | |
| LOW | tests/bench/test_stubs.py | 3 | CODE | |
| LOW | tests/bench/test_latency.py | 3 | CODE | |
| LOW | tests/bench/test_throughput.py | 3 | CODE | |
| LOW | tests/evals/test_use_case_benchmarks.py | 14 | CODE | |
| LOW | tests/evals/test_eval_telemetry_wiring.py | 11 | CODE | |
| 1625 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/pearl-reference-oracle/smoke_test.py | 86 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 167 | except Exception: | CODE |
| LOW | tests/conftest.py | 179 | except Exception: | CODE |
| LOW⚡ | tests/conftest.py | 191 | except Exception: | CODE |
| LOW | tests/evals/test_dataset_splits_integration.py | 52 | except Exception as exc: # noqa: BLE001 — HF errors live in many modules | CODE |
| LOW | tests/tools/test_tool_registration.py | 91 | except Exception: | CODE |
| LOW | tests/learning/test_optimize_store.py | 346 | except Exception: | CODE |
| LOW | tests/learning/test_optimize_store.py | 357 | except Exception: | CODE |
| LOW | tests/agents/test_native_openhands.py | 51 | except Exception: | CODE |
| LOW | tests/agents/test_native_openhands.py | 79 | except Exception as e: | CODE |
| LOW | tests/agents/test_rlm.py | 38 | except Exception as e: | CODE |
| LOW | tests/agents/test_orchestrator.py | 37 | except Exception as e: | CODE |
| LOW | tests/agents/test_native_react.py | 40 | except Exception as e: | CODE |
| LOW | tests/server/test_agent_manager_routes.py | 513 | except Exception: | CODE |
| LOW | tests/mcp/test_transport.py | 174 | except Exception as exc: # noqa: BLE001 | STRING |
| MEDIUM | tests/mcp/test_transport.py | 170 | def call(): | CODE |
| LOW | tests/cli/test_serve_single_build.py | 71 | except Exception: | CODE |
| LOW | tests/cli/test_serve_single_build.py | 83 | except Exception: | CODE |
| LOW | tests/cli/test_serve_single_build.py | 93 | except Exception: | CODE |
| LOW | tests/test_orchestrator_learning/test_environment.py | 40 | except Exception as e: | CODE |
| LOW | tests/skills/test_integration_live.py | 38 | except Exception: | CODE |
| LOW | tests/skills/test_integration_live.py | 119 | except Exception: | CODE |
| MEDIUM | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1118 | def check_docker_available() -> Tuple[bool, str]: | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 568 | except Exception: | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1124 | except Exception as e: # noqa: BLE001 - intentionally broad | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1160 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1631 | except Exception: # noqa: BLE001 - best-effort | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1640 | except Exception: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 2161 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 2466 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 2474 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 3180 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | …esign/2026-05-05-apple-silicon-pearl-mining-plan-v1.md | 645 | except Exception: # noqa: BLE001 — log and try again | CODE |
| LOW | …esign/2026-05-05-apple-silicon-pearl-mining-plan-v1.md | 1346 | except Exception as e: # noqa: BLE001 | CODE |
| LOW | docs/user-guide/benchmarks.md | 286 | except Exception: | CODE |
| LOW | docs/architecture/channels.md | 104 | except Exception: | CODE |
| LOW | examples/messaging_hub/smart_inbox.py | 112 | except Exception as exc: | CODE |
| LOW | examples/messaging_hub/smart_inbox.py | 162 | except Exception as exc: | CODE |
| LOW | examples/doc_qa/doc_qa.py | 75 | except Exception as exc: | CODE |
| LOW⚡ | examples/doc_qa/doc_qa.py | 91 | except Exception as exc: | CODE |
| MEDIUM⚡ | examples/doc_qa/doc_qa.py | 92 | print(f"Error indexing documents: {exc}", file=sys.stderr) | CODE |
| LOW⚡ | examples/doc_qa/doc_qa.py | 103 | except Exception as exc: | CODE |
| MEDIUM⚡ | examples/doc_qa/doc_qa.py | 104 | print(f"Error during QA: {exc}", file=sys.stderr) | CODE |
| LOW | examples/browser_assistant/browser_assistant.py | 85 | except Exception as exc: | CODE |
| LOW | examples/browser_assistant/browser_assistant.py | 103 | except Exception as exc: | CODE |
| MEDIUM | examples/browser_assistant/browser_assistant.py | 104 | print(f"Error during browsing: {exc}", file=sys.stderr) | CODE |
| LOW | examples/twitter_bot/test_real_world.py | 215 | except Exception as exc: | CODE |
| LOW⚡ | examples/twitter_bot/twitter_bot.py | 646 | except Exception as exc: | CODE |
| LOW⚡ | examples/twitter_bot/twitter_bot.py | 802 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 301 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 356 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 420 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 506 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 533 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 606 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 676 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 703 | except Exception as exc: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 761 | except Exception: | CODE |
| LOW | examples/twitter_bot/twitter_bot.py | 958 | except Exception as exc: | CODE |
| LOW | examples/scheduled_ops/code_review.py | 74 | except Exception as exc: | CODE |
| 852 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/tools/test_http_request.py | 311 | __all__ = ["TestHttpRequestTool"] | CODE |
| LOW | tests/operators/test_operators.py | 86 | def update_task(self, task_dict: Dict) -> None: | CODE |
| LOW | tests/intelligence/test_routing_models.py | 13 | def _setup_models() -> None: | CODE |
| LOW⚡ | tests/security/test_ssrf.py | 254 | __all__ = ["TestCheckSsrf", "TestCheckSsrfPythonFallback", "TestIsPrivateIp"] | CODE |
| LOW⚡ | tests/learning/test_routing_models.py | 33 | def _setup_models() -> None: | CODE |
| LOW | tests/learning/spec_search/test_rollback.py | 16 | def _setup_config_tree(root: Path) -> None: | CODE |
| LOW | tests/server/test_websocket.py | 213 | __all__ = [ | CODE |
| LOW | src/openjarvis/sdk.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/sdk.py | 629 | __all__ = ["Jarvis", "JarvisSystem", "MemoryHandle", "SystemBuilder"] | CODE |
| LOW | src/openjarvis/__init__.py | 15 | __all__ = ["Jarvis", "JarvisSystem", "MemoryHandle", "SystemBuilder", "__version__"] | CODE |
| LOW | src/openjarvis/_rust_bridge.py | 184 | __all__ = [ | CODE |
| LOW | src/openjarvis/connectors/sync_engine.py | 192 | __all__ = ["SyncEngine"] | CODE |
| LOW⚡ | src/openjarvis/connectors/store.py | 185 | def _setup(self) -> None: | CODE |
| LOW | src/openjarvis/connectors/store.py | 496 | __all__ = ["KnowledgeStore"] | CODE |
| LOW | src/openjarvis/connectors/apple_health.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/google_auth.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/google_auth.py | 125 | __all__ = [ | CODE |
| LOW | src/openjarvis/connectors/gmail_imap.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/hybrid_search.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/hybrid_search.py | 778 | __all__ = ["HybridSearch", "SearchHit"] | STRING |
| LOW⚡ | src/openjarvis/connectors/apple_music.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/openjarvis/connectors/whatsapp.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/whatsapp.py | 298 | __all__ = ["WhatsAppConnector"] | CODE |
| LOW | src/openjarvis/connectors/chunker.py | 398 | __all__ = ["ChunkResult", "SemanticChunker"] | CODE |
| LOW⚡ | src/openjarvis/connectors/retriever.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/retriever.py | 301 | __all__ = ["ColBERTReranker", "Reranker", "TwoStageRetriever"] | CODE |
| LOW | src/openjarvis/connectors/__init__.py | 11 | __all__ = ["Attachment", "BaseConnector", "Document", "KnowledgeStore", "SyncStatus"] | CODE |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/openjarvis/connectors/granola.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | src/openjarvis/connectors/gmail.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/embeddings.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/embeddings.py | 162 | __all__ = [ | CODE |
| LOW⚡ | src/openjarvis/connectors/attachment_store.py | 70 | def _setup(self) -> None: | STRING |
| LOW⚡ | src/openjarvis/connectors/attachment_store.py | 180 | __all__ = ["AttachmentStore"] | CODE |
| LOW | src/openjarvis/connectors/pipeline.py | 294 | __all__ = ["IngestionPipeline"] | CODE |
| LOW⚡ | src/openjarvis/connectors/embedding_store.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/embedding_store.py | 179 | __all__ = ["EmbeddingStore"] | CODE |
| LOW | src/openjarvis/connectors/scheduler.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/connectors/scheduler.py | 149 | __all__ = ["SyncScheduler"] | CODE |
| LOW | src/openjarvis/traces/store.py | 307 | __all__ = ["TraceStore"] | CODE |
| LOW | src/openjarvis/traces/analyzer.py | 328 | __all__ = ["RouteStats", "StepTypeStats", "ToolStats", "TraceAnalyzer", "TraceSummary"] | CODE |
| LOW | src/openjarvis/traces/collector.py | 283 | __all__ = ["TraceCollector", "record_response_trace"] | CODE |
| LOW | src/openjarvis/traces/__init__.py | 15 | __all__ = ["TraceAnalyzer", "TraceCollector", "TraceStore"] | CODE |
| LOW | src/openjarvis/bench/latency.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/bench/latency.py | 92 | __all__ = ["LatencyBenchmark"] | CODE |
| LOW | src/openjarvis/bench/throughput.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/bench/throughput.py | 101 | __all__ = ["ThroughputBenchmark"] | CODE |
| LOW | src/openjarvis/bench/__init__.py | 23 | __all__ = [ | CODE |
| LOW | src/openjarvis/bench/energy.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/bench/energy.py | 162 | __all__ = ["EnergyBenchmark"] | CODE |
| LOW | src/openjarvis/bench/_stubs.py | 116 | __all__ = ["BaseBenchmark", "BenchmarkResult", "BenchmarkSuite"] | CODE |
| LOW | src/openjarvis/evals/skill_benchmark.py | 502 | __all__ = [ | CODE |
| LOW | src/openjarvis/evals/cli.py | 166 | def _setup_logging(verbose: bool) -> None: | CODE |
| LOW | src/openjarvis/evals/core/event_recorder.py | 98 | __all__ = ["AgentEvent", "EventRecorder", "EventType"] | CODE |
| LOW | src/openjarvis/evals/core/trace.py | 290 | __all__ = ["TurnTrace", "QueryTrace"] | CODE |
| LOW | src/openjarvis/evals/core/runner.py | 1376 | __all__ = ["EvalRunner"] | CODE |
| LOW | src/openjarvis/evals/core/backend.py | 55 | __all__ = ["InferenceBackend"] | CODE |
| LOW | src/openjarvis/evals/core/config.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/openjarvis/evals/core/config.py | 367 | __all__ = ["EvalConfigError", "load_eval_config", "expand_suite"] | CODE |
| LOW | src/openjarvis/evals/core/types.py | 302 | __all__ = [ | CODE |
| 582 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/connectors/test_apple_contacts.py | 0 | is_connected() returns false when the database file does not exist. | STRING |
| HIGH | tests/connectors/test_imessage.py | 0 | is_connected() returns false when the database file does not exist. | STRING |
| HIGH | tests/connectors/test_apple_notes.py | 0 | is_connected() returns false when the database file does not exist. | STRING |
| HIGH | tests/connectors/test_apple_contacts.py | 0 | mcp_tools() returns exactly 2 tools with the expected names. | STRING |
| HIGH | tests/connectors/test_imessage.py | 0 | mcp_tools() returns exactly 2 tools with the expected names. | STRING |
| HIGH | tests/connectors/test_apple_notes.py | 0 | mcp_tools() returns exactly 2 tools with the expected names. | STRING |
| HIGH | tests/connectors/test_gmail.py | 0 | write a minimal fake credentials file and return its path. | STRING |
| HIGH | tests/connectors/test_gcontacts.py | 0 | write a minimal fake credentials file and return its path. | STRING |
| HIGH | tests/connectors/test_gcalendar.py | 0 | write a minimal fake credentials file and return its path. | STRING |
| HIGH | tests/connectors/test_gmail.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_gcontacts.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_gdrive.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_gcalendar.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_dropbox.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_slack_connector.py | 0 | is_connected() returns false when no credentials file exists. | STRING |
| HIGH | tests/connectors/test_gmail.py | 0 | mcp_tools() returns exactly 3 tools with the required names. | STRING |
| HIGH | tests/connectors/test_gdrive.py | 0 | mcp_tools() returns exactly 3 tools with the required names. | STRING |
| HIGH | tests/connectors/test_gcalendar.py | 0 | mcp_tools() returns exactly 3 tools with the required names. | STRING |
| HIGH | tests/connectors/test_dropbox.py | 0 | mcp_tools() returns exactly 3 tools with the required names. | STRING |
| HIGH | tests/connectors/test_slack_connector.py | 0 | mcp_tools() returns exactly 3 tools with the required names. | STRING |
| HIGH | tests/connectors/test_gcontacts.py | 0 | auth_url() returns the credentials page when no client_id is stored. | STRING |
| HIGH | tests/connectors/test_gdrive.py | 0 | auth_url() returns the credentials page when no client_id is stored. | STRING |
| HIGH | tests/connectors/test_gcalendar.py | 0 | auth_url() returns the credentials page when no client_id is stored. | STRING |
| HIGH | tests/connectors/test_gcontacts.py | 0 | mcp_tools() returns exactly 2 tools with the required names. | STRING |
| HIGH | tests/connectors/test_notion.py | 0 | mcp_tools() returns exactly 2 tools with the required names. | STRING |
| HIGH | tests/connectors/test_granola.py | 0 | mcp_tools() returns exactly 2 tools with the required names. | STRING |
| HIGH | src/openjarvis/connectors/apple_music.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/whatsapp.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/gcalendar.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/imessage.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/slack_connector.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/granola.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/dropbox.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/gmail.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/gcontacts.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/gdrive.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/obsidian.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/notion.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/apple_notes.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/apple_contacts.py | 0 | return sync progress from the most recent :meth:`sync` call. | STRING |
| HIGH | src/openjarvis/connectors/gcalendar.py | 0 | return ``true`` if a credentials file with a valid token exists. | STRING |
| HIGH | src/openjarvis/connectors/gcontacts.py | 0 | return ``true`` if a credentials file with a valid token exists. | STRING |
| HIGH | src/openjarvis/connectors/gdrive.py | 0 | return ``true`` if a credentials file with a valid token exists. | STRING |
| HIGH | src/openjarvis/connectors/slack_connector.py | 0 | return ``true`` if a credentials file with a valid token exists. | STRING |
| HIGH | src/openjarvis/connectors/dropbox.py | 0 | return ``true`` if a credentials file with a valid token exists. | STRING |
| HIGH | src/openjarvis/evals/scorers/mmlu_pro_mcq.py | 0 | use the judge llm to extract the answer letter from the response. | STRING |
| HIGH | src/openjarvis/evals/scorers/gpqa_mcq.py | 0 | use the judge llm to extract the answer letter from the response. | STRING |
| HIGH | src/openjarvis/evals/scorers/supergpqa_mcq.py | 0 | use the judge llm to extract the answer letter from the response. | STRING |
| HIGH | src/openjarvis/evals/scorers/coding_task.py | 0 | extract python code from model answer, handling markdown fences. | STRING |
| HIGH | src/openjarvis/evals/scorers/livecodebench.py | 0 | extract python code from model answer, handling markdown fences. | STRING |
| HIGH | src/openjarvis/evals/scorers/coding_assistant.py | 0 | extract python code from model answer, handling markdown fences. | STRING |
| HIGH | src/openjarvis/channels/whatsapp.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/webhook.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/mattermost.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/teams.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/irc_channel.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/google_chat.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/bluebubbles.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/matrix_channel.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| HIGH | src/openjarvis/channels/feishu.py | 0 | mark as connected (send-only — no persistent connection). | STRING |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/evals/test_lifelong_agent.py | 109 | "script": "test -f /tmp/testfile && exit 0 || exit 1", | CODE |
| HIGH⚡ | tests/evals/test_lifelong_agent.py | 109 | "script": "test -f /tmp/testfile && exit 0 || exit 1", | CODE |
| HIGH⚡ | tests/evals/test_lifelong_agent.py | 114 | "script": "test -f /tmp/testfile && exit 0 || exit 1", | CODE |
| HIGH⚡ | tests/evals/test_lifelong_agent.py | 114 | "script": "test -f /tmp/testfile && exit 0 || exit 1", | CODE |
| HIGH | tests/evals/comparison/test_openclaw_runner_contract.py | 23 | " payloads: [{ text: 'hello from openclaw', mediaUrl: null }],", | CODE |
| HIGH | tests/tools/test_repl.py | 171 | result = tool.execute(code="print(undefined)") | CODE |
| HIGH | tests/cli/test_self_update.py | 24 | "editable-git": "cd /tmp/repo && git pull && uv sync", | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 16 | buf.push(TelemetrySample(timestamp_ns=100)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 22 | buf.push(TelemetrySample(timestamp_ns=i * 100)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 28 | buf.push(TelemetrySample(timestamp_ns=i * 1000)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 34 | buf.push(TelemetrySample(timestamp_ns=1)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 43 | buf.push( | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 56 | buf.push(TelemetrySample(timestamp_ns=0, gpu_power_w=100.0)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 63 | buf.push(TelemetrySample(timestamp_ns=0, gpu_power_w=100.0, cpu_power_w=40.0)) | CODE |
| HIGH⚡ | tests/telemetry/test_session.py | 64 | buf.push( | CODE |
| HIGH | tests/telemetry/test_phase_metrics_new.py | 17 | session._buffer.push( | CODE |
| HIGH⚡ | tests/engine/test_stream_full.py | 204 | ' "finish_reason": null}]}' | CODE |
| HIGH⚡ | tests/engine/test_stream_full.py | 209 | ' "finish_reason": null}]}' | CODE |
| HIGH | src/openjarvis/evals/datasets/coding_task.py | 203 | "examples": "serialize a tree [1,2,3,null,null,4,5] -> some string\ndeserialize that string -> same tree", | CODE |
| HIGH | src/openjarvis/evals/datasets/webchorearena.py | 107 | "Install with: pip install playwright && playwright install" | CODE |
| HIGH | src/openjarvis/evals/datasets/workarena.py | 239 | "Install with: pip install playwright==1.44.0 && playwright install" | CODE |
| HIGH | src/openjarvis/evals/scorers/terminalbench_v2_1.py | 106 | "cat /logs/verifier/reward.txt 2>/dev/null || echo 0", | CODE |
| HIGH | src/openjarvis/evals/scorers/terminalbench_v2_1.py | 169 | "mkdir -p /logs/verifier && sleep infinity", | CODE |
| HIGH | src/openjarvis/evals/scorers/terminalbench_v2_1.py | 187 | "cat > /app/solve.sh && chmod +x /app/solve.sh", | CODE |
| HIGH | src/openjarvis/evals/scorers/terminalbench_v2_1.py | 201 | "cd /app && bash /app/solve.sh", | CODE |
| HIGH | src/openjarvis/evals/scorers/terminalbench_v2_1.py | 228 | "cat /logs/verifier/reward.txt 2>/dev/null || echo 0", | CODE |
| HIGH | src/openjarvis/evals/execution/webchorearena_env.py | 9 | - playwright (pip install playwright && playwright install) | STRING |
| HIGH | …c/openjarvis/evals/execution/terminalbench_v2_1_env.py | 84 | "mkdir -p /logs/verifier && sleep infinity", | CODE |
| HIGH | src/openjarvis/server/comparison.py | 285 | && cd OpenJarvis && uv sync</code> | CODE |
| HIGH | src/openjarvis/server/comparison.py | 428 | + 'OpenJarvis.git && cd OpenJarvis && uv sync'; | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 360 | .textContent = fmtDollar(oa.total_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 362 | .textContent = fmtDollar(oa.input_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 364 | .textContent = fmtDollar(oa.output_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 369 | .textContent = fmtDollar(an.total_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 371 | .textContent = fmtDollar(an.input_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 373 | .textContent = fmtDollar(an.output_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 378 | .textContent = fmtDollar(go.total_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 380 | .textContent = fmtDollar(go.input_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 382 | .textContent = fmtDollar(go.output_cost || 0); | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 394 | const ej = oa.energy_joules || 0; | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 395 | const eWh = oa.energy_wh || 0; | CODE |
| HIGH⚡ | src/openjarvis/server/dashboard.py | 396 | const fl = oa.flops || 0; | CODE |
| HIGH | src/openjarvis/cli/self_update_cmd.py | 7 | - Editable git checkouts get ``git pull && uv sync`` in the checkout. | STRING |
| HIGH | src/openjarvis/cli/_install_detect.py | 14 | ``git pull && uv sync`` from the checkout. | STRING |
| HIGH | src/openjarvis/cli/_install_detect.py | 71 | upgrade_command=f"cd {candidate} && git pull && uv sync", | CODE |
| HIGH | src/openjarvis/telemetry/session.py | 112 | self._buffer.push(sample) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/memory/test_storage_suite.py | 32 | CODE | |
| LOW | tests/server/test_websocket.py | 74 | CODE | |
| LOW | tests/server/test_websocket.py | 127 | CODE | |
| LOW | tests/server/test_websocket.py | 185 | CODE | |
| LOW | tests/cli/test_serve_single_build.py | 43 | CODE | |
| LOW | tests/mining/test_cpu_pearl.py | 226 | CODE | |
| LOW | tests/channels/test_twitter_bot_e2e.py | 701 | CODE | |
| LOW | tests/channels/test_channels_phase21.py | 110 | CODE | |
| LOW | examples/twitter_bot/test_real_world.py | 132 | CODE | |
| LOW | examples/twitter_bot/twitter_bot.py | 515 | CODE | |
| LOW | src/openjarvis/sdk.py | 440 | CODE | |
| LOW | src/openjarvis/connectors/apple_health.py | 195 | CODE | |
| LOW | src/openjarvis/connectors/gmail_imap.py | 43 | CODE | |
| LOW | src/openjarvis/connectors/gcalendar.py | 318 | CODE | |
| LOW | src/openjarvis/connectors/retriever.py | 131 | CODE | |
| LOW | src/openjarvis/connectors/imessage.py | 100 | CODE | |
| LOW | src/openjarvis/connectors/slack_connector.py | 367 | CODE | |
| LOW | src/openjarvis/connectors/dropbox.py | 199 | CODE | |
| LOW | src/openjarvis/connectors/pipeline.py | 149 | CODE | |
| LOW | src/openjarvis/connectors/gdrive.py | 210 | CODE | |
| LOW | src/openjarvis/connectors/scheduler.py | 129 | CODE | |
| LOW | src/openjarvis/connectors/notion.py | 118 | CODE | |
| LOW | src/openjarvis/connectors/notion.py | 307 | CODE | |
| LOW | src/openjarvis/connectors/apple_notes.py | 144 | CODE | |
| LOW | src/openjarvis/connectors/apple_contacts.py | 308 | CODE | |
| LOW | src/openjarvis/bench/energy.py | 36 | CODE | |
| LOW | src/openjarvis/evals/skill_benchmark.py | 273 | CODE | |
| LOW | src/openjarvis/evals/skill_benchmark.py | 394 | CODE | |
| LOW | src/openjarvis/evals/cli.py | 175 | CODE | |
| LOW | src/openjarvis/evals/cli.py | 264 | CODE | |
| LOW | src/openjarvis/evals/cli.py | 433 | CODE | |
| LOW | src/openjarvis/evals/cli.py | 1497 | CODE | |
| LOW | src/openjarvis/evals/cli.py | 1647 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 106 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 306 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 523 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 595 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 646 | CODE | |
| LOW | src/openjarvis/evals/core/runner.py | 823 | CODE | |
| LOW | src/openjarvis/evals/core/export.py | 214 | CODE | |
| LOW | src/openjarvis/evals/core/agentic_runner.py | 311 | CODE | |
| LOW | src/openjarvis/evals/core/agentic_runner.py | 665 | CODE | |
| LOW | src/openjarvis/evals/core/agentic_runner.py | 366 | CODE | |
| LOW | src/openjarvis/evals/environments/lifelong_agent_env.py | 157 | CODE | |
| LOW | src/openjarvis/evals/environments/lifelong_agent_env.py | 305 | CODE | |
| LOW | src/openjarvis/evals/environments/lifelong_agent_env.py | 703 | CODE | |
| LOW | src/openjarvis/evals/environments/lifelong_agent_env.py | 862 | CODE | |
| LOW | src/openjarvis/evals/environments/base.py | 20 | CODE | |
| LOW | …rvis/evals/backends/external/_runners/hermes_runner.py | 25 | CODE | |
| LOW | src/openjarvis/evals/datasets/toolorchestra.py | 58 | CODE | |
| LOW | src/openjarvis/evals/datasets/toolorchestra.py | 107 | CODE | |
| LOW | src/openjarvis/evals/datasets/paperarena.py | 94 | CODE | |
| LOW | src/openjarvis/evals/datasets/livecodebench.py | 148 | CODE | |
| LOW | src/openjarvis/evals/datasets/adp.py | 74 | CODE | |
| LOW | src/openjarvis/evals/datasets/adp.py | 120 | CODE | |
| LOW | src/openjarvis/evals/datasets/terminalbench_native.py | 24 | CODE | |
| LOW | src/openjarvis/evals/datasets/webchorearena.py | 178 | CODE | |
| LOW | src/openjarvis/evals/datasets/webchorearena.py | 217 | CODE | |
| LOW | src/openjarvis/evals/datasets/deepplanning.py | 119 | CODE | |
| LOW | src/openjarvis/evals/scorers/coding_task.py | 48 | CODE | |
| 223 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pyproject.toml | 228 | # hybrid/ is research code with long prompt strings and paradigm-specific | COMMENT |
| MEDIUM | tests/evals/test_agentic_runner.py | 177 | # Failed task: recorded distinctly as a harness error, not a miss. | COMMENT |
| MEDIUM⚡ | tests/evals/test_terminalbench_native_backend.py | 237 | # CLI wiring: config -> backend -> harness kwargs -> RunSummary | COMMENT |
| MEDIUM | tests/evals/test_terminalbench_native_backend.py | 300 | # The harness failure is reported loudly with its task id. | COMMENT |
| MEDIUM⚡ | tests/evals/test_export.py | 167 | assert totals["unresolved"] == 1 # NOT 2: harness error excluded | CODE |
| MEDIUM⚡ | tests/evals/test_export.py | 169 | # Flat table_gen metrics exclude the harness error too. | COMMENT |
| LOW⚡ | tests/channels/test_channel_contract.py | 46 | # Should not raise — just set status to ERROR or DISCONNECTED | COMMENT |
| MEDIUM | examples/code_companion/test_gen.py | 2 | """Test Generator — generate comprehensive tests for a Python module with a ReAct agent. | STRING |
| MEDIUM | examples/code_companion/test_gen.py | 65 | """Generate comprehensive tests for a Python MODULE using a ReAct agent. | STRING |
| MEDIUM | scripts/smoke_framework_comparison.sh | 4 | # One-task-per-cell sanity check for the framework-comparison harness. | COMMENT |
| MEDIUM | scripts/install/install.sh | 376 | # scratch each call, which is robust against any prior format drift. | COMMENT |
| MEDIUM | src/openjarvis/evals/cli.py | 738 | # harness runs in-process, so set the var for the duration of the | COMMENT |
| MEDIUM | src/openjarvis/evals/cli.py | 752 | # Convert BenchmarkResults to RunSummary, classifying harness/infra | COMMENT |
| MEDIUM | src/openjarvis/evals/core/config.py | 298 | # terminal-bench harness budgets: benchmark > [run] | COMMENT |
| MEDIUM | src/openjarvis/evals/core/types.py | 92 | # Override the agent harness's max_turns budget. Default None means use | COMMENT |
| MEDIUM | src/openjarvis/evals/core/types.py | 105 | # terminal-bench harness budgets (terminalbench-native backend). | COMMENT |
| MEDIUM⚡ | src/openjarvis/evals/core/types.py | 240 | # Override the agent harness's per-run max_turns budget. None falls back | COMMENT |
| MEDIUM⚡ | src/openjarvis/evals/core/types.py | 244 | # terminal-bench harness budgets (see RunConfig for semantics). | COMMENT |
| MEDIUM | src/openjarvis/evals/core/types.py | 280 | # Per-benchmark override of the terminal-bench harness budgets | COMMENT |
| MEDIUM | src/openjarvis/evals/core/agentic_runner.py | 453 | # Docker/tmux death) from agent failures: harness errors must be | COMMENT |
| MEDIUM | src/openjarvis/evals/backends/jarvis_agent.py | 168 | # the comparison harness still gets meaningful turn data. | COMMENT |
| MEDIUM⚡ | src/openjarvis/evals/backends/terminalbench_native.py | 26 | # failures (the harness broke before/while driving the agent), never a | COMMENT |
| MEDIUM⚡ | src/openjarvis/evals/backends/terminalbench_native.py | 30 | # harness errors (it would misflag every real model miss). | COMMENT |
| MEDIUM | src/openjarvis/evals/backends/terminalbench_native.py | 191 | # LLM objects in the harness lock file). | COMMENT |
| MEDIUM | src/openjarvis/evals/datasets/research_mining.py | 15 | _PROMPT_TEMPLATE = """You are a research assistant. Please research the following question and provide a comprehensive a | CODE |
| MEDIUM | src/openjarvis/evals/scorers/swebench_harness.py | 99 | # Kill the whole group, not just the direct child — Modal harness | COMMENT |
| MEDIUM | src/openjarvis/evals/scorers/swebench_harness.py | 464 | # The harness subprocess (and its Modal grandchildren) exceeded | COMMENT |
| MEDIUM | src/openjarvis/evals/scorers/swebench_harness.py | 492 | # not `resolved_instances` (older). Older harness wrote lists into | COMMENT |
| MEDIUM | src/openjarvis/evals/scorers/swebench_harness.py | 536 | # the same SWE instance don't collide on the harness's shared cache. | COMMENT |
| MEDIUM | src/openjarvis/evals/execution/terminalbench_env.py | 58 | # record a harness error for THIS task and continue with the rest. | COMMENT |
| MEDIUM | src/openjarvis/evals/configs/use_case_react.toml | 2 | # Thought-Action-Observation loop — classic ReAct paradigm. | COMMENT |
| MEDIUM | …s/evals/configs/framework_comparison/_third_party.toml | 8 | # harness can drive it: | COMMENT |
| MEDIUM | src/openjarvis/agents/__init__.py | 87 | # Hybrid local+cloud paradigm agents (Minions, Conductor, Archon, Advisors, | COMMENT |
| MEDIUM⚡ | src/openjarvis/agents/hybrid/_base.py | 434 | # SDK call helpers — raw clients, paradigm-shaped quirks applied | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/_base.py | 61 | # every paradigm (advisors, conductor, minions, mini_swe_agent's cloud | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/runner.py | 56 | # stacking on top of a hung connection, a Modal harness subprocess whose | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/_openai_retry.py | 347 | # day a paradigm actually uses it. | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/mini_swe_agent.py | 142 | # Our harness has no ``/testbed``; the repo is cloned into a per-task | STRING |
| MEDIUM | src/openjarvis/agents/hybrid/__init__.py | 29 | # Import each paradigm to trigger its @AgentRegistry.register() decorator. | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/minions.py | 262 | # Skip the OpenAI-compat branch — Minions paradigm never sets that. | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/scripts/new_experiment.sh | 2 | # Scaffold a new hybrid paradigm experiment cell. | COMMENT |
| MEDIUM⚡ | …c/openjarvis/agents/hybrid/registry/toolorchestra.toml | 103 | # diff extraction, Modal-harness scoring. Promote to n=100 once green. | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/registry/advisors.toml | 3 | # Inference-only repro of the advisor paradigm: cloud drafts → local advisor | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/registry/advisors.toml | 5 | # (no training in this harness) — these are the untrained-advisor lower bound. | COMMENT |
| MEDIUM | …/openjarvis/agents/hybrid/registry/swe_agent_loop.toml | 1 | # SWE-bench cells that run each paradigm through mini-SWE-agent. | COMMENT |
| MEDIUM | …/openjarvis/agents/hybrid/registry/swe_agent_loop.toml | 6 | # Expected: 0.30 → ~0.5-0.77 jump per paradigm (depending on which model | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/crates/openjarvis-security/src/lib.rs | 1 | //! Security guardrails — scanners, RBAC, taint tracking, audit, SSRF protection. | COMMENT |
| MEDIUM | tests/cli/test_serve_single_build.py | 132 | # so we don't need real guardrails wired up. | COMMENT |
| MEDIUM | tests/skills/test_native_react_few_shot.py | 81 | # Build an overlay so the manager picks up real few-shot examples | COMMENT |
| MEDIUM | …ign/2026-05-05-vllm-pearl-mining-integration-design.md | 70 | _docker.py # PearlDockerLauncher — shared Docker orchestration (image acquisition + container lifecycle) | CODE |
| MEDIUM | docs/user-guide/agents.md | 454 | The `OpenCodeAgent` delegates coding tasks to [opencode](https://opencode.ai), the open-source coding agent, running it | CODE |
| MEDIUM | docs/architecture/skills.md | 162 | # 4. Capture few-shot examples for agents | COMMENT |
| MEDIUM | docs/architecture/intelligence.md | 32 | context_length: int # Maximum context window (tokens) | CODE |
| MEDIUM | src/openjarvis/sdk.py | 217 | # Apply security guardrails | COMMENT |
| MEDIUM | src/openjarvis/evals/cli.py | 1394 | # --episode-mode takes precedence over --agentic. | COMMENT |
| MEDIUM | src/openjarvis/evals/core/types.py | 17 | category: str # "chat" | "reasoning" | "rag" | "agentic" | CODE |
| MEDIUM⚡ | src/openjarvis/evals/core/types.py | 242 | # thinking/reasoning models on agentic benchmarks (GAIA, LiveResearch). | COMMENT |
| MEDIUM | src/openjarvis/evals/core/display.py | 156 | # MBU row from agentic trace metrics | COMMENT |
| MEDIUM | src/openjarvis/evals/backends/jarvis_agent.py | 68 | # multi-step agentic benchmarks (Trinity-Large hit the cap on 25/50 | COMMENT |
| MEDIUM | src/openjarvis/evals/datasets/terminalbench_v2_1.py | 158 | # agentic backend is in use, the container is live, and every | COMMENT |
| MEDIUM⚡ | src/openjarvis/evals/scorers/pinchbench.py | 527 | # Standalone scorer (for EvalRunner non-agentic path) | COMMENT |
| MEDIUM | …s/evals/configs/glm-4.7-flash-openhands-remaining.toml | 45 | # RAG: FRAMES | COMMENT |
| MEDIUM | …/openjarvis/evals/configs/glm-4.7-flash-openhands.toml | 54 | # RAG: FRAMES — multi-hop factual retrieval | COMMENT |
| MEDIUM | …jarvis/evals/configs/qwen3.5-122b-reasoning-suite.toml | 18 | max_workers = 4 # Non-agentic, safe to parallelize | CODE |
| MEDIUM | …/openjarvis/evals/configs/qwen3.5-122b-kg-agentic.toml | 1 | # Experiment 4: LifelongAgent KG with agentic backend (multi-turn reasoning) | COMMENT |
| MEDIUM | …s/learning/optimize/configs/qwen3.5-joint-agentic.toml | 2 | # Optimizes across terminalbench-native (agentic), GAIA (agentic), HLE (reasoning) | COMMENT |
| MEDIUM | src/openjarvis/learning/agents/skill_optimizer.py | 244 | # Fallback: if DSPy produced nothing, derive few-shot from top traces | COMMENT |
| MEDIUM | src/openjarvis/learning/agents/skill_optimizer.py | 300 | # Fallback: if GEPA produced nothing, derive few-shot from top traces | COMMENT |
| MEDIUM | …njarvis/learning/spec_search/diagnose/teacher_agent.py | 216 | # 1M-token context window. | COMMENT |
| MEDIUM⚡ | src/openjarvis/learning/spec_search/diagnose/tools.py | 100 | # blow out the teacher's context window. monitor_operative traces | COMMENT |
| MEDIUM | src/openjarvis/learning/spec_search/diagnose/tools.py | 155 | # 50-95K tokens; returning raw content would blow the context window. | COMMENT |
| MEDIUM⚡ | src/openjarvis/learning/routing/complexity.py | 51 | # Models known to use internal chain-of-thought that consumes output tokens. | COMMENT |
| MEDIUM⚡ | src/openjarvis/learning/routing/complexity.py | 68 | # Thinking models need extra headroom for internal chain-of-thought. | COMMENT |
| MEDIUM | src/openjarvis/agents/rlm.py | 209 | # Inject few-shot exemplars before the user input | COMMENT |
| MEDIUM | src/openjarvis/agents/native_react.py | 138 | # Plan 2B I3: render optimized few-shot skill examples as a section | COMMENT |
| MEDIUM | src/openjarvis/agents/native_react.py | 165 | # Inject few-shot exemplars before the user input | COMMENT |
| MEDIUM | src/openjarvis/agents/native_openhands.py | 277 | # Inject few-shot exemplars before the user input | COMMENT |
| MEDIUM | src/openjarvis/agents/monitor_operative.py | 234 | # 4b. Inject few-shot exemplars before the user input | COMMENT |
| MEDIUM | src/openjarvis/agents/deep_research.py | 229 | # Inject few-shot exemplars before the user input | COMMENT |
| MEDIUM | src/openjarvis/agents/_stubs.py | 340 | # Plan 2B I3: store optimized few-shot examples for agents to inject | COMMENT |
| MEDIUM⚡ | src/openjarvis/agents/hybrid/skillorchestra/tools.py | 39 | # Tool schemas — orchestration/tools.json, in Anthropic + OpenAI shapes. | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/skillorchestra/pool.py | 31 | # and orchestration/tools.json exactly. | COMMENT |
| MEDIUM | …c/openjarvis/agents/hybrid/registry/toolorchestra.toml | 90 | # Skipped vs. paper: FAISS RAG, Qwen2.5-Math-{72B,7B} (not on OpenRouter). | COMMENT |
| MEDIUM | src/openjarvis/agents/hybrid/registry/conductor.toml | 3 | # Stage-1 substitutes the (untrained) Qwen2.5-7B conductor with a zero-shot | COMMENT |
| MEDIUM | src/openjarvis/server/routes.py | 230 | # If a future caller needs agent orchestration WITH client-supplied | COMMENT |
| MEDIUM⚡ | src/openjarvis/cli/ask.py | 796 | # Research mode — hybrid search + agentic loop over the knowledge store | COMMENT |
| MEDIUM | src/openjarvis/cli/ask.py | 809 | # Apply security guardrails | COMMENT |
| MEDIUM | src/openjarvis/cli/serve.py | 166 | # Apply security guardrails | COMMENT |
| MEDIUM | src/openjarvis/engine/cloud.py | 709 | # - thinking (Opus reasoning trace) | COMMENT |
| MEDIUM | src/openjarvis/engine/multi.py | 60 | # vLLM outage during a long agentic run would otherwise route every | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/connectors/test_retriever.py | 240 | # Create a fake cached embedding (T=20 tokens, dim=128) | COMMENT |
| MEDIUM⚡ | tests/connectors/test_retriever.py | 247 | # Create a reranker with the mocked embedding store | COMMENT |
| MEDIUM⚡ | tests/connectors/test_pipeline.py | 148 | # Create a pipeline with a very small max_tokens to force splitting | COMMENT |
| MEDIUM | tests/bench/test_energy.py | 67 | # Create a mock energy monitor with a sample() context manager | COMMENT |
| MEDIUM⚡ | tests/evals/test_eval_telemetry_wiring.py | 356 | # Create a mock config with telemetry.gpu_metrics attribute | COMMENT |
| MEDIUM | tests/tools/test_templates.py | 149 | # Create a custom template | COMMENT |
| MEDIUM | tests/tools/test_git_tool.py | 117 | # Create an initial commit so HEAD exists | COMMENT |
| MEDIUM | tests/tools/test_audio_tool.py | 53 | # Create a file that appears to exceed 25 MB | COMMENT |
| MEDIUM | tests/integration/test_integration.py | 535 | # Create a test file with enough content to produce chunks | COMMENT |
| MEDIUM | tests/learning/spec_search/test_checkpoint_store.py | 149 | # Create an untracked, uncommitted change. | COMMENT |
| MEDIUM | tests/scheduler/test_scheduler.py | 307 | # Create a task that is already due | COMMENT |
| MEDIUM | tests/server/test_connectors_router.py | 60 | # Create a minimal vault directory so is_connected() returns True. | COMMENT |
| MEDIUM | tests/cli/test_tool_cmd.py | 155 | # Create a mock tool class with a spec | COMMENT |
| MEDIUM | tests/cli/test_tool_cmd.py | 178 | # Create a mock tool with full spec including parameters | COMMENT |
| MEDIUM | tests/cli/test_tool_cmd.py | 227 | # Create a simple class without spec attribute | COMMENT |
| MEDIUM | tests/cli/test_memory_cmd.py | 27 | # Create a text file with enough content | COMMENT |
| MEDIUM⚡ | tests/cli/test_config_cmd.py | 55 | # Create a temporary config file | COMMENT |
| MEDIUM⚡ | tests/cli/test_config_cmd.py | 156 | # Create a temporary config file | COMMENT |
| MEDIUM⚡ | tests/cli/test_config_cmd.py | 168 | # Create a path for a non-existent config file | COMMENT |
| MEDIUM | tests/cli/test_config_cmd.py | 83 | # Create a temporary config file | COMMENT |
| MEDIUM | tests/cli/test_config_cmd.py | 114 | # Create a temporary config file | COMMENT |
| MEDIUM | tests/cli/test_config_cmd.py | 128 | # Create a temporary config file | COMMENT |
| MEDIUM | tests/cli/test_config_cmd.py | 181 | # Create a custom config file | COMMENT |
| MEDIUM | tests/sdk/test_sdk.py | 156 | # Create a test file with enough content to produce chunks | COMMENT |
| MEDIUM | tests/skills/test_cli_install.py | 41 | # Create a HermesResolver pointed at the fake cache | COMMENT |
| MEDIUM | src/openjarvis/evals/environments/lifelong_agent_env.py | 728 | # Create a new variable for the result | COMMENT |
| MEDIUM | src/openjarvis/learning/agents/dspy_optimizer.py | 101 | # Define a simple metric based on trace feedback | COMMENT |
| MEDIUM | src/openjarvis/server/agent_manager_routes.py | 1815 | # Create a new ChannelBridge with DeepResearch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/learning/test_llm_optimizer.py | 760 | # Step 1: initial proposal | COMMENT |
| LOW⚡ | tests/learning/test_llm_optimizer.py | 764 | # Step 2: build history and ask for next | COMMENT |
| LOW | docs/user-guide/benchmarks.md | 247 | ### Step 1: Implement the Benchmark | COMMENT |
| LOW | docs/user-guide/benchmarks.md | 299 | ### Step 2: Register the Benchmark | COMMENT |
| LOW | docs/user-guide/benchmarks.md | 321 | ### Step 3: Use Your Benchmark | COMMENT |
| LOW | docs/architecture/query-flow.md | 104 | ### Step 1: Configuration Loading | COMMENT |
| LOW | docs/architecture/query-flow.md | 119 | ### Step 2: Engine Discovery | COMMENT |
| LOW | docs/architecture/query-flow.md | 135 | ### Step 3: Model Discovery and Registration | COMMENT |
| LOW | docs/architecture/query-flow.md | 147 | ### Step 4: Model Routing | COMMENT |
| LOW | docs/architecture/query-flow.md | 170 | ### Step 5: Memory Context Injection | COMMENT |
| LOW | docs/architecture/query-flow.md | 190 | ### Step 6: Inference Generation | COMMENT |
| LOW | docs/architecture/query-flow.md | 215 | ### Step 7: Tool Execution (Agent Mode Only) | COMMENT |
| LOW | docs/architecture/query-flow.md | 225 | ### Step 8: Telemetry Recording | COMMENT |
| LOW | docs/architecture/query-flow.md | 249 | ### Step 9: Trace Recording | COMMENT |
| LOW | docs/architecture/query-flow.md | 259 | ### Step 10: Response Delivery | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 13 | ## Step 1: Install Skills from Hermes Agent | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 36 | ## Step 2: Inspect an Installed Skill | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 60 | ## Step 3: Use Skills with an Agent | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 84 | ## Step 4: Create Your Own Skill | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 133 | ## Step 5: Generate Traces | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 148 | ## Step 6: Discover Patterns from Traces | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 162 | ## Step 7: Optimize Skills with DSPy | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 185 | ## Step 8: Benchmark the Impact | COMMENT |
| LOW | docs/tutorials/skills-workflow.md | 196 | ## Step 9: Configure Auto-Import and Auto-Optimization | COMMENT |
| LOW⚡ | examples/doc_qa/doc_qa.py | 86 | # Step 1: Index documents into memory | COMMENT |
| LOW⚡ | examples/doc_qa/doc_qa.py | 96 | # Step 2: Ask the question with memory context enabled | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 56 | ## Step 1: Diagnose | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 59 | ## Step 2: Comment your plan | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 65 | ## Step 3: Implement | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 69 | ## Step 4: Test | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 76 | ## Step 5: Open PR | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 406 | # Step 0: resolve workspace context — the subdomain is needed for | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 425 | # Step 1: build user map (so DMs render with peer names, not IDs) | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 430 | # Step 2: enumerate every conversation up front so we can log a | COMMENT |
| LOW | src/openjarvis/connectors/slack_connector.py | 470 | # Step 3: fetch history per channel and yield Documents. | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 133 | # Step 1: Collect data from connectors | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 143 | # Step 2: Synthesize narrative via LLM | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 197 | # Step 3: Generate audio via TTS | COMMENT |
| LOW | src/openjarvis/agents/morning_digest.py | 225 | # Step 4: Store the artifact | COMMENT |
| LOW⚡ | src/openjarvis/cli/quickstart_cmd.py | 89 | # Step 1: Detect hardware | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 104 | # Step 2: Write config | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 117 | # Step 3: Check engine | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 140 | # Step 4: Verify model | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 151 | # Step 5: Test query | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 241 | # openjarvis_rust is the native PyO3 extension, built from the local Rust | COMMENT |
| LOW | frontend/src-tauri/scripts/download-ollama.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 101 | COMMENT | |
| LOW | frontend/src-tauri/src/lib.rs | 481 | false | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 501 | } | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 761 | /// classic symptom: `uv` finds `python3`, `python3` tries to `import numpy`, | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 1221 | // The OLD behaviour was: any HTTP response (even 404) → `fuser -k 8000/tcp` | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 1541 | COMMENT | |
| LOW | frontend/src-tauri/src/lib.rs | 3221 | // ----------------------------------------------------------------- | COMMENT |
| LOW | frontend/src-tauri/src/lib.rs | 3241 | // tests setting and unsetting it concurrently. `static Mutex` works | COMMENT |
| LOW | deploy/posthog/posthog-hetzner-prep.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | rust/rust-toolchain.toml | 1 | # Pin the Rust toolchain for the openjarvis_rust workspace. | COMMENT |
| LOW | rust/crates/openjarvis-core/src/types.rs | 281 | #[serde(default)] | COMMENT |
| LOW | rust/crates/openjarvis-core/src/types.rs | 561 | COMMENT | |
| LOW | rust/crates/openjarvis-core/src/config.rs | 881 | } | COMMENT |
| LOW | rust/crates/openjarvis-core/src/hardware.rs | 1 | //! Hardware detection and engine recommendation. | COMMENT |
| LOW | …ates/openjarvis-learning/src/optimize/llm_optimizer.rs | 1 | //! LLM-based optimizer for OpenJarvis configuration tuning. | COMMENT |
| LOW | rust/crates/openjarvis-learning/src/optimize/types.rs | 41 | pub dim_type: DimensionType, | COMMENT |
| LOW | rust/crates/openjarvis-learning/src/optimize/types.rs | 301 | // Trial types | COMMENT |
| LOW | …rates/openjarvis-learning/src/optimize/search_space.rs | 1 | //! Search space builder and default search space for configuration optimization. | COMMENT |
| LOW | rust/crates/openjarvis-learning/src/optimize/engine.rs | 141 | COMMENT | |
| LOW | rust/crates/openjarvis-tools/src/storage/hybrid.rs | 1 | //! Hybrid memory backend — Reciprocal Rank Fusion (RRF) over multiple backends. | COMMENT |
| LOW | rust/crates/openjarvis-python/src/agents.rs | 241 | #[pyclass(name = "MonitorOperativeAgent")] | COMMENT |
| LOW | rust/crates/openjarvis-python/src/learning.rs | 181 | COMMENT | |
| LOW | rust/crates/openjarvis-agents/src/monitor_operative.rs | 21 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | …esign/2026-05-05-vllm-pearl-mining-integration-plan.md | 1681 | `tests/mining/fixtures/gateway_metrics_sample.txt`: | COMMENT |
| LOW | docs/architecture/intelligence.md | 181 | default_model = "qwen3:8b" | COMMENT |
| LOW | docs/javascripts/leaderboard-config.js | 1 | // Public Supabase config for the savings leaderboard. | COMMENT |
| LOW | examples/twitter_bot/twitter_bot.py | 81 | }, | COMMENT |
| LOW | examples/twitter_bot/twitter_bot.py | 241 | COMMENT | |
| LOW | configs/openjarvis/examples/spec-search-quickstart.toml | 1 | # LLM-Guided Spec Search — quickstart configuration | COMMENT |
| LOW | configs/openjarvis/examples/chat-simple.toml | 1 | # Simple Chat — lightweight conversational AI, no tools | COMMENT |
| LOW | configs/openjarvis/examples/scheduled-monitor.toml | 1 | # Scheduled Monitor — persistent agent that runs on a schedule | COMMENT |
| LOW | scripts/smoke_framework_comparison.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/install/install.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/install/install.sh | 201 | # Prefer `python3` (Linux / macOS / WSL convention); fall back to `python` | COMMENT |
| LOW | src/openjarvis/connectors/gmail_imap.py | 161 | # Always SEARCH ALL. IMAP has no native cursor that survives a | COMMENT |
| LOW | src/openjarvis/connectors/chunker.py | 221 | # max_chars after overlap, which still sits under any reasonable | COMMENT |
| LOW | src/openjarvis/evals/core/agentic_runner.py | 561 | # Failed in-container setups (e.g. an installed agent's SETUP phase | COMMENT |
| LOW | src/openjarvis/evals/datasets/adp.py | 121 | self, | COMMENT |
| LOW | …is/evals/configs/use_case_opensource_orchestrator.toml | 1 | # Open-source models × Orchestrator agent on 5 use-case benchmarks. | COMMENT |
| LOW | …arvis/evals/configs/use_case_opensource_openhands.toml | 1 | # Open-source models × NativeOpenHands (CodeAct) agent on 5 use-case benchmarks. | COMMENT |
| LOW | …s/evals/configs/framework_comparison/_third_party.toml | 1 | # Foreign-framework paths + pinned commits. | COMMENT |
| LOW | …rvis/evals/configs/framework_comparison/_template.toml | 1 | # Jinja-style template for framework-comparison configs. | COMMENT |
| LOW | src/openjarvis/tools/templates/loader.py | 21 | except ModuleNotFoundError: | COMMENT |
| LOW | src/openjarvis/core/config.py | 41 | # Hardware dataclasses | COMMENT |
| LOW | src/openjarvis/core/config.py | 1981 | COMMENT | |
| LOW | src/openjarvis/core/config.py | 2001 | COMMENT | |
| LOW | src/openjarvis/core/config.py | 2061 | update_interval = 100 | COMMENT |
| LOW | src/openjarvis/core/config.py | 2101 | # [channel.webhook] | COMMENT |
| LOW | src/openjarvis/core/config.py | 2121 | # [channel.teams] | COMMENT |
| LOW | src/openjarvis/agents/executor.py | 361 | agent_kwargs["tools"] = tool_instances | COMMENT |
| LOW | src/openjarvis/agents/hybrid/_base.py | 61 | # every paradigm (advisors, conductor, minions, mini_swe_agent's cloud | COMMENT |
| LOW | src/openjarvis/agents/hybrid/_base.py | 241 | # and noisy traces. | COMMENT |
| LOW | src/openjarvis/agents/hybrid/toolorchestra.py | 261 | "type": "openai", | COMMENT |
| LOW | src/openjarvis/agents/hybrid/toolorchestra.py | 281 | # answer-1 -> GPT-5 | COMMENT |
| LOW | src/openjarvis/agents/hybrid/toolorchestra.py | 1441 | COMMENT | |
| LOW | src/openjarvis/agents/hybrid/toolorchestra.py | 1501 | try: | COMMENT |
| LOW | src/openjarvis/agents/hybrid/mini_swe_agent.py | 1001 | } | COMMENT |
| LOW | src/openjarvis/agents/hybrid/conductor.py | 881 | n_web_searches_total = 0 | COMMENT |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/connectors/test_apple_contacts.py | 293 | assert "123 Main St" in alice.content | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 326 | assert acme.title == "Acme Corp" | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 390 | assert alice.metadata["organization"] == "Acme Corp" | CODE |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 152 | "VALUES (2, 'Alice', 'M', 'Smith', 'Acme Corp', " | STRING |
| LOW⚡ | tests/connectors/test_apple_contacts.py | 199 | "VALUES (3, NULL, NULL, 'Acme Corp', " | STRING |
| LOW | tests/connectors/test_apple_contacts.py | 173 | "VALUES (1, 0, 2, '123 Main St', 'Springfield', 'IL', " | STRING |
| LOW⚡ | tests/connectors/test_gcontacts.py | 29 | "organizations": [{"name": "Acme Corp", "title": "VP Engineering"}], | CODE |
| LOW⚡ | tests/connectors/test_gcontacts.py | 36 | "organizations": [{"name": "Acme Corp", "title": "Designer"}], | CODE |
| LOW⚡ | tests/connectors/test_gcontacts.py | 117 | assert "Acme Corp" in doc1.content | CODE |
| LOW⚡ | tests/connectors/test_gcontacts.py | 125 | assert "Acme Corp" in doc2.content | CODE |
| LOW⚡ | tests/connectors/test_weather.py | 54 | '{"api_key": "fake-key", "location": "San Francisco,CA"}', | CODE |
| LOW | tests/connectors/test_granola.py | 460 | connector.handle_callback("fake-key-12345") | CODE |
| LOW⚡ | tests/connectors/test_slack_connector.py | 225 | _slack_api_conversations_list("fake-token") | CODE |
| LOW⚡ | tests/connectors/test_slack_connector.py | 343 | json.dumps({"token": "xoxp-fake-user-token"}), encoding="utf-8" | CODE |
| LOW | tests/connectors/test_slack_connector.py | 145 | json.dumps({"token": "xoxp-fake-user-token"}), encoding="utf-8" | CODE |
| LOW | tests/connectors/test_slack_connector.py | 261 | json.dumps({"token": "xoxp-fake-user-token"}), encoding="utf-8" | CODE |
| LOW | tests/connectors/test_slack_connector.py | 415 | json.dumps({"token": "xoxp-fake-user-token"}), encoding="utf-8" | CODE |
| LOW | tests/connectors/test_slack_connector.py | 534 | json.dumps({"token": "xoxp-fake-user-token"}), encoding="utf-8" | CODE |
| LOW | tests/connectors/test_google_tasks.py | 56 | creds.write_text('{"token": "fake-token"}', encoding="utf-8") | CODE |
| LOW | tests/connectors/test_strava.py | 57 | '{"access_token": "fake-token", "refresh_token": "fake-refresh"}', | CODE |
| LOW | tests/connectors/test_spotify.py | 57 | token_path.write_text('{"access_token": "fake-token"}', encoding="utf-8") | CODE |
| LOW | tests/tools/test_git_tool.py | 106 | ["git", "config", "user.email", "test@test.com"], | CODE |
| LOW | tests/tools/test_memory_manage.py | 29 | assert "Acme Corp" in memory_file.read_text() | CODE |
| LOW⚡ | tests/security/test_scanner.py | 145 | assert "user@example.com" not in redacted | CODE |
| LOW | tests/server/test_connectors_router.py | 123 | "/v1/connectors/slack/connect", json={"token": "xoxb-fake-token"} | CODE |
| LOW | tests/server/test_connectors_router.py | 154 | json={"code": "fake-key-12345"}, | CODE |
| LOW⚡ | tests/server/test_approval_routes.py | 344 | "email": {"to": "user@example.com", "subject": "Hello"}, | CODE |
| LOW⚡ | tests/server/test_approval_routes.py | 349 | assert action["payload"]["email"]["to"] == "user@example.com" | CODE |
| LOW | tests/cli/test_mine_cmd.py | 117 | (artifact / "model.safetensors").write_text("placeholder") | CODE |
| LOW | tests/speech/test_tts_backends.py | 49 | backend = CartesiaTTSBackend(api_key="fake-key") | CODE |
| LOW⚡ | tests/speech/test_tts_backends.py | 97 | backend = OpenAITTSBackend(api_key="fake-key") | CODE |
| LOW⚡ | tests/analytics/test_redaction.py | 39 | "user@example.com", | CODE |
| LOW⚡ | tests/analytics/test_redaction.py | 135 | "leak_email": "user@example.com", | CODE |
| LOW⚡ | tests/analytics/test_redaction.py | 179 | src = {"safe": "ok", "leak": "user@example.com"} | CODE |
| LOW | tests/channels/test_feishu.py | 70 | token_resp.json.return_value = {"tenant_access_token": "fake-token"} | CODE |
| LOW | tests/channels/test_feishu.py | 85 | token_resp.json.return_value = {"tenant_access_token": "fake-token"} | CODE |
| LOW | tests/channels/test_feishu.py | 113 | token_resp.json.return_value = {"tenant_access_token": "fake-token"} | CODE |
| LOW⚡ | tests/channels/test_channel_config.py | 152 | username = "user@example.com" | CODE |
| LOW⚡ | tests/channels/test_channel_config.py | 160 | assert cfg.channel.email.username == "user@example.com" | STRING |
| LOW | tests/channels/test_email_channel.py | 29 | "username": "user@example.com", | CODE |
| LOW | tests/channels/test_email_channel.py | 52 | username="user@example.com", | CODE |
| LOW | tests/channels/test_email_channel.py | 60 | assert ch._username == "user@example.com" | CODE |
| LOW | tests/channels/test_email_channel.py | 86 | username="user@example.com", | CODE |
| LOW | tests/channels/test_email_channel.py | 98 | mock_smtp.login.assert_called_once_with("user@example.com", "pass123") | CODE |
| LOW | tests/channels/test_email_channel.py | 104 | username="user@example.com", | CODE |
| LOW⚡ | tests/channels/test_email_channel.py | 125 | username="user@example.com", | CODE |
| LOW⚡ | tests/channels/test_email_channel.py | 137 | username="user@example.com", | CODE |
| LOW | tests/channels/test_email_channel.py | 154 | username="user@example.com", | CODE |
| LOW | tests/channels/test_email_channel.py | 183 | username="user@example.com", | CODE |
| LOW | docs/development/release-checklist.md | 33 | export ANTHROPIC_API_KEY=test-fake-key | CODE |
| LOW⚡ | src/openjarvis/evals/datasets/daily_digest.py | 50 | "company": "Acme Corp", | CODE |
| LOW | src/openjarvis/server/api_routes.py | 1044 | return {"status": "started", "run_id": "placeholder"} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/learning/test_llm_optimizer.py | 760 | # Step 1: initial proposal | COMMENT |
| LOW⚡ | tests/learning/test_llm_optimizer.py | 764 | # Step 2: build history and ask for next | COMMENT |
| LOW⚡ | examples/doc_qa/doc_qa.py | 86 | # Step 1: Index documents into memory | COMMENT |
| LOW⚡ | examples/doc_qa/doc_qa.py | 96 | # Step 2: Ask the question with memory context enabled | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 56 | ## Step 1: Diagnose | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 59 | ## Step 2: Comment your plan | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 65 | ## Step 3: Implement | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 69 | ## Step 4: Test | COMMENT |
| LOW⚡ | .github/workflows/claude-issues.yml | 76 | ## Step 5: Open PR | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 406 | # Step 0: resolve workspace context — the subdomain is needed for | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 425 | # Step 1: build user map (so DMs render with peer names, not IDs) | COMMENT |
| LOW⚡ | src/openjarvis/connectors/slack_connector.py | 430 | # Step 2: enumerate every conversation up front so we can log a | COMMENT |
| LOW | src/openjarvis/connectors/slack_connector.py | 470 | # Step 3: fetch history per channel and yield Documents. | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 133 | # Step 1: Collect data from connectors | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 143 | # Step 2: Synthesize narrative via LLM | COMMENT |
| LOW⚡ | src/openjarvis/agents/morning_digest.py | 197 | # Step 3: Generate audio via TTS | COMMENT |
| LOW | src/openjarvis/agents/morning_digest.py | 225 | # Step 4: Store the artifact | COMMENT |
| LOW⚡ | src/openjarvis/cli/quickstart_cmd.py | 89 | # Step 1: Detect hardware | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 104 | # Step 2: Write config | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 117 | # Step 3: Check engine | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 140 | # Step 4: Verify model | COMMENT |
| LOW | src/openjarvis/cli/quickstart_cmd.py | 151 | # Step 5: Test query | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/traces/test_analyzer.py | 13 | CODE | |
| LOW | tests/evals/test_terminalbench_native_backend.py | 63 | CODE | |
| LOW | tests/learning/test_llm_optimizer.py | 101 | CODE | |
| LOW | tests/learning/test_multi_bench_runner.py | 23 | CODE | |
| LOW | tests/learning/test_personal_synthesizer.py | 27 | CODE | |
| LOW | tests/learning/training/test_data.py | 16 | CODE | |
| LOW | tests/telemetry/test_energy_wiring.py | 99 | CODE | |
| LOW | src/openjarvis/connectors/store.py | 215 | CODE | |
| LOW | src/openjarvis/connectors/weather.py | 45 | CODE | |
| LOW | src/openjarvis/evals/backends/jarvis_agent.py | 23 | CODE | |
| LOW | src/openjarvis/evals/backends/terminalbench_native.py | 127 | CODE | |
| LOW | src/openjarvis/evals/datasets/taubench.py | 96 | CODE | |
| LOW | src/openjarvis/evals/execution/taubench_env.py | 249 | CODE | |
| LOW | …penjarvis/learning/intelligence/orchestrator/reward.py | 153 | CODE | |
| LOW | src/openjarvis/learning/spec_search/orchestrator.py | 89 | CODE | |
| LOW | src/openjarvis/agents/rlm.py | 110 | CODE | |
| LOW | src/openjarvis/agents/native_react.py | 65 | CODE | |
| LOW | src/openjarvis/agents/opencode.py | 119 | CODE | |
| LOW | src/openjarvis/agents/research_loop.py | 482 | CODE | |
| LOW | src/openjarvis/agents/orchestrator.py | 48 | CODE | |
| LOW | src/openjarvis/agents/monitor_operative.py | 108 | CODE | |
| LOW | src/openjarvis/agents/operative.py | 45 | CODE | |
| LOW | src/openjarvis/agents/claude_code.py | 60 | CODE | |
| LOW | src/openjarvis/agents/deep_research.py | 167 | CODE | |
| LOW | src/openjarvis/agents/_stubs.py | 311 | CODE | |
| LOW | src/openjarvis/agents/hybrid/_base.py | 438 | CODE | |
| LOW | src/openjarvis/agents/hybrid/_base.py | 529 | CODE | |
| LOW | src/openjarvis/agents/hybrid/_base.py | 779 | CODE | |
| LOW | src/openjarvis/agents/hybrid/_base.py | 856 | CODE | |
| LOW | src/openjarvis/agents/hybrid/mini_swe_agent.py | 336 | CODE | |
| LOW | …nts/hybrid/skillorchestra/prompts/eval_orchestrator.py | 162 | CODE | |
| LOW | src/openjarvis/server/app.py | 143 | CODE | |
| LOW | src/openjarvis/cli/init_cmd.py | 295 | CODE | |
| LOW | src/openjarvis/system/core.py | 133 | CODE | |
| LOW | src/openjarvis/system/orchestrator.py | 21 | CODE | |
| LOW | src/openjarvis/prompt/builder.py | 26 | CODE | |
| LOW | src/openjarvis/channels/twitter_channel.py | 133 | CODE | |
| LOW | src/openjarvis/channels/email_channel.py | 50 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/messaging_hub/smart_inbox.py | 143 | # Print results table | COMMENT |
| LOW | examples/twitter_bot/test_real_world.py | 229 | # Print results table | COMMENT |
| LOW | src/openjarvis/evals/scorers/security_scanner.py | 122 | # Check if model flags any safe patterns as vulnerabilities | COMMENT |
| LOW | src/openjarvis/evals/scorers/security_scanner.py | 127 | # Check if it's flagged as a vulnerability (near vuln keywords) | COMMENT |
| LOW | src/openjarvis/evals/scorers/coding_assistant.py | 68 | # Check if this is a new test | COMMENT |
| LOW | src/openjarvis/evals/scorers/toolcall15.py | 219 | # Check if answer manually converts | COMMENT |
| LOW | src/openjarvis/tools/storage/ingest.py | 185 | # Check if any parent directory should be skipped | COMMENT |
| LOW | src/openjarvis/operators/manager.py | 79 | # Check if already active | COMMENT |
| LOW | src/openjarvis/learning/optimize/config.py | 80 | # Check if it's a list of dicts (table array) vs list of strings | COMMENT |
| LOW | src/openjarvis/learning/optimize/optimizer.py | 102 | # Check if other dominates trial | COMMENT |
| LOW | src/openjarvis/learning/spec_search/orchestrator.py | 306 | # Check if the op is supported | COMMENT |
| LOW | src/openjarvis/learning/spec_search/execute/loop.py | 138 | # Check if the op is supported | COMMENT |
| LOW | …/learning/spec_search/execute/appliers/intelligence.py | 37 | # Check if the policy_map section exists | COMMENT |
| LOW | …/learning/spec_search/execute/appliers/intelligence.py | 39 | # Check if this query_class already has a line | COMMENT |
| LOW | src/openjarvis/agents/_stubs.py | 154 | # Check if the context already supplies a system message | COMMENT |
| LOW | src/openjarvis/cli/daemon_cmd.py | 26 | # Check if process is still running | COMMENT |
| LOW | src/openjarvis/cli/digest_cmd.py | 43 | # Check if [digest] section already exists | COMMENT |
| LOW | src/openjarvis/cli/bench_cmd.py | 339 | # Output results | COMMENT |
| LOW | src/openjarvis/sessions/session.py | 229 | # Check if consolidation is needed | COMMENT |
| LOW | src/openjarvis/workflow/engine.py | 322 | # Check if loop should terminate | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/user-guide/llm-guided-spec-search.md | 140 | | `session_store` | `MagicMock` | `openjarvis.learning.spec_search.storage.session_store.SessionStore(home / "learning" | CODE |
| CRITICAL | docs/user-guide/llm-guided-spec-search.md | 141 | | `checkpoint_store` | `MagicMock` | `openjarvis.learning.spec_search.checkpoint.store.CheckpointStore(home / "learning" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/openjarvis/evals/core/config.py | 85 | Load and validate an eval suite config from a TOML file. Args: path: Path to the TOML config file. Ret | STRING |
| HIGH | src/openjarvis/evals/core/export.py | 170 | Export traces as a HuggingFace Arrow dataset. Args: traces: List of QueryTrace objects to export. p | STRING |
| HIGH | src/openjarvis/learning/optimize/optimizer.py | 316 | Export the best trial's config as a TOML recipe file. Args: run: A completed :class:`OptimizationRu | STRING |
| HIGH | src/openjarvis/skills/dependency.py | 56 | Validate the skill dependency graph and return a topological ordering. Uses Kahn's algorithm for topological sort a | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src-tauri/scripts/download-ollama.sh | 7 | # Usage: | COMMENT |
| LOW | deploy/posthog/posthog-hetzner-prep.sh | 9 | # Usage: | COMMENT |
| LOW | configs/openjarvis/examples/code-assistant.toml | 4 | # Usage: | COMMENT |
| LOW | configs/openjarvis/examples/chat-simple.toml | 6 | # Usage: | COMMENT |
| LOW⚡ | scripts/quickstart.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/install/install.sh | 4 | # Usage: | COMMENT |
| LOW | src/openjarvis/agents/hybrid/scripts/new_experiment.sh | 8 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/server/test_websocket.py | 174 | CODE | |
| MEDIUM | tests/server/test_agent_manager_routes.py | 463 | CODE | |
| MEDIUM | tests/telemetry/test_energy_wiring.py | 543 | CODE | |
| MEDIUM | src/openjarvis/security/rate_limiter.py | 99 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/openjarvis/evals/datasets/coding_task.py | 121 | "reference": "def int_to_words(num):\n if num == 0:\n return 'Zero'\n ones = ['','One','Two','Three | CODE |
| LOW | src/openjarvis/evals/datasets/coding_task.py | 170 | "reference": "def evaluate(expression):\n def helper(tokens, pos):\n def parse_num():\n non | CODE |
| LOW | src/openjarvis/a2a/server.py | 58 | def handle_request( | CODE |