Memory library for building stateful agents
This report presents the forensic synthetic code analysis of plastic-labs/honcho, a Python project with 6,911 GitHub stars. SynthScan v2.0 examined 213,604 lines of code across 618 source files, recording 4231 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 28.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 4231 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 |
|---|---|---|---|---|
| LOW | honcho-cli/tests/test_setup.py | 15 | def test_basic_openai_applies_chat_model_everywhere(): | CODE |
| LOW | honcho-cli/tests/test_setup.py | 33 | def test_basic_anthropic_keeps_openai_embeddings_default(): | CODE |
| LOW | honcho-cli/tests/test_setup.py | 50 | def test_openai_compatible_copies_base_url_to_embeddings(): | CODE |
| LOW | honcho-cli/tests/test_setup.py | 67 | def test_leaving_openai_compatible_drops_proxy_urls(): | CODE |
| LOW | honcho-cli/tests/test_setup.py | 77 | def test_chat_default_comes_from_image_toml(tmp_path): | CODE |
| LOW | honcho-cli/tests/test_common.py | 40 | def test_valid_token_is_not_refreshed(cfg_path): | CODE |
| LOW | honcho-cli/tests/test_common.py | 47 | def test_expired_token_refreshes_despite_manual_key(cfg_path): | CODE |
| LOW | honcho-cli/tests/test_common.py | 60 | def test_host_mismatch_skips_refresh(cfg_path): | CODE |
| LOW | honcho-cli/tests/test_common.py | 71 | def test_expired_token_refreshes_and_persists(cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_common.py | 98 | def test_refresh_failure_exits(cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_common.py | 105 | def test_refresh_failure_falls_back_to_api_key(cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_common.py | 114 | def test_missing_refresh_token_exits(cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_common.py | 121 | def test_missing_refresh_token_falls_back_to_api_key(cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 52 | def test_normalizes_utc_shapes(self, value, expected): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 62 | def test_converts_offsets_instead_of_relabelling_them(self, value, expected): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 66 | def test_keeps_sub_second_precision(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 73 | def test_accepts_datetime_objects(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 78 | def test_empty_values_render_blank(self, value): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 81 | def test_unparseable_values_pass_through(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 84 | def test_output_matches_the_declared_column_width(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 89 | def test_newlines_are_not_reflowed_into_a_paragraph(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 95 | def test_tagged_content_is_not_stripped(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 101 | def test_console_markup_is_not_interpreted(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 105 | def test_ids_are_shown_in_full(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 111 | def test_long_peer_ids_stay_distinguishable(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 122 | def test_empty_transcript_reports_the_session(self, render): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 129 | def test_given_hint_is_printed(self, render, monkeypatch): | CODE |
| LOW⚡ | honcho-cli/tests/test_output.py | 135 | def test_no_hint_when_none_given(self, render, monkeypatch): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 55 | def test_derives_urls_from_base_url(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 62 | def test_strips_trailing_slash(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 71 | def test_true_when_device_grant_advertised(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 76 | def test_false_when_device_grant_absent(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 86 | def test_false_on_connection_error(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 90 | def test_false_on_unparseable_body(self): | CODE |
| LOW | honcho-cli/tests/test_oauth.py | 122 | def test_transport_failure_wrapped(self): | CODE |
| LOW | honcho-cli/tests/test_oauth.py | 146 | def test_pending_then_slowdown_then_success(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 176 | def test_unexpected_error_raises_generic(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 182 | def test_transport_failure_wrapped(self): | CODE |
| LOW⚡ | honcho-cli/tests/test_oauth.py | 189 | def test_times_out_past_deadline(self): | CODE |
| LOW | honcho-cli/tests/test_oauth.py | 206 | def test_success_returns_rotated_pair(self): | CODE |
| LOW | honcho-cli/tests/test_oauth.py | 228 | def test_transport_failure_wrapped(self): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 99 | def test_first_run_writes_exact_shape(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 112 | def test_preserves_foreign_keys(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 139 | def test_workspace_delete_aborts_on_no(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 150 | def test_session_delete_aborts_on_no(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 166 | def test_workspace_list_json_array_shape(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 175 | def test_workspace_search_preserves_full_content_in_json_mode(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 203 | def test_message_get_returns_single_json_object(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 231 | def test_message_list_rejects_non_positive_last(self, cfg, runner, last): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 244 | def test_session_view_json_is_chronological_window(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 266 | def test_session_view_rejects_all_with_last(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 277 | def test_session_view_page_fetches_exact_server_page(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 307 | def test_session_view_page_with_reverse_pages_from_newest(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 324 | def test_session_view_rejects_page_with_last(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 344 | def test_session_view_rejects_bad_flags_before_any_api_call(self, cfg, runner, args): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 353 | def test_session_view_does_not_create_the_session(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 385 | def test_next_page_command_carries_the_invocation_scope(self, kwargs, expected): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 399 | def test_next_page_command_shell_quotes_identifiers( | CODE |
| LOW | honcho-cli/tests/test_commands.py | 414 | def test_session_view_hint_carries_group_level_scope(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 429 | def test_session_view_last_walks_pages_past_the_page_cap(self, cfg, runner): | CODE |
| 2085 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdks/python/src/honcho/api_types.py | 17 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 19 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 95 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 97 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 124 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 126 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 171 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 173 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 250 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 252 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 299 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 301 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 337 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 339 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 362 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 364 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 379 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 381 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 445 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 447 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 502 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 504 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 527 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 529 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 567 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 569 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 582 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 584 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 422 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 424 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 190 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 192 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 463 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 465 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 34 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 36 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1028 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1030 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1142 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1144 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/bench/runner_common.py | 792 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/bench/runner_common.py | 794 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 442 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 444 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 528 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 530 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/coverage.py | 76 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 78 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 113 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 115 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 257 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 259 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 397 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 399 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 1063 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 1065 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/bench/coverage.py | 1160 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/bench/coverage.py | 1162 | # ============================================================================= | COMMENT |
| 311 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdks/python/examples/pydantic_validation_example.py | 112 | # Create a valid message | COMMENT |
| MEDIUM | sdks/python/examples/get_context.py | 6 | # Create a Honcho client with the default workspace | COMMENT |
| MEDIUM | sdks/python/examples/get_context.py | 15 | # Create a new session | COMMENT |
| MEDIUM | sdks/python/examples/chat.py | 6 | # Create a Honcho client with the default workspace | COMMENT |
| MEDIUM | sdks/python/examples/chat.py | 15 | # Create a new session | COMMENT |
| MEDIUM | sdks/python/examples/search.py | 6 | # Create a Honcho client with the default workspace | COMMENT |
| MEDIUM | sdks/python/examples/search.py | 17 | # Create a new session | COMMENT |
| MEDIUM | sdks/python/examples/search.py | 20 | # Create a message with our special keyword | COMMENT |
| MEDIUM | sdks/python/examples/file_upload.py | 5 | # Create a Honcho client with the default workspace | COMMENT |
| MEDIUM | sdks/python/examples/file_upload.py | 8 | # Create a new session | COMMENT |
| MEDIUM | sdks/python/examples/multi_user_representations.py | 7 | # Create a Honcho client with the default workspace | COMMENT |
| MEDIUM | sdks/python/examples/multi_user_representations.py | 13 | # Create a new session | COMMENT |
| MEDIUM | sdks/python/examples/multi_user_representations.py | 34 | # Create a separate session | COMMENT |
| MEDIUM | sdks/python/src/honcho/__init__.py | 18 | # Create a session | STRING |
| MEDIUM | tests/conftest.py | 50 | # Create a custom handler that doesn't get closed prematurely | COMMENT |
| MEDIUM | tests/conftest.py | 658 | # Create a mock vector store that stores vectors in memory | COMMENT |
| MEDIUM | tests/conftest.py | 701 | # Create the mock vector store | COMMENT |
| MEDIUM | tests/conftest.py | 751 | # Create an async generator for streaming responses | COMMENT |
| MEDIUM⚡ | tests/conftest.py | 1019 | # Create a mock collection object that doesn't require database commit | COMMENT |
| MEDIUM | tests/test_datetime_parsing.py | 439 | # Create a datetime in EST (UTC-5) | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 227 | # Create a session first | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 765 | # Create a peer card | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1005 | # Create a deductive document with source_ids | COMMENT |
| MEDIUM | tests/test_advanced_filters.py | 1942 | # Create a very complex filter structure | COMMENT |
| MEDIUM | tests/bench/locomo_summary.py | 139 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/harness.py | 637 | # Create a Python script to import and print the settings | COMMENT |
| MEDIUM | tests/bench/harness.py | 839 | # Create an empty .env file in temp directory to satisfy docker-compose | STRING |
| MEDIUM | tests/bench/harness.py | 999 | # Create an empty .env file in temp directory | STRING |
| MEDIUM | tests/bench/locomo.py | 199 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/beam.py | 130 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/longmem.py | 160 | # Initialize base class (sets up metrics collector and logger) | COMMENT |
| MEDIUM | tests/bench/longmem.py | 208 | # Create a single merged session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 497 | # Create an observer peer | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1157 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1164 | # Create a message payload with seq_in_session included | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1235 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1242 | # Create a message payload WITHOUT seq_in_session | COMMENT |
| MEDIUM | tests/integration/test_representation.py | 38 | # Create a deterministic 1536-dimensional embedding vector | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 77 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 84 | # Create a message using the CRUD function directly | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 199 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 206 | # Create a message using the CRUD function directly | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 249 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 719 | # Create a test session | COMMENT |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 224 | "content": "To generate a graph of the action intensity in a scene, you can use Python with the Matplotlib and | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 234 | "content": "To represent the intensity of the script provided, we can estimate the intensity levels during the | CODE |
| MEDIUM⚡ | tests/utils/test_clients.py | 377 | # Create a mock parsed object | COMMENT |
| MEDIUM⚡ | tests/utils/test_clients.py | 380 | # Create a proper ChatCompletionMessage and add parsed attribute | COMMENT |
| MEDIUM | tests/utils/test_agent_tools.py | 854 | # Create a peer with no observations | COMMENT |
| MEDIUM | tests/sdk_typescript/conftest.py | 137 | # Create a tracked_db that uses fresh sessions (not shared) | COMMENT |
| MEDIUM | tests/sdk/test_file_uploads.py | 62 | # Create a large text file that will require chunking | COMMENT |
| MEDIUM | tests/sdk/test_pagination.py | 21 | await peer.aio.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/test_pagination.py | 38 | peer.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/test_conclusions.py | 39 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 73 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 429 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 450 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 627 | # Create a session just to ensure peers exist | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 660 | # Create a session just to ensure peers exist | COMMENT |
| MEDIUM | tests/sdk/test_session.py | 561 | await peer.aio.get_metadata() # Create the peer | CODE |
| 140 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/tests/conftest.py | 3 | CODE | |
| LOW | honcho-cli/tests/test_setup.py | 3 | CODE | |
| LOW | honcho-cli/tests/test_common.py | 3 | CODE | |
| LOW | honcho-cli/tests/test_validation.py | 7 | CODE | |
| LOW | honcho-cli/tests/test_output.py | 7 | CODE | |
| LOW | honcho-cli/tests/test_oauth.py | 3 | CODE | |
| LOW | honcho-cli/tests/test_commands.py | 8 | CODE | |
| LOW | honcho-cli/tests/test_local.py | 3 | CODE | |
| LOW | honcho-cli/tests/test_start.py | 3 | CODE | |
| LOW | honcho-cli/scripts/generate_cli_docs.py | 16 | CODE | |
| LOW | honcho-cli/src/honcho_cli/config.py | 26 | CODE | |
| LOW | honcho-cli/src/honcho_cli/update_check.py | 7 | CODE | |
| LOW | honcho-cli/src/honcho_cli/_help.py | 14 | CODE | |
| LOW | honcho-cli/src/honcho_cli/common.py | 13 | CODE | |
| LOW | honcho-cli/src/honcho_cli/main.py | 6 | CODE | |
| LOW | honcho-cli/src/honcho_cli/output.py | 6 | CODE | |
| LOW | honcho-cli/src/honcho_cli/oauth.py | 7 | CODE | |
| LOW | honcho-cli/src/honcho_cli/validation.py | 6 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/env.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/health.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/profile.py | 7 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/__init__.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/docker.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/setup.py | 8 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/config_cmd.py | 9 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 7 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 3 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/stack.py | 8 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/api_types.py | 6 | CODE | |
| LOW | sdks/python/src/honcho/session_context.py | 1 | CODE | |
| LOW | sdks/python/src/honcho/mixins.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/client.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 4 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 41 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 45 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 45 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 45 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 45 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 51 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 51 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 51 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 52 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 53 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 54 | CODE | |
| 457 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/src/honcho/client.py | 548 | Get or create a scope with the given ID. A scope is a named set of sessions that acts as a visibility | STRING |
| HIGH | sdks/python/src/honcho/session.py | 614 | Get optimized context for this session within a token limit. Makes an API call to retrieve a curated l | STRING |
| HIGH | sdks/python/src/honcho/conclusions.py | 354 | Build a single conclusion create payload. This normalizes both `ConclusionCreateParams` instan | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 278 | Query the peer's representation with a natural language question. Makes an API call to the Honcho dial | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 366 | Query the peer's representation with a natural language question, streaming the response. Makes an API | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 680 | Get a subset of the representation of the peer. Args: session: Optional session to scope t | STRING |
| HIGH | sdks/python/src/honcho/aio.py | 385 | Get or create a scope with the given ID asynchronously. A scope is a named set of sessions that acts a | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 47 | Validate an unprefixed scope ID. Args: value: The scope ID as the caller supplied it. Returns: | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 78 | Resolve the ``scope`` read option to its wire value. A single scope stays a string; a sequence becomes a list of ID | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 112 | Resolve the ``sessions`` allowlist option to a list of session IDs. Args: sessions: Sessions to allow, as I | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 136 | Validate a session ID against the charset the server accepts. Args: value: The session ID as the caller sup | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 156 | Resolve and validate a single session ID for a scope membership change. Validated rather than passed through becaus | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 179 | Resolve a scope membership change to a list of session IDs. Capped at the server's per-call limit rather than silen | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 212 | Build the query fields for ``scope``/``sessions`` on the context route. Unlike the recall endpoints, session contex | STRING |
| HIGH | sdks/python/src/honcho/utils/scopes.py | 267 | Build the request-body fields for the ``scope``/``sessions`` options. ``sessions`` is sugar: it goes on the wire as | STRING |
| HIGH | sdks/python/src/honcho/utils/datetime.py | 24 | Parse an ISO 8601 datetime string into a `datetime` instance. This accepts timestamps in the forms commonly pr | STRING |
| HIGH | sdks/python/src/honcho/utils/file_upload.py | 15 | Normalize various file input formats to a standard tuple format. Args: file: File to normalize. Can be | STRING |
| HIGH | sdks/python/src/honcho/utils/file_upload.py | 54 | Prepare a file for upload by normalizing and reading its content. Args: file: File to prepare. Can be: | STRING |
| HIGH | tests/bench/runner_common.py | 223 | Create an AsyncAnthropic client. Args: api_key: Optional API key. If not provided, uses LLM_ANTHROPIC_ | STRING |
| HIGH | tests/bench/runner_common.py | 249 | Create an AsyncOpenAI client. Args: api_key: Optional API key. If not provided, uses env_key_name env | STRING |
| HIGH | tests/bench/longmem_common.py | 98 | Parse longmemeval date format to datetime. Args: date_str: Date string in format "YYYY/MM/DD (Day) HH:MM" | STRING |
| HIGH | tests/bench/oolong_common.py | 152 | Load the OOLONG-synth dataset from filesystem. Args: split: Dataset split to load (default: "test") | STRING |
| HIGH | tests/bench/oolong_common.py | 235 | Load the OOLONG-real dataset from filesystem. Args: split: Dataset split to load (default: "test") | STRING |
| HIGH | tests/bench/oolong_common.py | 638 | Filter dataset by context length and example count. Args: dataset: HuggingFace dataset max_context_ | STRING |
| HIGH | examples/zo/tools/save_memory.py | 13 | Save a single conversation turn to Honcho memory. Creates the peer and session if they do not already exist. Regist | STRING |
| HIGH | examples/zo/tools/query_memory.py | 9 | Query stored memory for a user using Honcho's Dialectic API. Sends a natural language question to Honcho and return | STRING |
| HIGH | …ntegration/references/bot-frameworks/nanobot/client.py | 37 | Get or create the Honcho client singleton. Args: config: Optional config. If not provided, uses enviro | STRING |
| HIGH | src/embedding_client.py | 357 | Batch-embed a list of text strings. Does not sub-chunk oversized inputs. Internally goes through the s | STRING |
| HIGH | src/llm/request_builder.py | 28 | Validate an operator-supplied provider_params passthrough is a mapping. ``provider_params`` is typed ``dict[str, An | STRING |
| HIGH | src/utils/files.py | 184 | Process an uploaded file and prepare message creation data. This function extracts text from a file, splits it | STRING |
| HIGH | src/utils/work_unit.py | 22 | Generate a work unit key for a given task type, workspace name, and event type. Args: workspace_name: | STRING |
| HIGH | src/utils/work_unit.py | 90 | Parse a work unit key to extract its components. Args: work_unit_key: The work unit key string to pars | STRING |
| HIGH | src/utils/schema_conversion.py | 85 | Convert a JSON Schema dict (root type ``object``) into a Pydantic model. Supported constructs: primitive types (``s | STRING |
| HIGH | src/utils/formatting.py | 95 | Parse ISO 8601 datetime string, handling various timezone formats. This function properly handles Z suffix, ti | STRING |
| HIGH | src/utils/queue_payload.py | 183 | Create a processed payload from a message for queue processing. Note: workspace_name and message_id are no lon | STRING |
| HIGH | src/utils/search.py | 323 | Search across message content using a hybrid approach with Reciprocal Rank Fusion (RRF). This function combine | STRING |
| HIGH | src/utils/filter.py | 82 | Validate a numeric operand without losing precision or overflowing. Integers become Decimal rather than staying int | STRING |
| HIGH | src/utils/filter.py | 131 | Return ``value`` ready to bind against ``column``, or raise FilterError. SQLAlchemy types a bind from the *operand* | STRING |
| HIGH | src/utils/filter.py | 227 | Parse a recall-path ``filters`` body into a session allowlist. The dialectic and representation endpoints accept a | STRING |
| HIGH | src/utils/filter.py | 293 | Validate and de-duplicate a session allowlist. Shared by every route-level entry point that accepts one — the ``fil | STRING |
| HIGH | src/utils/filter.py | 350 | Apply advanced filter to a SQL statement based on filter dictionary. Supports logical operators (AND, OR, NOT) | STRING |
| HIGH | src/utils/representation.py | 50 | Flatten message_ids that may be in old tuple format or nested list format. This handles backwards compatibilit | STRING |
| HIGH | src/vector_store/turbopuffer.py | 131 | Query for similar vectors in Turbopuffer. Args: namespace: The namespace to query | STRING |
| HIGH | src/vector_store/__init__.py | 139 | Query for similar vectors. Args: namespace: The namespace to query embedding: | STRING |
| HIGH | src/vector_store/lancedb.py | 202 | Query for similar vectors in LanceDB. Args: namespace: The namespace (table) to query | STRING |
| HIGH | src/vector_store/lancedb.py | 279 | Convert a filter dict to SQL WHERE clause syntax. Supports filter formats: - {"key": "value"} | STRING |
| HIGH | src/dreamer/trees/__init__.py | 18 | Factory function to create different tree types. Args: tree_type: Type of tree to create ('rptree', 'k | STRING |
| HIGH | src/crud/peer_card.py | 29 | Get peer card from internal_metadata. The peer card is returned for the observer/observed relationship. A | STRING |
| HIGH | src/crud/webhook.py | 20 | Get an existing webhook endpoint for a workspace or create it if missing. Args: db: Database session | STRING |
| HIGH | src/crud/session.py | 198 | Get an active session in a workspace or create it if it does not exist. If the session already exists, provide | STRING |
| HIGH | src/crud/session.py | 411 | Get a session in a workspace. Args: db: Database session session_name: Name of the session | STRING |
| HIGH | src/crud/session.py | 455 | Get or create a session, then apply metadata and configuration updates. Provided metadata replaces the current | STRING |
| HIGH | src/crud/session.py | 557 | Delete a session and all associated data (hard delete). This performs cascading deletes for all session-relate | STRING |
| HIGH | src/crud/session.py | 870 | Remove specified peers from a session. Args: db: Database session workspace_name: Name of the | STRING |
| HIGH | src/crud/session.py | 1053 | Replace a session's ordinary peer set with ``peer_names``. Active members keep their joined_at but take the in | STRING |
| HIGH | src/crud/session.py | 1177 | Upsert session-peer memberships for a session and optionally fetch the active memberships afterward. New p | STRING |
| HIGH | src/crud/session.py | 1337 | Get the configuration for a peer in a session. Args: db: Database session workspace_name: Nam | STRING |
| HIGH | src/crud/message.py | 391 | Bulk create messages for a session while maintaining order. Args: db: Database session message | STRING |
| HIGH | src/crud/peer.py | 264 | Get an existing list of peers or create new peers if they don't exist. Updates existing peers with metadata and | STRING |
| HIGH | src/crud/peer.py | 437 | Get an existing peer. Takes a plain name, not a create schema: this is a pure read, and validating an alre | STRING |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/update_check.py | 46 | except Exception: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 67 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 106 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 141 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 348 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 399 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 425 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 468 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 490 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 511 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 532 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 564 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 594 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 615 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 644 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 89 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 131 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 163 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 60 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 102 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 124 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 159 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 190 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 228 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 249 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 277 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 307 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 83 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 232 | except Exception: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 399 | except Exception as e: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 405 | except Exception: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 413 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 74 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 116 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 169 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 218 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 63 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 95 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 141 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 170 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 210 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 241 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 263 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 153 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 350 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 373 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 153 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 352 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 376 | except Exception: | CODE |
| LOW | tests/conftest.py | 248 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 272 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 304 | except Exception as e: | CODE |
| LOW | tests/bench/locomo_summary.py | 429 | except Exception as e: | CODE |
| MEDIUM | tests/bench/locomo_summary.py | 558 | print(f"Error: Data file {args.data_file} does not exist") | STRING |
| MEDIUM | tests/bench/harness.py | 191 | print(f"Error restoring .env file: {e}") | CODE |
| MEDIUM | tests/bench/harness.py | 569 | print(f"Error reading from {name}: {e}") | CODE |
| MEDIUM⚡ | tests/bench/harness.py | 801 | print(f"Error stopping database: {e}") | STRING |
| MEDIUM⚡ | tests/bench/harness.py | 811 | print(f"Error removing temp directory: {e}") | STRING |
| MEDIUM⚡ | tests/bench/harness.py | 817 | print(f"Error closing cache: {e}") | STRING |
| LOW | tests/bench/harness.py | 190 | except Exception as e: | CODE |
| 252 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/v1/openapi.json | 1729 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1733 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 1827 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1831 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 1974 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1978 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 2068 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 2072 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 2171 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 2175 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3275 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3279 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3369 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3373 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3472 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3476 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3562 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3566 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3660 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3664 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3754 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3758 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …test_cases/observation_isolation_between_sessions.json | 33 | "content": "Let me know if you need help with the data analysis." | CODE |
| LOW | tests/unified/test_cases/longmem_ancash.json | 50 | "content": "Here are a few more tips to keep in mind as you prepare your Seco de Cordero:\n\n1. It's best to u | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 360 | "content": "As an AI language model, I do not have personal opinions or beliefs, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 370 | "content": "As an AI language model, I do not have personal beliefs or opinions, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 380 | "content": "As an AI language model, I do not have personal beliefs or opinions, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1205 | "content": "As an AI language model, I believe that NLP technology will continue to evolve and become even mor | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1215 | "content": "As an AI language model, I believe that NLP technology has made significant strides in mimicking h | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1225 | "content": "As an AI language model, I believe that NLP can be trained to understand and recognize when a cust | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1235 | "content": "As an AI language model, I think that e-commerce companies should be mindful of potential ethical | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1245 | "content": "As an AI language model, I would say that NLP technology has made significant strides in understan | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 1910 | "content": "As an AI language model, I do not have the ability to see or experience anything in the physical w | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2380 | "content": "To incorporate haptic feedback into the capacitive touch-sensitive stalks, you can use a technique | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2390 | "content": "Yes, there are other ways to incorporate haptic feedback into your capacitive touch-sensitive stal | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2624 | "content": "As an AI language model, I don't have personal experiences or opinions. Nevertheless, here are som | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2734 | "content": "A fun birthday message or inside joke can make the gift even more special and personal. Here are s | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2784 | "content": "As an AI language model, I don't have access to current data. However, according to the UK Census | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2794 | "content": "I apologize, but as an AI language model, I do not have access to real-time or updated data. Howev | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 720 | "content": "Seattle is a great destination! I'm happy to help you pack smart for your trip.\n\nFirstly, congra | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2230 | "content": "For a sunrise shot, I would highly recommend Presque Isle State Park. You can capture the vibrant | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2250 | "content": "Sure, here are some tips to take great sunrise photos:\n \n1. Scout the location beforehand and fi | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2594 | "content": "You're welcome! It was my pleasure to help you. I'm glad I could assist you in exploring online co | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 3569 | "content": "The MCU movies are plenty to take in on their own.\n\nNow, about those snacks... I've got some Mar | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 3659 | "content": "You're welcome! I'm glad I could help. Remember, everyone's body is different, so experiment with | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 509 | "content": "Here is how you can modify the code to create a real-time interactive candlestick chart:\n```\nimp | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 509 | "content": "Here is how you can modify the code to create a real-time interactive candlestick chart:\n```\nimp | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 529 | "content": "Here is the continued example:\n```\n# add a condition to check if the line is within the y-range | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 829 | "content": "Alex's grandfather's secret recipe sounds like a winner! A 24-hour dry rub marinade can make a hug | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1059 | "content": "As an AI language model, I haven\u2019t tried any of these flavor combinations personally, but I h | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1139 | "content": "Luka Doncic is indeed having an incredible season! The Dallas Mavericks' star is putting up MVP-ca | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 1524 | "content": "Congratulations on redeeming your Ibotta rewards and getting a nice deposit into your PayPal accou | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1574 | "content": "Let's create a morning routine that works for you.\n\n**Regular Days (No Morning Meetings)**\n\n1. | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2109 | "content": "A Monk's Armor Class (AC) is calculated using the following formula:\n\n10 + Dexterity modifier + | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2129 | "content": "A 5th level Sorcerer can cast the 2nd level Druid spell Flame Blade by using the Sorcerer's Spellc | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2733 | "content": "As an AI language model, I do not have personal experiences, but I can give general information. \ | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 2953 | "content": "Buon appetito! Italian cuisine is a great choice for a dinner party, and I'd be happy to help you | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3063 | "content": "That's a great idea! The local tourism board might have information about upcoming craft fairs and | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3298 | "content": "I'd be happy to help you create a list to track your jewelry collection.\n\nHere's a suggested for | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3318 | "content": "Let's add your mother's locket to the list.\n\n**Jewelry Inventory List**\n\n**Necklaces:**\n\n1. | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3588 | "content": "That's amazing! Five Ruby-throated Hummingbirds at a time on your feeder is a great sight! You mus | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3598 | "content": "Bird photography is a fascinating aspect of birding! Capturing birds in flight can be challenging, | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3668 | "content": "As an AI language model built on language samples, I am not capable of having feelings, emotions o | CODE |
| LOW | …sts/unified/test_cases/longmem_ancash_directional.json | 50 | "content": "Here are a few more tips to keep in mind as you prepare your Seco de Cordero:\n\n1. It's best to u | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 44 | "content": "Both #bookrecommendations and #bookrecs are popular hashtags, but I'd recommend using #bookrecs. I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 44 | "content": "Both #bookrecommendations and #bookrecs are popular hashtags, but I'd recommend using #bookrecs. I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 64 | "content": "That's a great idea! Using the same set of hashtags for all your posts can lead to a plateau in en | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 234 | "content": "As an AI language model, I cannot predict the future, but the recovery of the tourism industry wil | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 244 | "content": "As an AI language model, I completely agree with you. Traveling plays an essential role in promoti | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 254 | "content": "As an AI language model, I agree that sustainability is becoming increasingly crucial in the touri | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 264 | "content": "As an AI language model, I completely agree with you that sustainable tourism is the way forward. | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 794 | "content": "Sounds like you're planning a fun party! I'd be happy to help you with suggestions for popular spo | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 804 | "content": "Kansas City, Missouri! Home of the Kansas City Chiefs!\n\nAs for your NFL playoff game, I think I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 1164 | "content": "Packing wisely is crucial for a stress-free trip. Here are some specific packing tips and essentia | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| LOW⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| LOW⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 1769 | "content": "As an AI language model, I do not have personal experiences, opinions, or emotions. However, studi | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 1869 | "content": "You're welcome! I'm thrilled to hear that you're excited to try out the texture mat technique. Rem | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 2369 | "content": "As an AI language model, I don't have any personal experience with failure, but I have been traine | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 2429 | "content": "Vegan quinoa salad is a fantastic option for lunch! Quinoa is a great source of protein, fiber, an | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 2529 | "content": "Yes, there are many restaurants in Athlone now that offer gluten-free options for those with glute | CODE |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/output.py | 33 | def set_json_mode(enabled: bool) -> None: | CODE |
| LOW | sdks/python/src/honcho/mixins.py | 186 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/mixins.py | 191 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/mixins.py | 215 | async def set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/mixins.py | 233 | async def set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/client.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/session.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/session.py | 45 | __all__ = ["Session", "SessionPeerConfig"] | CODE |
| LOW | sdks/python/src/honcho/__init__.py | 105 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/types.py | 8 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/conclusions.py | 21 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/peer.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 86 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 88 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/aio.py | 139 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 143 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 170 | async def set_configuration(self, configuration: WorkspaceConfiguration) -> None: # pyright: ignore[reportIncompati | CODE |
| LOW | sdks/python/src/honcho/aio.py | 711 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 714 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 760 | async def set_configuration(self, configuration: PeerConfig) -> None: # pyright: ignore[reportIncompatibleMethodOve | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1144 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1147 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1198 | async def set_configuration(self, configuration: SessionConfiguration) -> None: # pyright: ignore[reportIncompatibl | CODE |
| LOW | sdks/python/src/honcho/pagination.py | 14 | __all__ = ["SyncPage", "AsyncPage"] | CODE |
| LOW | sdks/python/src/honcho/scope.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/scope.py | 26 | __all__ = ["Scope"] | CODE |
| LOW | sdks/python/src/honcho/utils/scopes.py | 20 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/utils/__init__.py | 20 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/utils/sse.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/http/__init__.py | 20 | __all__ = [ | CODE |
| LOW | tests/conftest.py | 67 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/bench/locomo_common.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/bench/beam_common.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/bench/longmem_common.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/bench/oolong_common.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | tests/llm/test_langfuse_trace_annotation.py | 82 | def update_current_generation(self, **kwargs: Any) -> None: | CODE |
| LOW⚡ | tests/llm/test_langfuse_trace_annotation.py | 86 | def update_current_span(self, **kwargs: Any) -> None: | CODE |
| LOW | tests/unified/runner.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/alembic/registry.py | 68 | __all__ = [ | CODE |
| LOW | tests/alembic/__init__.py | 5 | __all__ = ["revisions"] | CODE |
| LOW | tests/alembic/scaffold.py | 129 | __all__ = [ | STRING |
| LOW | tests/alembic/verifier.py | 144 | __all__ = ["MigrationVerifier"] | CODE |
| LOW | tests/alembic/revisions/__init__.py | 31 | __all__ = [ | CODE |
| LOW | tests/telemetry/test_langfuse_exporter.py | 25 | def set_attribute(self, key: str, value: object) -> None: | CODE |
| LOW | tests/telemetry/test_cross_agent_trace.py | 179 | def set_attribute(self, *_a: object) -> None: ... | CODE |
| LOW | examples/crewai/python/src/honcho_crewai/tools.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/crewai/python/src/honcho_crewai/__init__.py | 60 | __all__ = [ | CODE |
| LOW | examples/crewai/python/src/honcho_crewai/storage.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | examples/zo/tools/__init__.py | 7 | __all__ = ["get_context", "query_memory", "save_memory"] | CODE |
| LOW | scripts/configure_embeddings.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ation/references/bot-frameworks/nanobot/honcho_tool.py | 58 | def set_context(self, session_key: str) -> None: | CODE |
| LOW | src/db.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/config.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/embedding_client.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/security.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/main.py | 75 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/scopes.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/sessions.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/peers.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/keys.py | 16 | logger = logging.getLogger(__name__) | CODE |
| 93 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/src/honcho/client.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/session.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/client.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | sdks/python/src/honcho/session.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | tests/bench/longmem_baseline.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/bench/locomo_common.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/bench/beam_common.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/scripts/test_configure_embeddings.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | scripts/configure_embeddings.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | src/startup/embedding_validator.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | …05486ce795d5_make_session_name_required_on_messages.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …test_bb6fb3a7a643_add_message_seq_in_session_column.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …st_110bdf470272_rename_deriver_disabled_to_deriver_.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …t_564ba40505c5_add_session_name_column_to_documents.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …05486ce795d5_make_session_name_required_on_messages.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …test_bb6fb3a7a643_add_message_seq_in_session_column.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …st_110bdf470272_rename_deriver_disabled_to_deriver_.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …t_564ba40505c5_add_session_name_column_to_documents.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | tests/routes/test_workspaces.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | tests/routes/test_sessions.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | tests/routes/test_peers.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | src/crud/session.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/peer.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/collection.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/workspace.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/output.py | 59 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/env.py | 108 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/docker.py | 53 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/docker.py | 207 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/docker.py | 392 | CODE | |
| LOW | honcho-cli/src/honcho_cli/local/setup.py | 459 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 224 | CODE | |
| LOW | sdks/python/src/honcho/http/client.py | 75 | CODE | |
| LOW | sdks/python/src/honcho/http/async_client.py | 75 | CODE | |
| LOW | sdks/python/src/honcho/http/exceptions.py | 134 | CODE | |
| LOW | tests/conftest.py | 813 | CODE | |
| LOW | tests/conftest.py | 827 | CODE | |
| LOW | tests/bench/locomo_summary.py | 221 | CODE | |
| LOW | tests/bench/harness.py | 538 | CODE | |
| LOW | tests/bench/harness.py | 574 | CODE | |
| LOW | tests/bench/harness.py | 822 | CODE | |
| LOW | tests/bench/harness.py | 962 | CODE | |
| LOW | tests/bench/locomo.py | 271 | CODE | |
| LOW | tests/bench/locomo.py | 325 | CODE | |
| LOW | tests/bench/runner_common.py | 291 | CODE | |
| LOW | tests/bench/runner_common.py | 362 | CODE | |
| LOW | tests/bench/runner_common.py | 389 | CODE | |
| LOW | tests/bench/runner_common.py | 596 | CODE | |
| LOW | tests/bench/locomo_common.py | 371 | CODE | |
| LOW | tests/bench/beam_common.py | 124 | CODE | |
| LOW | tests/bench/beam_common.py | 396 | CODE | |
| LOW | tests/bench/locomo_baseline.py | 157 | CODE | |
| LOW | tests/bench/coverage.py | 430 | CODE | |
| LOW | tests/bench/calculate_expected_events.py | 190 | CODE | |
| LOW | tests/bench/molecular.py | 1060 | CODE | |
| LOW | tests/bench/molecular.py | 483 | CODE | |
| LOW | tests/bench/molecular.py | 586 | CODE | |
| LOW | tests/bench/molecular.py | 672 | CODE | |
| LOW | tests/bench/molecular.py | 763 | CODE | |
| LOW | tests/bench/molecular.py | 855 | CODE | |
| LOW | tests/bench/beam.py | 188 | CODE | |
| LOW | tests/bench/beam.py | 233 | CODE | |
| LOW | tests/bench/longmem_common.py | 139 | CODE | |
| LOW | tests/bench/oolong_common.py | 144 | CODE | |
| LOW | tests/bench/oolong_common.py | 227 | CODE | |
| LOW | tests/bench/oolong_common.py | 494 | CODE | |
| LOW | tests/bench/longmem.py | 243 | CODE | |
| LOW | tests/bench/longmem.py | 389 | CODE | |
| LOW | tests/unified/runner.py | 90 | CODE | |
| LOW | tests/unified/runner.py | 272 | CODE | |
| LOW | tests/unified/runner.py | 388 | CODE | |
| LOW | tests/unified/runner.py | 508 | CODE | |
| LOW | tests/unified/runner.py | 640 | CODE | |
| LOW | tests/utils/test_filter.py | 402 | CODE | |
| LOW | tests/deriver/test_queue_processing.py | 840 | CODE | |
| LOW | tests/alembic/verifier.py | 125 | CODE | |
| LOW | tests/telemetry/conftest.py | 513 | CODE | |
| LOW | tests/telemetry/conftest.py | 519 | CODE | |
| LOW | tests/routes/test_scope_route_policy.py | 644 | CODE | |
| LOW | examples/granola/honcho_granola.py | 169 | CODE | |
| LOW | examples/granola/honcho_granola.py | 338 | CODE | |
| LOW | examples/granola/honcho_granola.py | 646 | CODE | |
| LOW | scripts/update_version.py | 158 | CODE | |
| LOW | scripts/run_alembic_tests.py | 53 | CODE | |
| LOW | src/config.py | 1109 | CODE | |
| 55 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sdks/python/src/honcho/utils/file_upload.py | 71 | # Read the file content | COMMENT |
| LOW | tests/conftest.py | 906 | # Check if the original function is async | COMMENT |
| LOW | tests/bench/harness.py | 602 | # Check if the process has died and show output | COMMENT |
| LOW | tests/bench/harness.py | 905 | # Check if any process has died | STRING |
| LOW | tests/bench/beam_common.py | 139 | # Check if this is a 10M conversation with plan-based structure | COMMENT |
| LOW⚡ | tests/bench/coverage.py | 1152 | # Check if passes both thresholds | COMMENT |
| LOW | tests/bench/oolong_common.py | 338 | # Check if there's a 4th part with label | COMMENT |
| LOW | tests/bench/oolong_common.py | 387 | # Check if this is a new speaker turn (must start with speaker label) | COMMENT |
| LOW | tests/bench/oolong_common.py | 486 | # Check if it contains commas (list case) | COMMENT |
| LOW | tests/integration/test_representation.py | 368 | # Check if workspace already exists to avoid uniqueness constraint | COMMENT |
| LOW | tests/integration/test_telemetry.py | 83 | # Check if we should fail | COMMENT |
| LOW⚡ | tests/unified/runner.py | 109 | # Check if boto3 can access credentials (either from environment or OIDC) | COMMENT |
| LOW | tests/sdk_typescript/test_sdk.py | 44 | # Print output for debugging | COMMENT |
| LOW | tests/sdk/test_client.py | 44 | # Check if there are more pages | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1177 | # Add items to queue | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1298 | # Add items to queue | COMMENT |
| LOW | scripts/update_version.py | 167 | # Check if this is a section header | COMMENT |
| LOW | scripts/run_alembic_tests.py | 73 | # Check if file is under tests/alembic (including subdirectories) | COMMENT |
| LOW | src/embedding_client.py | 504 | # Check if adding this chunk would exceed limits | COMMENT |
| LOW | src/routers/workspaces.py | 248 | # Check if dreams are enabled | COMMENT |
| LOW | src/utils/search.py | 240 | # Check if message was created during any of the peer's active windows in this session | COMMENT |
| LOW | src/utils/search.py | 269 | # Check if query contains special characters that FTS might not handle well | COMMENT |
| LOW | src/utils/summarizer.py | 730 | # Check if we have a valid summary with a message_id | COMMENT |
| LOW | src/utils/filter.py | 550 | # Check if the column exists on the model | COMMENT |
| LOW | src/utils/filter.py | 576 | # Check if this is a comparison operators dict by looking for known operators | COMMENT |
| LOW | src/utils/agent_tools.py | 1698 | # Check if peer card creation is disabled via configuration | COMMENT |
| LOW | src/vector_store/turbopuffer.py | 251 | # Check if value is a dict with "in" operator | COMMENT |
| LOW | src/vector_store/__init__.py | 248 | # Check if an instance was ever created | COMMENT |
| LOW | src/crud/webhook.py | 45 | # Check if webhook already exists for this workspace | COMMENT |
| LOW⚡ | src/crud/session.py | 1410 | # Check if a SessionPeer entry already exists | COMMENT |
| LOW⚡ | src/crud/session.py | 1420 | # Check if this update would exceed observer limits | COMMENT |
| LOW⚡ | src/crud/session.py | 1422 | # Check if peer is already an observer | COMMENT |
| LOW | src/crud/session.py | 249 | # Check if session already exists | COMMENT |
| LOW | src/crud/session.py | 434 | # Check if session is active (unless include_inactive is True) | COMMENT |
| LOW | src/crud/workspace.py | 110 | # Check if workspace already exists | COMMENT |
| LOW | src/deriver/enqueue.py | 342 | # Check if the sender should be observed based on peer configuration | COMMENT |
| LOW | src/deriver/queue_manager.py | 542 | # Check if we have capacity before querying. There is work to do | COMMENT |
| LOW | src/reconciler/scheduler.py | 226 | # Check if task is already in progress | COMMENT |
| LOW | src/reconciler/scheduler.py | 240 | # Check if there's already a pending task | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/bench/oolong_common.py | 311 | Date: YYYY-MM-DD || User: user_XYZ || Instance: <text> [label] | STRING |
| HIGH | tests/llm/test_backends/test_openai.py | 1288 | assert result.content is None # provider null, not a parsed model | CODE |
| HIGH | tests/live_llm/test_live_structured_output_unions.py | 10 | union-ish construct the converter supports (anyOf with null, a type list, an | STRING |
| HIGH⚡ | tests/utils/test_filter.py | 285 | """`NOT [{col: null}]` and `{col: {ne: null}}` must select the same rows. | STRING |
| HIGH | src/utils/schema_conversion.py | 90 | strings/integers/booleans/null, ``anyOf``/``oneOf`` unions (a | STRING |
| HIGH⚡ | src/utils/filter.py | 562 | # this has to short-circuit or `{"col": null}` raises instead of matching the | COMMENT |
| HIGH⚡ | src/utils/filter.py | 563 | # rows it names. Keeps bare null agreeing with `{"ne": null}` (IS NOT NULL) | COMMENT |
| HIGH⚡ | src/utils/filter.py | 564 | # and with `NOT [{"col": null}]`. | COMMENT |
| HIGH | src/utils/filter.py | 818 | f"Operator '{operator}' does not accept null. Use {{\"ne\": null}} for a not-null check, or null on | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/crewai/python/examples/tools_example.py | 31 | # Step 1: Setup session with conversation history | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 56 | # Step 2: Create Honcho tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 72 | # Step 3: Create agent with tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 88 | # Step 4: Create task | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 111 | # Step 5: Execute | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 198 | # Step 1: lock both tables for the duration of the transaction. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 204 | # Step 2: population check. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 217 | # Step 3: snapshot + drop HNSW indices. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 224 | # Step 4: ALTER columns. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 240 | # Step 5: recreate HNSW indices from the saved definitions. | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 41 | ### Step 1: Add dependency | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 70 | ### Step 2: Add config schema | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 106 | ### Step 3: Create the honcho package | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 134 | ### Step 4: Wire into the agent loop | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 169 | ### Step 5: Pass config through CLI | COMMENT |
| LOW | skills/honcho-integration/references/bot-frameworks.md | 173 | ### Step 6: Migration support | COMMENT |
| LOW⚡ | src/utils/summarizer.py | 480 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/crud/document.py | 1202 | # Step 1: Find potential duplicates using cosine similarity | COMMENT |
| LOW | src/crud/document.py | 1220 | # Step 2: Determine which has more information using token set difference | COMMENT |
| LOW | src/deriver/queue_manager.py | 841 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 853 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 125 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 147 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 292 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 331 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 424 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 493 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 507 | # Step 3: Build vector records and upsert to external store (all cases) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | honcho-cli/src/honcho_cli/local/env.py | 44 | "your-api-key-here", | CODE |
| HIGH | sdks/python/README.md | 17 | client = Honcho(api_key="your-api-key") | CODE |
| HIGH | sdks/python/README.md | 99 | client = Honcho(api_key="your-api-key") | CODE |
| HIGH | sdks/python/README.md | 140 | export HONCHO_API_KEY="your-api-key" | CODE |
| HIGH | sdks/python/README.md | 149 | api_key="your-api-key", | CODE |
| HIGH | sdks/python/src/honcho/__init__.py | 12 | client = Honcho(api_key="your-api-key") | STRING |
| HIGH | sdks/typescript/src/client.ts | 74 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | examples/zo/README.md | 29 | HONCHO_API_KEY=your-api-key-here | CODE |
| HIGH | examples/zo/SKILL.md | 22 | HONCHO_API_KEY=your-api-key | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/crewai/python/examples/tools_example.py | 31 | # Step 1: Setup session with conversation history | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 56 | # Step 2: Create Honcho tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 72 | # Step 3: Create agent with tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 88 | # Step 4: Create task | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 111 | # Step 5: Execute | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 198 | # Step 1: lock both tables for the duration of the transaction. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 204 | # Step 2: population check. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 217 | # Step 3: snapshot + drop HNSW indices. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 224 | # Step 4: ALTER columns. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 240 | # Step 5: recreate HNSW indices from the saved definitions. | COMMENT |
| LOW⚡ | src/utils/summarizer.py | 480 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/crud/document.py | 1202 | # Step 1: Find potential duplicates using cosine similarity | COMMENT |
| LOW | src/crud/document.py | 1220 | # Step 2: Determine which has more information using token set difference | COMMENT |
| LOW | src/deriver/queue_manager.py | 841 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 853 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 125 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 147 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 292 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 331 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 424 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 493 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 507 | # Step 3: Build vector records and upsert to external store (all cases) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 224 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 569 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 26 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 282 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/stack.py | 136 | CODE | |
| LOW | sdks/python/src/honcho/client.py | 186 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 560 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 667 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 1026 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 1391 | CODE | |
| LOW | tests/integration/test_telemetry.py | 65 | CODE | |
| LOW | tests/telemetry/test_langfuse_exporter.py | 72 | CODE | |
| LOW | tests/telemetry/conftest.py | 480 | CODE | |
| LOW | src/routers/sessions.py | 681 | CODE | |
| LOW | src/routers/peers.py | 646 | CODE | |
| LOW | src/llm/backend.py | 57 | CODE | |
| LOW | src/llm/backend.py | 74 | CODE | |
| LOW | src/llm/api.py | 51 | CODE | |
| LOW | src/llm/api.py | 80 | CODE | |
| LOW | src/llm/api.py | 109 | CODE | |
| LOW | src/llm/api.py | 137 | CODE | |
| LOW | src/llm/executor.py | 319 | CODE | |
| LOW | src/llm/executor.py | 343 | CODE | |
| LOW | src/llm/executor.py | 367 | CODE | |
| LOW | src/llm/executor.py | 402 | CODE | |
| LOW | src/llm/backends/gemini.py | 61 | CODE | |
| LOW | src/llm/backends/gemini.py | 134 | CODE | |
| LOW | src/llm/backends/openai.py | 153 | CODE | |
| LOW | src/llm/backends/openai.py | 273 | CODE | |
| LOW | src/llm/backends/anthropic.py | 25 | CODE | |
| LOW | src/llm/backends/anthropic.py | 118 | CODE | |
| LOW | src/utils/agent_tools.py | 2608 | CODE | |
| LOW | src/crud/representation.py | 575 | CODE | |
| LOW | src/crud/representation.py | 214 | CODE | |
| LOW | src/telemetry/emitter.py | 506 | CODE | |
| LOW | src/telemetry/emitter.py | 566 | CODE | |
| LOW | src/telemetry/emitter.py | 112 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 547 | # Mock the decorator to just return the function | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 50 | """Create comprehensive test data with multiple peers and observations. | STRING |
| MEDIUM | tests/test_advanced_filters.py | 2108 | """Test comprehensive edge cases for wildcard behavior""" | STRING |
| MEDIUM | tests/bench/harness.py | 105 | # Extract DB credentials from the compose file so the harness stays in sync | COMMENT |
| MEDIUM | tests/bench/harness.py | 951 | # Create all harness instances | STRING |
| MEDIUM | tests/bench/harness.py | 1177 | # Create and run the harness or pool | STRING |
| MEDIUM | tests/bench/longmem_baseline.py | 441 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/bench/locomo_common.py | 548 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/bench/beam_common.py | 597 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/unified/runner.py | 96 | """Save comprehensive test results to S3. | STRING |
| MEDIUM⚡ | tests/unified/runner.py | 120 | # Create comprehensive results object | COMMENT |
| MEDIUM | tests/unified/runner.py | 236 | # passed explicitly). The harness sets no AUTH vars of its own, so auth is | COMMENT |
| MEDIUM | tests/unified/runner.py | 360 | # Flush mode is enabled by default in the harness (DERIVER_FLUSH_ENABLED=true) | COMMENT |
| MEDIUM | tests/unified/runner.py | 646 | # Setup .env for harness | COMMENT |
| MEDIUM⚡ | tests/utils/test_agent_tools.py | 57 | """Create comprehensive test data for agent tools testing. | STRING |
| MEDIUM | src/routers/sessions.py | 441 | # TODO: Update crud.clone_session to work with new paradigm | COMMENT |
| MEDIUM | src/utils/json_parser.py | 356 | """Main function with comprehensive repair strategies""" | STRING |
| MEDIUM | src/utils/json_parser.py | 364 | # Try comprehensive repair | COMMENT |
| LOW | src/crud/session.py | 1211 | # If no peers to add, skip the insert and just return existing active session peers | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 759 | # Note: critical_analysis_call was removed as the deriver now uses agentic approach | COMMENT |
| MEDIUM | tests/telemetry/test_summary_v2_fields.py | 63 | # message + prev_summary + scaffold ≈ input_tokens (small drift from | COMMENT |
| MEDIUM | tests/telemetry/test_representation_v2_fields.py | 89 | # And the breakdown adds up: extra + scaffold + queued ≈ total provider input | COMMENT |
| MEDIUM | examples/zo/SKILL.md | 116 | # 4. Get context window for next LLM call | COMMENT |
| MEDIUM⚡ | src/utils/summarizer.py | 472 | # Compute scaffold tokens up front (cheap + idempotent) so both the | COMMENT |
| MEDIUM | src/schemas/configuration.py | 21 | # peer-card tools. Used for event-driven refreshes (scope membership | COMMENT |
| MEDIUM | src/deriver/deriver.py | 291 | # silent estimator failures (provider tokenization drift, scaffold helper | COMMENT |
| MEDIUM | src/telemetry/reasoning_traces.py | 89 | # Use messages for multi-turn/agentic calls, otherwise use prompt | COMMENT |
| MEDIUM | src/telemetry/emitter.py | 251 | # agentic trace is either fully kept or fully dropped — never a | COMMENT |
| MEDIUM | src/telemetry/events/trace.py | 145 | # Tags Honcho-authored content (system prompts, scaffold) so tenant-facing | COMMENT |
| MEDIUM | src/telemetry/events/agent.py | 242 | # rollup vs. the new messages vs. the scaffold/instructions" without | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | alembic.ini | 1 | # A generic, single database configuration. | COMMENT |
| LOW | alembic.ini | 21 | # Any required deps can installed by adding `alembic[tz]` to the pip requirements | COMMENT |
| LOW | alembic.ini | 41 | # The path separator used here should be the separator specified by "version_path_separator" below. | COMMENT |
| LOW | alembic.ini | 61 | # are written from script.py.mako | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 601 | # monkeypatch: pytest.MonkeyPatch, | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 621 | # explicit=[], | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 641 | # message = models.Message( | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 661 | # message_level_configuration=None, | COMMENT |
| LOW | tests/routes/test_scope_route_policy.py | 101 | build: Builder | None = None | COMMENT |
| LOW | .github/workflows/issue-gate.yml | 1 | name: Issue Gate | COMMENT |
| LOW | .github/workflows/pr-sweeper.yml | 1 | name: PR Sweeper | COMMENT |
| LOW | src/config.py | 1261 | COMMENT | |
| LOW | src/llm/types.py | 81 | # OpenTelemetry-style span-tree correlation. | COMMENT |
| LOW | src/llm/api.py | 301 | def _trace_stop_seqs() -> list[str] | None: | COMMENT |
| LOW | src/llm/api.py | 421 | ) | COMMENT |
| LOW | src/llm/executor.py | 481 | stream=stream, | COMMENT |
| LOW | src/cache/client.py | 121 | def get_cache_namespace() -> str: | COMMENT |
| LOW | src/utils/filter.py | 841 | # IS DISTINCT FROM, not <>: `NULL <> 'abc'` is NULL, so plain | COMMENT |
| LOW | src/utils/representation.py | 1 | from collections.abc import Sequence | COMMENT |
| LOW | src/crud/document.py | 521 | # mirror _normalize_content. Matching is further scoped per-document by | COMMENT |
| LOW | src/crud/document.py | 961 | await get_peer(db, workspace_name, peer_name) | COMMENT |
| LOW | src/crud/workspace.py | 381 | COMMENT | |
| LOW | src/deriver/queue_manager.py | 981 | for m, qi, _cap in rows: | COMMENT |
| LOW | src/deriver/queue_manager.py | 1041 | # | COMMENT |
| LOW | src/telemetry/emitter.py | 241 | if not self.enabled: | COMMENT |
| LOW | src/telemetry/prometheus/metrics.py | 61 | MESSAGES = "messages" | COMMENT |
| LOW | src/telemetry/prometheus/metrics.py | 441 | """ | COMMENT |
| LOW | src/telemetry/prometheus/metrics.py | 461 | # 2. service-scoped additive (the token counters, ``telemetry_events_emitted``) | COMMENT |
| LOW | src/telemetry/events/__init__.py | 141 | # Zero-init registry | COMMENT |
| LOW | src/telemetry/events/__init__.py | 181 | "embedding.call.completed", | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 701 | metrics.documents_cleaned += cleaned | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unified/test_cases/config_summary_control.json | 70 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | tests/unified/test_cases/config_summary_control.json | 70 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | …ied/test_cases/config_summary_control_deriver_off.json | 69 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | …ied/test_cases/config_summary_control_deriver_off.json | 69 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/llm/test_telemetry_llm_call.py | 591 | CODE |