Memory library for building stateful agents
This report summarizes scanner evidence for plastic-labs/honcho, a Python project with 7,569 GitHub stars. SynthScan examined 262,539 lines of code across 784 source files, recording 5183 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 27.8 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3466 finding(s).
Are imports declared and package/API names verified? 644 finding(s).
Are wrappers, guards, and repeated structures necessary? 3876 finding(s).
Which changes need focused human review? 5183 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5183 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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_conclusion_attribution.py | 50 | def test_list_reports_level_source_ids_and_times_derived(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_conclusion_attribution.py | 66 | def test_list_rejects_an_unknown_level(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_conclusion_attribution.py | 71 | def test_get_reports_ids_the_server_did_not_return(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_conclusion_attribution.py | 85 | def test_derived_asks_for_conclusions_containing_the_premise(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_conclusion_attribution.py | 108 | def test_peer_chat_returns_evidence_only_when_asked(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_conclusion_attribution.py | 132 | def test_workspace_chat_passes_the_flag_through(self, cfg, runner): | 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_workspace_chat_json_object_shape(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 225 | def test_workspace_chat_forwards_single_scope(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 243 | def test_workspace_chat_forwards_scope_allowlist(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 271 | def test_peer_chat_forwards_sessions_allowlist(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 302 | def test_message_get_returns_single_json_object(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 330 | def test_message_list_rejects_non_positive_last(self, cfg, runner, last): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 343 | def test_session_view_json_is_chronological_window(self, cfg, runner): | CODE |
| 2693 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 | 108 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 110 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 137 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 139 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 184 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 186 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 263 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 265 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 312 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 314 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 350 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 352 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 375 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 377 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 392 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 394 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 458 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 460 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 517 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 519 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 542 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 544 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 635 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 637 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 650 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 652 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 422 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 424 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 188 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_workspace_chat.py | 190 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 33 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 35 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 461 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 463 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1034 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1036 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1149 | # ============================================================================= | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1151 | # ============================================================================= | 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 |
| 356 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 | 1035 | # Create a mock collection object that doesn't require database commit | COMMENT |
| MEDIUM | tests/conftest.py | 49 | # Create a custom handler that doesn't get closed prematurely | COMMENT |
| MEDIUM | tests/conftest.py | 669 | # Create a mock vector store that stores vectors in memory | COMMENT |
| MEDIUM | tests/conftest.py | 712 | # Create the mock vector store | COMMENT |
| MEDIUM | tests/conftest.py | 762 | # Create an async generator for streaming responses | COMMENT |
| MEDIUM | tests/test_datetime_parsing.py | 437 | # Create a datetime in EST (UTC-5) | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 225 | # Create a session first | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 771 | # Create a peer card | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 1011 | # 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 | 643 | # Create a Python script to import and print the settings | COMMENT |
| MEDIUM | tests/bench/harness.py | 845 | # Create an empty .env file in temp directory to satisfy docker-compose | STRING |
| MEDIUM | tests/bench/harness.py | 1005 | # 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 | 375 | # Create a mock parsed object | COMMENT |
| MEDIUM⚡ | tests/utils/test_clients.py | 378 | # Create a proper ChatCompletionMessage and add parsed attribute | COMMENT |
| MEDIUM | tests/utils/test_agent_tools.py | 1166 | # 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 | 63 | # 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 | 41 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 75 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 615 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 636 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 813 | # Create a session just to ensure peers exist | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 846 | # 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_conclusion_attribution.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_recall.py | 3 | 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/recall.py | 13 | 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 | honcho-cli/src/honcho_cli/commands/scope.py | 13 | 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 | 40 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 40 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 40 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 40 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 40 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 48 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 58 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 58 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 58 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 59 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 60 | CODE | |
| 537 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 | 61 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 103 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 125 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 200 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 231 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 269 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 290 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 318 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 348 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 85 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 234 | except Exception: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 406 | except Exception as e: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 412 | except Exception: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 420 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 117 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 154 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 189 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 221 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 274 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 323 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 65 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 97 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 143 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 172 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 212 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 274 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 305 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 327 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 100 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 138 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 162 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 189 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 210 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 231 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/scope.py | 261 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 187 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 384 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 407 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 155 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 354 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 378 | except Exception: | CODE |
| LOW | tests/conftest.py | 253 | except Exception as e: | CODE |
| 357 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/src/honcho/client.py | 550 | 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/client.py | 596 | Get an existing scope by ID without creating it. Unlike :meth:`scope`, this never creates the scope, s | 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 | 450 | Get a single conclusion by ID. Args: conclusion_id: The ID of the conclusion to retrieve | STRING |
| HIGH | sdks/python/src/honcho/conclusions.py | 573 | Build a single conclusion create payload. This normalizes both `ConclusionCreateParams` instan | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 360 | 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 | 458 | Query the peer's representation with a natural language question, streaming the response. Makes an API | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 784 | Get a subset of the representation of the peer. Args: session: Optional session to scope t | STRING |
| HIGH | sdks/python/src/honcho/aio.py | 394 | 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/aio.py | 433 | Get an existing scope by ID asynchronously, without creating it. Unlike :meth:`scope`, this never crea | 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 | 385 | 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 | 29 | 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 | 200 | 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 | 95 | Validate a numeric operand without losing precision or overflowing. Integers become Decimal rather than staying int | STRING |
| HIGH | src/utils/filter.py | 144 | Return ``value`` ready to bind against ``column``, or raise FilterError. SQLAlchemy types a bind from the *operand* | STRING |
| HIGH | src/utils/filter.py | 240 | Parse a recall-path ``filters`` body into a session allowlist. The dialectic and representation endpoints accept a | STRING |
| HIGH | src/utils/filter.py | 306 | 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 | 363 | 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/vector_store/chroma.py | 328 | Query for similar vectors in ChromaDB. Args: namespace: The namespace to query | 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 | 200 | 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 | 436 | Get a session in a workspace. Args: db: Database session session_name: Name of the session | STRING |
| HIGH | src/crud/session.py | 480 | Get or create a session, then apply metadata and configuration updates. Provided metadata replaces the current | STRING |
| HIGH | src/crud/session.py | 582 | Delete a session and all associated data (hard delete). This performs cascading deletes for all session-relate | STRING |
| HIGH | src/crud/session.py | 899 | Remove specified peers from a session. Args: db: Database session workspace_name: Name of the | STRING |
| HIGH | src/crud/session.py | 1084 | 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 | 1208 | Upsert session-peer memberships for a session and optionally fetch the active memberships afterward. New p | STRING |
| 13 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 |
|---|---|---|---|---|
| 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 | 44 | 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 | 98 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/types.py | 11 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/conclusions.py | 21 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/peer.py | 46 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 94 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 96 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/aio.py | 148 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 152 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 179 | async def set_configuration(self, configuration: WorkspaceConfiguration) -> None: # pyright: ignore[reportIncompati | CODE |
| LOW | sdks/python/src/honcho/aio.py | 768 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 771 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 817 | async def set_configuration(self, configuration: PeerConfig) -> None: # pyright: ignore[reportIncompatibleMethodOve | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1251 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1254 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 1305 | 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 | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/http/__init__.py | 20 | __all__ = [ | CODE |
| LOW | tests/conftest.py | 66 | 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/unified/runner.py | 66 | 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 | 34 | __all__ = [ | CODE |
| LOW | tests/telemetry/test_langfuse_exporter.py | 31 | 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 | hermes-plugin-honcho/_shared_query_rewrite.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | hermes-plugin-honcho/client.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | hermes-plugin-honcho/session.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | hermes-plugin-honcho/session.py | 638 | def set_context_result(self, session_key: str, result: dict[str, str]) -> None: | CODE |
| LOW | hermes-plugin-honcho/__init__.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | hermes-plugin-honcho/cli.py | 176 | def _set_field(cfg: dict, key: str, value, echo: str) -> None: | CODE |
| LOW | hermes-plugin-honcho/cli.py | 487 | def _setup_identity_mapping(cfg: dict, hermes_host: dict, current_peer: str, new_host: bool) -> None: | CODE |
| LOW | hermes-plugin-honcho/cli.py | 626 | def _setup_local_auth(cfg: dict, hermes_host: dict) -> None: | CODE |
| LOW | hermes-plugin-honcho/cli.py | 760 | def _setup_tuning(cfg: dict, hermes_host: dict) -> None: | CODE |
| LOW | hermes-plugin-honcho/cli.py | 827 | def _setup_wizard(args) -> None: | CODE |
| LOW | hermes-plugin-honcho/oauth_flow.py | 28 | logger = logging.getLogger(__name__) | CODE |
| 119 more matches not shown… | ||||
| 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 |
|---|---|---|---|---|
| HIGH | honcho-cli/src/honcho_cli/config.py | 260 | except OSError: | CODE |
| HIGH | honcho-cli/src/honcho_cli/commands/setup.py | 234 | except Exception: | CODE |
| HIGH | honcho-cli/src/honcho_cli/commands/setup.py | 378 | except typer.Exit: | CODE |
| HIGH | honcho-cli/src/honcho_cli/commands/setup.py | 164 | except typer.Exit: | CODE |
| HIGH | honcho-cli/src/honcho_cli/commands/conclusion.py | 246 | except json.JSONDecodeError: | CODE |
| HIGH | sdks/python/src/honcho/http/client.py | 396 | except ValueError: | CODE |
| HIGH | sdks/python/src/honcho/http/client.py | 42 | except OSError: | CODE |
| HIGH | sdks/python/src/honcho/http/async_client.py | 366 | except ValueError: | CODE |
| HIGH | tests/conftest.py | 894 | except ImportError: | CODE |
| HIGH | tests/conftest.py | 936 | except ImportError: | CODE |
| HIGH | tests/bench/harness.py | 1203 | except KeyboardInterrupt: | CODE |
| HIGH | tests/bench/harness.py | 315 | except Exception: | CODE |
| HIGH | tests/bench/harness.py | 389 | except subprocess.TimeoutExpired: | CODE |
| HIGH | tests/bench/harness.py | 605 | except Exception: | CODE |
| HIGH | tests/bench/harness.py | 400 | except Exception: | CODE |
| HIGH | tests/bench/calculate_expected_events.py | 76 | except Exception: | CODE |
| HIGH | tests/bench/molecular.py | 562 | except json.JSONDecodeError: | CODE |
| HIGH | tests/bench/molecular.py | 572 | except json.JSONDecodeError: | CODE |
| HIGH | tests/bench/molecular.py | 580 | except json.JSONDecodeError: | CODE |
| HIGH | tests/bench/oolong_common.py | 483 | except ValueError: | CODE |
| HIGH | tests/utils/test_filter.py | 405 | except FilterError: | CODE |
| HIGH | tests/telemetry/test_embedding_call_event.py | 98 | except RuntimeError: | CODE |
| HIGH | examples/granola/honcho_granola.py | 399 | except (json.JSONDecodeError, TypeError): | CODE |
| HIGH | hermes-plugin-honcho/client.py | 158 | except (ValueError, TypeError): | CODE |
| HIGH | hermes-plugin-honcho/cli.py | 579 | except ImportError: | CODE |
| HIGH | hermes-plugin-honcho/cli.py | 1059 | except Exception: | CODE |
| HIGH | hermes-plugin-honcho/client_cache.py | 131 | except Exception: | CODE |
| HIGH | src/utils/filter.py | 992 | except ValueError: | CODE |
| HIGH | src/utils/json_parser.py | 331 | except json.JSONDecodeError: | CODE |
| HIGH | src/reconciler/scheduler.py | 231 | except TimeoutError: | CODE |
| 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/vector_store/turbopuffer.py | 0 | delete multiple vectors from chromadb. args: namespace: the namespace containing the vectors ids: list of vector identif | STRING |
| HIGH | src/vector_store/__init__.py | 0 | delete multiple vectors from chromadb. args: namespace: the namespace containing the vectors ids: list of vector identif | STRING |
| HIGH | src/vector_store/chroma.py | 0 | delete multiple vectors from chromadb. args: namespace: the namespace containing the vectors ids: list of vector identif | 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/utils/sse.py | 148 | CODE | |
| LOW | sdks/python/src/honcho/http/client.py | 109 | CODE | |
| LOW | sdks/python/src/honcho/http/async_client.py | 77 | CODE | |
| LOW | sdks/python/src/honcho/http/exceptions.py | 134 | CODE | |
| LOW | tests/conftest.py | 824 | CODE | |
| LOW | tests/conftest.py | 838 | CODE | |
| LOW | tests/bench/locomo_summary.py | 221 | CODE | |
| LOW | tests/bench/harness.py | 544 | CODE | |
| LOW | tests/bench/harness.py | 580 | CODE | |
| LOW | tests/bench/harness.py | 828 | CODE | |
| LOW | tests/bench/harness.py | 968 | 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 | 351 | CODE | |
| LOW | tests/unified/runner.py | 540 | CODE | |
| LOW | tests/unified/runner.py | 726 | CODE | |
| LOW | tests/unified/runner.py | 860 | CODE | |
| LOW | tests/unified/runner.py | 1011 | CODE | |
| LOW | tests/utils/test_filter.py | 412 | CODE | |
| LOW | tests/vector_store/test_chroma_http.py | 32 | CODE | |
| LOW | tests/deriver/test_scope_backfill.py | 423 | CODE | |
| LOW | tests/deriver/test_scope_backfill.py | 473 | CODE | |
| LOW | tests/deriver/test_queue_processing.py | 936 | 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 | 645 | CODE | |
| LOW | sandbox/inject_conclusions.py | 154 | CODE | |
| LOW | examples/granola/honcho_granola.py | 169 | CODE | |
| 78 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 | 917 | # Check if the original function is async | COMMENT |
| LOW | tests/bench/harness.py | 608 | # Check if the process has died and show output | COMMENT |
| LOW | tests/bench/harness.py | 911 | # 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 | 366 | # 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 | 47 | # Check if there are more pages | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1273 | # Add items to queue | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1394 | # 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 | 532 | # Check if adding this chunk would exceed limits | COMMENT |
| LOW | src/routers/workspaces.py | 255 | # 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 | 838 | # Check if we have a valid summary with a message_id | COMMENT |
| LOW | src/utils/filter.py | 628 | # Check if the column exists on the model | COMMENT |
| LOW | src/utils/filter.py | 654 | # Check if this is a comparison operators dict by looking for known operators | COMMENT |
| LOW | src/utils/agent_tools.py | 1454 | # 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 | 271 | # 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 | 1441 | # Check if a SessionPeer entry already exists | COMMENT |
| LOW⚡ | src/crud/session.py | 1451 | # Check if this update would exceed observer limits | COMMENT |
| LOW⚡ | src/crud/session.py | 1453 | # Check if peer is already an observer | COMMENT |
| LOW | src/crud/session.py | 256 | # Check if session already exists | COMMENT |
| LOW | src/crud/session.py | 459 | # 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 | 343 | # Check if the sender should be observed based on peer configuration | COMMENT |
| LOW | src/deriver/queue_manager.py | 514 | # Check if we have capacity before querying. There is work to do | COMMENT |
| LOW | src/reconciler/scheduler.py | 253 | # Check if task is already in progress | COMMENT |
| LOW | src/reconciler/scheduler.py | 267 | # 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 | 1292 | 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 | 284 | """`NOT [{col: null}]` and `{col: {ne: null}}` must select the same rows. | STRING |
| HIGH | scripts/generate_openapi.py | 40 | + " cd docs && bun run openapi" | CODE |
| HIGH | src/utils/schema_conversion.py | 90 | strings/integers/booleans/null, ``anyOf``/``oneOf`` unions (a | STRING |
| HIGH⚡ | src/utils/filter.py | 640 | # this has to short-circuit or `{"col": null}` raises instead of matching the | COMMENT |
| HIGH⚡ | src/utils/filter.py | 641 | # rows it names. Keeps bare null agreeing with `{"ne": null}` (IS NOT NULL) | COMMENT |
| HIGH⚡ | src/utils/filter.py | 642 | # and with `NOT [{"col": null}]`. | COMMENT |
| HIGH | src/utils/filter.py | 896 | f"Operator '{operator}' does not accept null. Use {{\"ne\": null}} for a not-null check, or null on | CODE |
| 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 | 76 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | sandbox/sandbox.sh | 175 | if grep -Eq '^\s*LLM_[A-Z]+_API_KEY=(sk-replace-me|your-api-key-here)\s*$' "$HERE/real.env"; then | CODE |
| 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 | kilo-honcho/README.md | 9 | ### Step 1: Get Your Honcho API Key | COMMENT |
| LOW | kilo-honcho/README.md | 15 | ### Step 2: Install the Plugin | COMMENT |
| LOW | kilo-honcho/README.md | 27 | ### Step 3: Run Setup in Kilo | COMMENT |
| 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 | 556 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/deriver/queue_manager.py | 867 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 879 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 148 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 170 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 315 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 354 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 447 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 516 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 530 | # Step 3: Build vector records and upsert to external store (all cases) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 553 | # Mock the decorator to just return the function | COMMENT |
| MEDIUM | tests/test_workspace_chat.py | 49 | """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 | 208 | # The harness Redis is standalone; a cluster client cannot talk to it. | COMMENT |
| MEDIUM | tests/bench/harness.py | 957 | # Create all harness instances | STRING |
| MEDIUM | tests/bench/harness.py | 1183 | # 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 | 357 | """Save comprehensive test results and reasoning traces to S3.""" | STRING |
| MEDIUM⚡ | tests/unified/runner.py | 377 | # Create comprehensive results object | COMMENT |
| MEDIUM | tests/unified/runner.py | 499 | # passed explicitly). The harness sets no AUTH vars of its own, so auth is | COMMENT |
| MEDIUM | tests/unified/runner.py | 628 | # Flush is process-wide, not per-step: the harness starts the | COMMENT |
| MEDIUM | tests/unified/runner.py | 630 | # on the token threshold. See tests/bench/harness.py. | COMMENT |
| MEDIUM | tests/unified/runner.py | 1017 | # Setup .env for harness | COMMENT |
| MEDIUM⚡ | tests/utils/test_agent_tools.py | 66 | """Create comprehensive test data for agent tools testing. | STRING |
| MEDIUM | sandbox/sandbox.sh | 4 | # seconds, so harness testing stops depending on machine state. | COMMENT |
| MEDIUM | sandbox/compose.yml | 1 | # Honcho sandbox — an ephemeral, seeded stack for harness integration testing. | COMMENT |
| MEDIUM | src/routers/sessions.py | 472 | # 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 | 1242 | # If no peers to add, skip the insert and just return existing active session peers | 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 | 130 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 323 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 75 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 122 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/stack.py | 136 | CODE | |
| LOW | sdks/python/src/honcho/client.py | 188 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 560 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 328 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 344 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 445 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 771 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 874 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 890 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 945 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 1133 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 1498 | CODE | |
| LOW | tests/integration/test_telemetry.py | 65 | CODE | |
| LOW | tests/utils/test_evidence.py | 25 | CODE | |
| LOW | tests/telemetry/test_langfuse_exporter.py | 87 | CODE | |
| LOW | tests/telemetry/test_langfuse_exporter.py | 146 | CODE | |
| LOW | tests/telemetry/conftest.py | 480 | CODE | |
| LOW | hermes-plugin-honcho/oauth_flow.py | 334 | CODE | |
| LOW | src/routers/sessions.py | 713 | CODE | |
| LOW | src/routers/peers.py | 664 | CODE | |
| LOW | src/dialectic/core.py | 71 | CODE | |
| LOW | src/llm/backend.py | 57 | CODE | |
| LOW | src/llm/backend.py | 74 | CODE | |
| LOW | src/llm/api.py | 52 | CODE | |
| LOW | src/llm/api.py | 84 | CODE | |
| LOW | src/llm/api.py | 116 | CODE | |
| LOW | src/llm/api.py | 147 | CODE | |
| LOW | src/llm/executor.py | 262 | CODE | |
| LOW | src/llm/executor.py | 286 | CODE | |
| LOW | src/llm/executor.py | 310 | CODE | |
| LOW | src/llm/executor.py | 333 | CODE | |
| LOW | src/llm/backends/gemini.py | 61 | CODE | |
| LOW | src/llm/backends/gemini.py | 134 | CODE | |
| LOW | src/llm/backends/openai.py | 156 | CODE | |
| LOW | src/llm/backends/openai.py | 276 | CODE | |
| LOW | src/llm/backends/anthropic.py | 33 | CODE | |
| LOW | src/llm/backends/anthropic.py | 122 | CODE | |
| LOW | src/utils/agent_tools.py | 2346 | CODE | |
| LOW | src/crud/representation.py | 641 | CODE | |
| LOW | src/crud/representation.py | 241 | CODE | |
| LOW | src/telemetry/emitter.py | 510 | CODE | |
| LOW | src/telemetry/emitter.py | 570 | CODE | |
| LOW | src/telemetry/emitter.py | 113 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 770 | # Note: critical_analysis_call was removed as the deriver now uses agentic approach | COMMENT |
| MEDIUM | tests/deriver/test_prompts.py | 127 | # Facts that leaked from earlier versions of the scaffold. | 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 | hermes-plugin-honcho/session_context.py | 229 | q = (query or "").strip()[:4000] # Honcho caps query length for the embedding model. | CODE |
| MEDIUM | src/utils/summarizer.py | 544 | # 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 | 311 | # 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 | 252 | # agentic trace is either fully kept or fully dropped — never a | COMMENT |
| MEDIUM | src/telemetry/events/trace.py | 82 | # Operator-written custom instructions included in the context window. | COMMENT |
| MEDIUM | src/telemetry/events/trace.py | 178 | # 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 | 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 | 556 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/deriver/queue_manager.py | 867 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 879 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 148 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 170 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 315 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 354 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 447 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 516 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 530 | # Step 3: Build vector records and upsert to external store (all cases) | 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 | 681 | # ) -> None: | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 701 | # deductive=[], | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 721 | # workspace_name=session.workspace_name, | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 741 | # observed=alice.name, | COMMENT |
| LOW | tests/routes/test_scope_route_policy.py | 101 | reason: str = "" | COMMENT |
| LOW | sandbox/sandbox.sh | 101 | # free rather than forcing a reseed. | COMMENT |
| LOW | sandbox/sandbox.sh | 201 | } | COMMENT |
| LOW | sandbox/compose.real.yml | 1 | # Provider overlay: a real, configured model provider. | COMMENT |
| LOW | sandbox/compose.yml | 1 | # Honcho sandbox — an ephemeral, seeded stack for harness integration testing. | COMMENT |
| LOW | sandbox/compose.yml | 21 | 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 | 1281 | FLUSH_THRESHOLD: Annotated[int, Field(default=50, gt=0, le=1000)] = 50 | COMMENT |
| LOW | src/config.py | 1301 | # aggregates carry totals; detail events are best-effort), but consumers | COMMENT |
| LOW | src/security.py | 241 | if jwt_params.p is not None: | COMMENT |
| LOW | src/mock_provider/schemas.py | 61 | # union keeps list[str] and list[int] apart instead of coercing one to the | COMMENT |
| LOW | src/llm/types.py | 81 | parent_span_id: str | None = None | COMMENT |
| LOW | src/llm/types.py | 101 | # Source work, distinct from messages retrieved later by agent tools. | COMMENT |
| LOW | src/llm/api.py | 321 | def _trace_stop_seqs() -> list[str] | None: | COMMENT |
| LOW | src/llm/executor.py | 381 | reasoning_effort=reasoning_effort, | COMMENT |
| LOW | src/cache/client.py | 41 | # | COMMENT |
| LOW | src/cache/client.py | 81 | SafeRedisCluster.__aenter__ = _safe_cluster_initialize | COMMENT |
| LOW | src/cache/client.py | 101 | # request handling instead of degrading. | COMMENT |
| LOW | src/utils/representation.py | 1 | from collections.abc import Sequence | COMMENT |
| LOW | src/utils/agent_tools.py | 2661 | when the query is empty rather than 0 (which could be confused with a | COMMENT |
| LOW | src/dreamer/orchestrator.py | 221 | COMMENT | |
| LOW | src/crud/session.py | 1301 | ), | COMMENT |
| LOW | src/crud/workspace.py | 381 | COMMENT | |
| LOW | src/deriver/queue_manager.py | 1061 | # | COMMENT |
| LOW | src/telemetry/emitter.py | 241 | """ | COMMENT |
| LOW | src/telemetry/prometheus/metrics.py | 541 | functions in src/db.py, so an auditor should not read them as forgotten. | COMMENT |
| LOW | src/telemetry/prometheus/metrics.py | 561 | # Multi-instance safety splits the metrics here into three buckets: | COMMENT |
| LOW | src/telemetry/events/__init__.py | 141 | # Lifecycle | 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 |
| LOW | src/mock_provider/schema_gen.py | 44 | "placeholder", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/llm/test_telemetry_llm_call.py | 592 | CODE |