Memory library for building stateful agents
This report presents the forensic synthetic code analysis of plastic-labs/honcho, a Python project with 5,963 GitHub stars. SynthScan v2.0 examined 182,770 lines of code across 545 source files, recording 3424 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 27.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3424 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/tests/test_commands.py | 41 | def test_first_run_writes_exact_shape(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 54 | def test_preserves_foreign_keys(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 81 | def test_workspace_delete_aborts_on_no(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 92 | def test_session_delete_aborts_on_no(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 108 | def test_workspace_list_json_array_shape(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 117 | def test_workspace_search_preserves_full_content_in_json_mode(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 145 | def test_message_get_returns_single_json_object(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 177 | def test_no_workspace_scoped_exits_nonzero_with_code(self, cfg, runner): | CODE |
| LOW | honcho-cli/tests/test_commands.py | 184 | def test_not_found_exits_nonzero_with_code(self, cfg, runner): | CODE |
| LOW⚡ | honcho-cli/tests/test_config.py | 22 | def test_defaults_when_no_file(self, cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_config.py | 28 | def test_malformed_file_uses_defaults(self, cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_config.py | 32 | def test_reads_environment_url(self, cfg_path): | CODE |
| LOW⚡ | honcho-cli/tests/test_config.py | 38 | def test_api_key_and_base_url_from_env(self, cfg_path, monkeypatch): | CODE |
| LOW | honcho-cli/tests/test_config.py | 49 | def test_writes_only_cli_owned_keys(self, cfg_path): | CODE |
| LOW | honcho-cli/tests/test_config.py | 63 | def test_preserves_foreign_keys(self, cfg_path): | CODE |
| LOW | honcho-cli/tests/test_config.py | 102 | def test_api_key_redaction_empty_omitted(): | CODE |
| LOW | sdks/python/src/honcho/conclusions.py | 32 | def _reject_reserved_filter_keys( | CODE |
| LOW | sdks/python/src/honcho/http/exceptions.py | 134 | def create_error_from_response( | CODE |
| LOW | sdks/typescript/__tests__/session.unit.test.ts | 21 | function createSessionContextResponse(): SessionContextResponse { | CODE |
| LOW | sdks/typescript/src/utils.ts | 26 | function transformSessionQueueStatus( | CODE |
| LOW⚡ | tests/test_security.py | 30 | def test_peer_token_without_workspace_rejected(self): | CODE |
| LOW⚡ | tests/test_security.py | 35 | def test_session_token_without_workspace_rejected(self): | CODE |
| LOW⚡ | tests/test_security.py | 40 | def test_workspace_only_token_ok(self): | CODE |
| LOW⚡ | tests/test_security.py | 45 | def test_workspace_peer_token_ok(self): | CODE |
| LOW⚡ | tests/test_security.py | 62 | async def test_denies_sibling_peer_same_workspace(self): | CODE |
| LOW⚡ | tests/test_security.py | 69 | async def test_denies_workspace_route_with_no_peer(self): | CODE |
| LOW⚡ | tests/test_security.py | 76 | async def test_self_authorizing_route_receives_claims(self): | CODE |
| LOW⚡ | tests/test_security.py | 84 | async def test_denies_cross_workspace(self): | CODE |
| LOW⚡ | tests/test_security.py | 100 | async def test_denies_sibling_session_same_workspace(self): | CODE |
| LOW⚡ | tests/test_security.py | 106 | async def test_denies_workspace_route_with_no_session(self): | CODE |
| LOW⚡ | tests/test_security.py | 112 | async def test_self_authorizing_route_receives_claims(self): | CODE |
| LOW⚡ | tests/test_security.py | 127 | async def test_workspace_token_reaches_peer_route(self): | CODE |
| LOW⚡ | tests/test_security.py | 134 | async def test_denies_cross_workspace(self): | CODE |
| LOW⚡ | tests/test_security.py | 140 | async def test_passes_self_authorizing_route(self): | CODE |
| LOW⚡ | tests/test_security.py | 239 | async def test_peer_key_without_workspace_rejected(self): | CODE |
| LOW⚡ | tests/test_security.py | 246 | async def test_session_key_without_workspace_rejected(self): | CODE |
| LOW⚡ | tests/test_security.py | 253 | async def test_peer_key_with_workspace_ok(self): | CODE |
| LOW⚡ | tests/test_security.py | 262 | async def test_admin_passes_any_route(self): | CODE |
| LOW⚡ | tests/test_security.py | 268 | async def test_non_admin_token_denied_on_admin_route(self): | CODE |
| LOW⚡ | tests/test_security.py | 274 | async def test_unscoped_token_on_self_authorizing_route(self): | CODE |
| LOW⚡ | tests/test_security.py | 284 | async def test_unscoped_token_denied_on_scoped_route(self): | CODE |
| LOW | tests/test_security.py | 168 | async def test_member_peer_allowed_on_read_route( | CODE |
| LOW | tests/test_security.py | 182 | async def test_non_member_peer_denied_on_read_route( | CODE |
| LOW | tests/test_security.py | 196 | async def test_member_peer_denied_on_write_route( | CODE |
| LOW | tests/test_security.py | 211 | async def test_member_peer_denied_cross_workspace( | CODE |
| LOW | tests/test_security.py | 225 | async def test_session_token_has_no_cross_scope_to_peer_routes(self): | CODE |
| LOW | tests/conftest.py | 118 | def pytest_collection_modifyitems( | CODE |
| LOW | tests/conftest.py | 507 | async def mock_simple_batch_embed_func(texts: list[str]) -> list[list[float]]: | CODE |
| LOW | tests/conftest.py | 604 | def mock_get_vector_namespace( | CODE |
| LOW⚡ | tests/conftest.py | 875 | def mock_crud_collection_operations(request: pytest.FixtureRequest): | CODE |
| LOW⚡ | tests/conftest.py | 885 | async def mock_get_or_create_collection( | CODE |
| LOW⚡ | tests/test_datetime_parsing.py | 225 | def test_format_naive_datetime_assumes_utc(self): | CODE |
| LOW⚡ | tests/test_datetime_parsing.py | 231 | def test_format_non_utc_converts_to_utc(self): | CODE |
| LOW⚡ | tests/test_datetime_parsing.py | 239 | def test_format_with_microseconds(self): | CODE |
| LOW⚡ | tests/test_datetime_parsing.py | 245 | def test_roundtrip_consistency(self): | CODE |
| LOW | tests/test_datetime_parsing.py | 26 | def test_parse_z_suffix_format(self): | CODE |
| LOW | tests/test_datetime_parsing.py | 41 | def test_parse_plus_zero_format(self): | CODE |
| LOW | tests/test_datetime_parsing.py | 54 | def test_parse_without_timezone(self): | CODE |
| LOW | tests/test_datetime_parsing.py | 66 | def test_equivalency_between_formats(self): | CODE |
| LOW | tests/test_datetime_parsing.py | 79 | def test_microseconds_precision(self): | CODE |
| 1500 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | sdks/python/src/honcho/api_types.py | 17 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 19 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 95 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 97 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 124 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 126 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 171 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 173 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 250 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 252 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 298 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 300 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 323 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 325 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 340 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 342 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 406 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 408 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 463 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 465 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 488 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 490 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 527 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 529 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 542 | # ============================================================================== | COMMENT |
| MEDIUM | sdks/python/src/honcho/api_types.py | 544 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 421 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/test_search.py | 423 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | tests/bench/runner_common.py | 795 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/bench/runner_common.py | 797 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 289 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 291 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 445 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 447 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 531 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/bench/runner_common.py | 533 | # ------------------------------------------------------------------------- | 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 |
| MEDIUM | tests/bench/coverage.py | 1229 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/coverage.py | 1231 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 88 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 90 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 140 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 142 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 304 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 306 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 455 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 457 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 975 | # ============================================================================= | COMMENT |
| MEDIUM | tests/bench/molecular.py | 977 | # ============================================================================= | COMMENT |
| 250 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 | 49 | # Create a custom handler that doesn't get closed prematurely | COMMENT |
| MEDIUM | tests/conftest.py | 269 | # Create a fake redis instance that persists for the session | COMMENT |
| MEDIUM | tests/conftest.py | 554 | # Create a mock vector store that stores vectors in memory | COMMENT |
| MEDIUM | tests/conftest.py | 597 | # Create the mock vector store | COMMENT |
| MEDIUM | tests/conftest.py | 647 | # Create an async generator for streaming responses | COMMENT |
| MEDIUM⚡ | tests/conftest.py | 891 | # Create a mock collection object that doesn't require database commit | COMMENT |
| MEDIUM | tests/test_datetime_parsing.py | 439 | # Create a datetime in EST (UTC-5) | COMMENT |
| MEDIUM | tests/test_advanced_filters.py | 1779 | # Create a very complex filter structure | COMMENT |
| MEDIUM | tests/bench/locomo_summary.py | 139 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/harness.py | 637 | # Create a Python script to import and print the settings | COMMENT |
| MEDIUM | tests/bench/harness.py | 839 | # Create an empty .env file in temp directory to satisfy docker-compose | STRING |
| MEDIUM | tests/bench/harness.py | 999 | # Create an empty .env file in temp directory | STRING |
| MEDIUM | tests/bench/locomo.py | 199 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/beam.py | 130 | # Initialize base class | COMMENT |
| MEDIUM | tests/bench/longmem.py | 160 | # Initialize base class (sets up metrics collector and logger) | COMMENT |
| MEDIUM | tests/bench/longmem.py | 208 | # Create a single merged session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 497 | # Create an observer peer | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1157 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1164 | # Create a message payload with seq_in_session included | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1235 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_enqueue.py | 1242 | # Create a message payload WITHOUT seq_in_session | COMMENT |
| MEDIUM | tests/integration/test_representation.py | 38 | # Create a deterministic 1536-dimensional embedding vector | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 77 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 84 | # Create a message using the CRUD function directly | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 199 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 206 | # Create a message using the CRUD function directly | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 249 | # Create a test session | COMMENT |
| MEDIUM | tests/integration/test_message_embeddings.py | 719 | # Create a test session | COMMENT |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 224 | "content": "To generate a graph of the action intensity in a scene, you can use Python with the Matplotlib and | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 234 | "content": "To represent the intensity of the script provided, we can estimate the intensity levels during the | CODE |
| MEDIUM⚡ | tests/utils/test_clients.py | 377 | # Create a mock parsed object | COMMENT |
| MEDIUM⚡ | tests/utils/test_clients.py | 380 | # Create a proper ChatCompletionMessage and add parsed attribute | COMMENT |
| MEDIUM | tests/utils/test_agent_tools.py | 705 | # Create a peer with no observations | COMMENT |
| MEDIUM | tests/sdk_typescript/conftest.py | 137 | # Create a tracked_db that uses fresh sessions (not shared) | COMMENT |
| MEDIUM | tests/sdk/test_file_uploads.py | 62 | # Create a large text file that will require chunking | COMMENT |
| MEDIUM | tests/sdk/test_pagination.py | 21 | await peer.aio.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/test_pagination.py | 38 | peer.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/test_conclusions.py | 39 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 73 | # Create a single observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 429 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 450 | # Create a self-observation | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 627 | # Create a session just to ensure peers exist | COMMENT |
| MEDIUM | tests/sdk/test_conclusions.py | 660 | # Create a session just to ensure peers exist | COMMENT |
| MEDIUM | tests/sdk/test_session.py | 561 | await peer.aio.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/test_session.py | 586 | peer.get_metadata() # Create the peer | CODE |
| MEDIUM | tests/sdk/sdk_integration_test.py | 116 | # Create the peers on the server by adding a message | COMMENT |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/tests/test_validation.py | 7 | CODE | |
| LOW | honcho-cli/tests/test_commands.py | 8 | CODE | |
| LOW | honcho-cli/scripts/generate_cli_docs.py | 16 | CODE | |
| LOW | honcho-cli/src/honcho_cli/config.py | 19 | 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/validation.py | 6 | 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/workspace.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/api_types.py | 6 | CODE | |
| LOW | sdks/python/src/honcho/session_context.py | 1 | CODE | |
| LOW | sdks/python/src/honcho/mixins.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/client.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 4 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 39 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 44 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 45 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 46 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 46 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 47 | 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 | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 49 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 63 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 64 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 64 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 65 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 66 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 67 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 67 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 67 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 68 | CODE | |
| LOW | sdks/python/src/honcho/__init__.py | 68 | CODE | |
| LOW | sdks/python/src/honcho/message.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/types.py | 3 | CODE | |
| LOW | sdks/python/src/honcho/conclusions.py | 4 | CODE | |
| LOW | sdks/python/src/honcho/conclusions.py | 19 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 4 | CODE | |
| LOW | sdks/python/src/honcho/peer.py | 36 | CODE | |
| 389 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 60 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 99 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 134 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 158 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 184 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 227 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 249 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 270 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 291 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 323 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 353 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 374 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 403 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 86 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 128 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 160 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 60 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 102 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 124 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 159 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 190 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 228 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 249 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 277 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 307 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/setup.py | 80 | except Exception as e: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 253 | except Exception as e: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 259 | except Exception: | CODE |
| LOW⚡ | honcho-cli/src/honcho_cli/commands/setup.py | 267 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 74 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 116 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 169 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/conclusion.py | 218 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 63 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 95 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 141 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 170 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 210 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 241 | except Exception as e: | CODE |
| LOW | honcho-cli/src/honcho_cli/commands/workspace.py | 263 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 153 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 350 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/client.py | 373 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 153 | except Exception as e: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 352 | except Exception: | CODE |
| LOW | sdks/python/src/honcho/http/async_client.py | 376 | except Exception: | CODE |
| LOW | tests/conftest.py | 158 | except Exception as e: | CODE |
| LOW | tests/conftest.py | 190 | except Exception as e: | CODE |
| LOW | tests/bench/locomo_summary.py | 429 | except Exception as e: | CODE |
| MEDIUM | tests/bench/locomo_summary.py | 558 | print(f"Error: Data file {args.data_file} does not exist") | STRING |
| MEDIUM | tests/bench/harness.py | 191 | print(f"Error restoring .env file: {e}") | CODE |
| MEDIUM | tests/bench/harness.py | 569 | print(f"Error reading from {name}: {e}") | CODE |
| MEDIUM⚡ | tests/bench/harness.py | 801 | print(f"Error stopping database: {e}") | STRING |
| MEDIUM⚡ | tests/bench/harness.py | 811 | print(f"Error removing temp directory: {e}") | STRING |
| MEDIUM⚡ | tests/bench/harness.py | 817 | print(f"Error closing cache: {e}") | STRING |
| LOW | tests/bench/harness.py | 190 | except Exception as e: | CODE |
| LOW | tests/bench/harness.py | 309 | except Exception: | CODE |
| LOW | tests/bench/harness.py | 332 | except Exception as e: | CODE |
| LOW | tests/bench/harness.py | 345 | except Exception as e: | CODE |
| LOW | tests/bench/harness.py | 394 | except Exception: | CODE |
| 232 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/src/honcho/conclusions.py | 354 | Build a single conclusion create payload. This normalizes both `ConclusionCreateParams` instan | STRING |
| HIGH | sdks/python/src/honcho/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 | 226 | Create an AsyncAnthropic client. Args: api_key: Optional API key. If not provided, uses LLM_ANTHROPIC_ | STRING |
| HIGH | tests/bench/runner_common.py | 252 | 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 | …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 | 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 | src/embedding_client.py | 278 | Batch-embed a list of text strings. Each input must already fit within `max_embedding_tokens`; this met | STRING |
| HIGH | src/llm/request_builder.py | 24 | 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 | 81 | Parse a work unit key to extract its components. Args: work_unit_key: The work unit key string to pars | 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 | 140 | 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 | 320 | Search across message content using a hybrid approach with Reciprocal Rank Fusion (RRF). This function combine | STRING |
| HIGH | src/utils/filter.py | 62 | Apply advanced filter to a SQL statement based on filter dictionary. Supports logical operators (AND, OR, NOT) | STRING |
| HIGH | src/utils/representation.py | 21 | 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 | 133 | 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 | 276 | Convert a filter dict to SQL WHERE clause syntax. Supports filter formats: - {"key": "value"} | STRING |
| HIGH | src/dreamer/trees/__init__.py | 18 | Factory function to create different tree types. Args: tree_type: Type of tree to create ('rptree', 'k | STRING |
| HIGH | src/crud/peer_card.py | 24 | 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 | 153 | 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 | 315 | Get a session in a workspace. Args: db: Database session session_name: Name of the session | STRING |
| HIGH | src/crud/session.py | 359 | Get or create a session, then apply metadata and configuration updates. Provided metadata replaces the current | STRING |
| HIGH | src/crud/session.py | 461 | Delete a session and all associated data (hard delete). This performs cascading deletes for all session-relate | STRING |
| HIGH | src/crud/session.py | 772 | Remove specified peers from a session. Args: db: Database session workspace_name: Name of the | STRING |
| HIGH | src/crud/session.py | 914 | Set peers for a session, overwriting any existing peers. If peers don't exist, they will be created. Args: | STRING |
| HIGH | src/crud/session.py | 989 | Upsert session-peer memberships for a session and optionally fetch the active memberships afterward. New p | STRING |
| HIGH | src/crud/session.py | 1098 | Get the configuration for a peer in a session. Args: db: Database session workspace_name: Nam | STRING |
| HIGH | src/crud/peer.py | 46 | Get an existing list of peers or create new peers if they don't exist. Updates existing peers with metadata and | STRING |
| HIGH | src/crud/peer.py | 186 | Get an existing peer. Args: db: Database session workspace_name: Name of the workspace | STRING |
| HIGH | src/crud/peer.py | 232 | Get or create a peer, then apply metadata and configuration updates. If the peer does not exist, the workspace | STRING |
| HIGH | src/crud/document.py | 843 | Create multiple observations (documents) from user input. This function validates all referenced resources, ge | STRING |
| HIGH | src/crud/collection.py | 87 | Get a collection by observer/observed for a workspace. Args: db: Database session workspace_na | STRING |
| HIGH | src/crud/workspace.py | 90 | Get an existing workspace or create a new one if it doesn't exist. Args: db: Database session | STRING |
| HIGH | src/crud/workspace.py | 186 | Get an existing workspace. Args: db: Database session workspace_name: Name of the workspace | STRING |
| HIGH | src/crud/workspace.py | 215 | Get or create a workspace, then apply metadata and configuration updates. Provided metadata replaces the curre | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | docs/v1/openapi.json | 1729 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1733 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 1827 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1831 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 1974 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 1978 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 2068 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 2072 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 2171 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 2175 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3275 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3279 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3369 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3373 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3472 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3476 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3562 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3566 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3660 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3664 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| CRITICAL | docs/v1/openapi.json | 3754 | "source": "import Honcho from 'honcho-ai';\n\nconst client = new Honcho({\n apiKey: process.env | CODE |
| CRITICAL | docs/v1/openapi.json | 3758 | "source": "import os\nfrom honcho import Honcho\n\nclient = Honcho(\n api_key=os.environ.get( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …test_cases/observation_isolation_between_sessions.json | 33 | "content": "Let me know if you need help with the data analysis." | CODE |
| LOW | tests/unified/test_cases/longmem_ancash.json | 50 | "content": "Here are a few more tips to keep in mind as you prepare your Seco de Cordero:\n\n1. It's best to u | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 360 | "content": "As an AI language model, I do not have personal opinions or beliefs, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 370 | "content": "As an AI language model, I do not have personal beliefs or opinions, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 380 | "content": "As an AI language model, I do not have personal beliefs or opinions, but I can provide information | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1205 | "content": "As an AI language model, I believe that NLP technology will continue to evolve and become even mor | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1215 | "content": "As an AI language model, I believe that NLP technology has made significant strides in mimicking h | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1225 | "content": "As an AI language model, I believe that NLP can be trained to understand and recognize when a cust | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1235 | "content": "As an AI language model, I think that e-commerce companies should be mindful of potential ethical | CODE |
| MEDIUM⚡ | tests/unified/test_cases/longmem_giftcard.json | 1245 | "content": "As an AI language model, I would say that NLP technology has made significant strides in understan | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 1910 | "content": "As an AI language model, I do not have the ability to see or experience anything in the physical w | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2380 | "content": "To incorporate haptic feedback into the capacitive touch-sensitive stalks, you can use a technique | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2390 | "content": "Yes, there are other ways to incorporate haptic feedback into your capacitive touch-sensitive stal | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2624 | "content": "As an AI language model, I don't have personal experiences or opinions. Nevertheless, here are som | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2734 | "content": "A fun birthday message or inside joke can make the gift even more special and personal. Here are s | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2784 | "content": "As an AI language model, I don't have access to current data. However, according to the UK Census | CODE |
| MEDIUM | tests/unified/test_cases/longmem_giftcard.json | 2794 | "content": "I apologize, but as an AI language model, I do not have access to real-time or updated data. Howev | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 720 | "content": "Seattle is a great destination! I'm happy to help you pack smart for your trip.\n\nFirstly, congra | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2230 | "content": "For a sunrise shot, I would highly recommend Presque Isle State Park. You can capture the vibrant | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2250 | "content": "Sure, here are some tips to take great sunrise photos:\n \n1. Scout the location beforehand and fi | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 2594 | "content": "You're welcome! It was my pleasure to help you. I'm glad I could assist you in exploring online co | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 3569 | "content": "The MCU movies are plenty to take in on their own.\n\nNow, about those snacks... I've got some Mar | CODE |
| LOW | tests/unified/test_cases/longmem_giftcard.json | 3659 | "content": "You're welcome! I'm glad I could help. Remember, everyone's body is different, so experiment with | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 509 | "content": "Here is how you can modify the code to create a real-time interactive candlestick chart:\n```\nimp | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 509 | "content": "Here is how you can modify the code to create a real-time interactive candlestick chart:\n```\nimp | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 529 | "content": "Here is the continued example:\n```\n# add a condition to check if the line is within the y-range | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 829 | "content": "Alex's grandfather's secret recipe sounds like a winner! A 24-hour dry rub marinade can make a hug | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1059 | "content": "As an AI language model, I haven\u2019t tried any of these flavor combinations personally, but I h | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1139 | "content": "Luka Doncic is indeed having an incredible season! The Dallas Mavericks' star is putting up MVP-ca | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 1524 | "content": "Congratulations on redeeming your Ibotta rewards and getting a nice deposit into your PayPal accou | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 1574 | "content": "Let's create a morning routine that works for you.\n\n**Regular Days (No Morning Meetings)**\n\n1. | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2109 | "content": "A Monk's Armor Class (AC) is calculated using the following formula:\n\n10 + Dexterity modifier + | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2129 | "content": "A 5th level Sorcerer can cast the 2nd level Druid spell Flame Blade by using the Sorcerer's Spellc | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 2733 | "content": "As an AI language model, I do not have personal experiences, but I can give general information. \ | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 2953 | "content": "Buon appetito! Italian cuisine is a great choice for a dinner party, and I'd be happy to help you | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3063 | "content": "That's a great idea! The local tourism board might have information about upcoming craft fairs and | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3298 | "content": "I'd be happy to help you create a list to track your jewelry collection.\n\nHere's a suggested for | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3318 | "content": "Let's add your mother's locket to the list.\n\n**Jewelry Inventory List**\n\n**Necklaces:**\n\n1. | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3588 | "content": "That's amazing! Five Ruby-throated Hummingbirds at a time on your feeder is a great sight! You mus | CODE |
| LOW | …cases/longmem_triple_e47becba_single-session-user.json | 3598 | "content": "Bird photography is a fascinating aspect of birding! Capturing birds in flight can be challenging, | CODE |
| MEDIUM | …cases/longmem_triple_e47becba_single-session-user.json | 3668 | "content": "As an AI language model built on language samples, I am not capable of having feelings, emotions o | CODE |
| LOW | …sts/unified/test_cases/longmem_ancash_directional.json | 50 | "content": "Here are a few more tips to keep in mind as you prepare your Seco de Cordero:\n\n1. It's best to u | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 44 | "content": "Both #bookrecommendations and #bookrecs are popular hashtags, but I'd recommend using #bookrecs. I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 44 | "content": "Both #bookrecommendations and #bookrecs are popular hashtags, but I'd recommend using #bookrecs. I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 64 | "content": "That's a great idea! Using the same set of hashtags for all your posts can lead to a plateau in en | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 234 | "content": "As an AI language model, I cannot predict the future, but the recovery of the tourism industry wil | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 244 | "content": "As an AI language model, I completely agree with you. Traveling plays an essential role in promoti | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 254 | "content": "As an AI language model, I agree that sustainability is becoming increasingly crucial in the touri | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 264 | "content": "As an AI language model, I completely agree with you that sustainable tourism is the way forward. | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 794 | "content": "Sounds like you're planning a fun party! I'd be happy to help you with suggestions for popular spo | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 804 | "content": "Kansas City, Missouri! Home of the Kansas City Chiefs!\n\nAs for your NFL playoff game, I think I | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 1164 | "content": "Packing wisely is crucial for a stress-free trip. Here are some specific packing tips and essentia | CODE |
| MEDIUM⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| LOW⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| LOW⚡ | …/longmem_triple_7161e7e2_single-session-assistant.json | 1509 | "content": "What a great idea! Social media is a fantastic way to promote your charity bake sale and encourage | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 1769 | "content": "As an AI language model, I do not have personal experiences, opinions, or emotions. However, studi | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 1869 | "content": "You're welcome! I'm thrilled to hear that you're excited to try out the texture mat technique. Rem | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 2369 | "content": "As an AI language model, I don't have any personal experience with failure, but I have been traine | CODE |
| LOW | …/longmem_triple_7161e7e2_single-session-assistant.json | 2429 | "content": "Vegan quinoa salad is a fantastic option for lunch! Quinoa is a great source of protein, fiber, an | CODE |
| MEDIUM | …/longmem_triple_7161e7e2_single-session-assistant.json | 2529 | "content": "Yes, there are many restaurants in Athlone now that offer gluten-free options for those with glute | CODE |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/output.py | 29 | 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 | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/session.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/session.py | 43 | __all__ = ["Session", "SessionPeerConfig"] | CODE |
| LOW | sdks/python/src/honcho/__init__.py | 93 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/types.py | 8 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/conclusions.py | 21 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/peer.py | 39 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 77 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/aio.py | 79 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/aio.py | 129 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 133 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 160 | async def set_configuration(self, configuration: WorkspaceConfiguration) -> None: # pyright: ignore[reportIncompati | CODE |
| LOW | sdks/python/src/honcho/aio.py | 523 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 526 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 572 | async def set_configuration(self, configuration: PeerConfig) -> None: # pyright: ignore[reportIncompatibleMethodOve | CODE |
| LOW | sdks/python/src/honcho/aio.py | 885 | def _set_metadata(self, metadata: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 888 | def _set_configuration(self, configuration: dict[str, object]) -> None: | CODE |
| LOW | sdks/python/src/honcho/aio.py | 939 | 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/utils/__init__.py | 11 | __all__ = [ | CODE |
| LOW | sdks/python/src/honcho/utils/sse.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | sdks/python/src/honcho/http/__init__.py | 20 | __all__ = [ | CODE |
| LOW | tests/conftest.py | 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/llm/test_langfuse_trace_annotation.py | 82 | def update_current_generation(self, **kwargs: Any) -> None: | CODE |
| LOW⚡ | tests/llm/test_langfuse_trace_annotation.py | 86 | def update_current_span(self, **kwargs: Any) -> None: | CODE |
| LOW | tests/unified/runner.py | 61 | logger = logging.getLogger(__name__) | CODE |
| LOW | tests/alembic/registry.py | 68 | __all__ = [ | CODE |
| LOW | tests/alembic/__init__.py | 5 | __all__ = ["revisions"] | CODE |
| LOW | tests/alembic/scaffold.py | 129 | __all__ = [ | STRING |
| LOW | tests/alembic/verifier.py | 144 | __all__ = ["MigrationVerifier"] | CODE |
| LOW | tests/alembic/revisions/__init__.py | 31 | __all__ = [ | CODE |
| LOW | tests/telemetry/test_langfuse_exporter.py | 25 | def set_attribute(self, key: str, value: object) -> None: | CODE |
| LOW | tests/telemetry/test_cross_agent_trace.py | 179 | def set_attribute(self, *_a: object) -> None: ... | CODE |
| LOW | …ation/references/bot-frameworks/nanobot/honcho_tool.py | 58 | def set_context(self, session_key: str) -> 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 | src/db.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/config.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/embedding_client.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/security.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/main.py | 75 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/sessions.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/peers.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/keys.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/conclusions.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/messages.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/webhooks.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | src/routers/workspaces.py | 18 | logger = logging.getLogger(__name__) | CODE |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | sdks/python/src/honcho/client.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/session.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 0 | get configuration from the server and update the cache. returns: a peerconfig object containing the configuration settin | STRING |
| HIGH | sdks/python/src/honcho/client.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | sdks/python/src/honcho/session.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | sdks/python/src/honcho/peer.py | 0 | set configuration on the server and update the cache. args: configuration: a peerconfig object with configuration settin | STRING |
| HIGH | tests/bench/longmem_baseline.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/bench/locomo_common.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/bench/beam_common.py | 0 | generate a comprehensive json summary of test results. | STRING |
| HIGH | tests/scripts/test_configure_embeddings.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | scripts/configure_embeddings.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | src/startup/embedding_validator.py | 0 | select c.relname as table_name, a.atttypmod as typmod from pg_attribute a join pg_class c on a.attrelid = c.oid join pg_ | STRING |
| HIGH | …05486ce795d5_make_session_name_required_on_messages.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …test_bb6fb3a7a643_add_message_seq_in_session_column.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …st_110bdf470272_rename_deriver_disabled_to_deriver_.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …t_564ba40505c5_add_session_name_column_to_documents.py | 0 | insert into "{schema}"."workspaces" ("id", "name") values (:workspace_id, :workspace_name) | STRING |
| HIGH | …05486ce795d5_make_session_name_required_on_messages.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …test_bb6fb3a7a643_add_message_seq_in_session_column.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …st_110bdf470272_rename_deriver_disabled_to_deriver_.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | …t_564ba40505c5_add_session_name_column_to_documents.py | 0 | insert into "{schema}"."peers" ("id", "name", "workspace_name") values (:peer_id, :peer_name, :workspace_name) | STRING |
| HIGH | tests/routes/test_workspaces.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | tests/routes/test_sessions.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | tests/routes/test_peers.py | 0 | paged reverse listing returns newest-first across consecutive pages. | STRING |
| HIGH | src/crud/session.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/peer.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/collection.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| HIGH | src/crud/workspace.py | 0 | fetch a workspace from the database and return as a plain dict for safe caching. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/output.py | 55 | CODE | |
| LOW | sdks/python/src/honcho/http/client.py | 75 | CODE | |
| LOW | sdks/python/src/honcho/http/async_client.py | 75 | CODE | |
| LOW | sdks/python/src/honcho/http/exceptions.py | 134 | CODE | |
| LOW | tests/conftest.py | 687 | CODE | |
| LOW | tests/conftest.py | 701 | CODE | |
| LOW | tests/bench/locomo_summary.py | 221 | CODE | |
| LOW | tests/bench/harness.py | 538 | CODE | |
| LOW | tests/bench/harness.py | 574 | CODE | |
| LOW | tests/bench/harness.py | 822 | CODE | |
| LOW | tests/bench/harness.py | 962 | CODE | |
| LOW | tests/bench/locomo.py | 271 | CODE | |
| LOW | tests/bench/locomo.py | 325 | CODE | |
| LOW | tests/bench/runner_common.py | 294 | CODE | |
| LOW | tests/bench/runner_common.py | 365 | CODE | |
| LOW | tests/bench/runner_common.py | 392 | CODE | |
| LOW | tests/bench/runner_common.py | 599 | 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 | 89 | CODE | |
| LOW | tests/unified/runner.py | 239 | CODE | |
| LOW | tests/unified/runner.py | 346 | CODE | |
| LOW | tests/unified/runner.py | 397 | CODE | |
| LOW | tests/unified/runner.py | 529 | CODE | |
| LOW | tests/deriver/test_queue_processing.py | 840 | CODE | |
| LOW | tests/alembic/verifier.py | 125 | CODE | |
| LOW | tests/telemetry/conftest.py | 513 | CODE | |
| LOW | tests/telemetry/conftest.py | 519 | CODE | |
| LOW | examples/granola/honcho_granola.py | 169 | CODE | |
| LOW | examples/granola/honcho_granola.py | 338 | CODE | |
| LOW | examples/granola/honcho_granola.py | 646 | CODE | |
| LOW | scripts/update_version.py | 158 | CODE | |
| LOW | scripts/run_alembic_tests.py | 53 | CODE | |
| LOW | src/config.py | 1025 | CODE | |
| LOW | src/embedding_client.py | 429 | CODE | |
| LOW | src/embedding_client.py | 444 | CODE | |
| LOW | src/security.py | 105 | CODE | |
| LOW | src/llm/structured_output.py | 15 | CODE | |
| LOW | src/llm/capture.py | 148 | CODE | |
| LOW | src/llm/tool_loop.py | 337 | CODE | |
| LOW | src/llm/backends/gemini.py | 272 | CODE | |
| LOW | src/llm/backends/gemini.py | 453 | CODE | |
| 41 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 | 780 | # Check if the original function is async | COMMENT |
| LOW | tests/bench/harness.py | 602 | # Check if the process has died and show output | COMMENT |
| LOW | tests/bench/harness.py | 905 | # Check if any process has died | STRING |
| LOW | tests/bench/beam_common.py | 139 | # Check if this is a 10M conversation with plan-based structure | COMMENT |
| LOW⚡ | tests/bench/coverage.py | 1152 | # Check if passes both thresholds | COMMENT |
| LOW | tests/bench/oolong_common.py | 338 | # Check if there's a 4th part with label | COMMENT |
| LOW | tests/bench/oolong_common.py | 387 | # Check if this is a new speaker turn (must start with speaker label) | COMMENT |
| LOW | tests/bench/oolong_common.py | 486 | # Check if it contains commas (list case) | COMMENT |
| LOW | tests/integration/test_representation.py | 368 | # Check if workspace already exists to avoid uniqueness constraint | COMMENT |
| LOW | tests/integration/test_telemetry.py | 83 | # Check if we should fail | COMMENT |
| LOW⚡ | tests/unified/runner.py | 108 | # Check if boto3 can access credentials (either from environment or OIDC) | COMMENT |
| LOW | tests/sdk_typescript/test_sdk.py | 44 | # Print output for debugging | COMMENT |
| LOW | tests/sdk/test_client.py | 44 | # Check if there are more pages | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1177 | # Add items to queue | COMMENT |
| LOW | tests/deriver/test_queue_processing.py | 1298 | # Add items to queue | COMMENT |
| LOW | scripts/update_version.py | 167 | # Check if this is a section header | COMMENT |
| LOW | scripts/run_alembic_tests.py | 73 | # Check if file is under tests/alembic (including subdirectories) | COMMENT |
| LOW | src/embedding_client.py | 407 | # Check if adding this chunk would exceed limits | COMMENT |
| LOW | src/routers/workspaces.py | 216 | # Check if dreams are enabled | COMMENT |
| LOW | src/utils/search.py | 237 | # Check if message was created during any of the peer's active windows in this session | COMMENT |
| LOW | src/utils/search.py | 266 | # Check if query contains special characters that FTS might not handle well | COMMENT |
| LOW | src/utils/summarizer.py | 730 | # Check if we have a valid summary with a message_id | COMMENT |
| LOW | src/utils/filter.py | 231 | # Check if the column exists on the model | COMMENT |
| LOW | src/utils/filter.py | 243 | # Check if this is a comparison operators dict by looking for known operators | COMMENT |
| LOW | src/utils/filter.py | 460 | # Check if this is a datetime column | COMMENT |
| LOW | src/utils/agent_tools.py | 1470 | # Check if peer card creation is disabled via configuration | COMMENT |
| LOW | src/vector_store/turbopuffer.py | 250 | # Check if value is a dict with "in" operator | COMMENT |
| LOW | src/vector_store/__init__.py | 239 | # Check if an instance was ever created | COMMENT |
| LOW | src/vector_store/lancedb.py | 301 | # Check if value is a dict with "in" operator | COMMENT |
| LOW | src/crud/webhook.py | 45 | # Check if webhook already exists for this workspace | COMMENT |
| LOW⚡ | src/crud/session.py | 1156 | # Check if a SessionPeer entry already exists | COMMENT |
| LOW⚡ | src/crud/session.py | 1166 | # Check if this update would exceed observer limits | COMMENT |
| LOW⚡ | src/crud/session.py | 1168 | # Check if peer is already an observer | COMMENT |
| LOW | src/crud/session.py | 204 | # Check if session already exists | COMMENT |
| LOW | src/crud/session.py | 338 | # Check if session is active (unless include_inactive is True) | COMMENT |
| LOW | src/crud/workspace.py | 107 | # Check if workspace already exists | COMMENT |
| LOW | src/deriver/enqueue.py | 341 | # Check if the sender should be observed based on peer configuration | COMMENT |
| LOW | src/deriver/queue_manager.py | 531 | # Check if we have capacity before querying. There is work to do | COMMENT |
| LOW | src/reconciler/scheduler.py | 214 | # Check if task is already in progress | COMMENT |
| LOW | src/reconciler/scheduler.py | 228 | # Check if there's already a pending task | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | examples/crewai/python/examples/tools_example.py | 31 | # Step 1: Setup session with conversation history | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 56 | # Step 2: Create Honcho tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 72 | # Step 3: Create agent with tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 88 | # Step 4: Create task | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 111 | # Step 5: Execute | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 198 | # Step 1: lock both tables for the duration of the transaction. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 204 | # Step 2: population check. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 217 | # Step 3: snapshot + drop HNSW indices. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 224 | # Step 4: ALTER columns. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 240 | # Step 5: recreate HNSW indices from the saved definitions. | COMMENT |
| LOW⚡ | src/utils/summarizer.py | 480 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/crud/document.py | 1084 | # Step 1: Find potential duplicates using cosine similarity | COMMENT |
| LOW | src/crud/document.py | 1101 | # Step 2: Determine which has more information using token set difference | COMMENT |
| LOW | src/deriver/queue_manager.py | 829 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 841 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 124 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 146 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 291 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 328 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 421 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 490 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 504 | # Step 3: Build vector records and upsert to external store (all cases) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 | 63 | * apiKey: 'your-api-key', | COMMENT |
| HIGH | examples/zo/README.md | 29 | HONCHO_API_KEY=your-api-key-here | CODE |
| HIGH | examples/zo/SKILL.md | 22 | HONCHO_API_KEY=your-api-key | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/crewai/python/examples/tools_example.py | 31 | # Step 1: Setup session with conversation history | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 56 | # Step 2: Create Honcho tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 72 | # Step 3: Create agent with tools | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 88 | # Step 4: Create task | COMMENT |
| LOW | examples/crewai/python/examples/tools_example.py | 111 | # Step 5: Execute | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 198 | # Step 1: lock both tables for the duration of the transaction. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 204 | # Step 2: population check. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 217 | # Step 3: snapshot + drop HNSW indices. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 224 | # Step 4: ALTER columns. | COMMENT |
| LOW⚡ | scripts/configure_embeddings.py | 240 | # Step 5: recreate HNSW indices from the saved definitions. | COMMENT |
| LOW⚡ | src/utils/summarizer.py | 480 | # Step 3: Save to database with new transaction | COMMENT |
| LOW | src/crud/document.py | 1084 | # Step 1: Find potential duplicates using cosine similarity | COMMENT |
| LOW | src/crud/document.py | 1101 | # Step 2: Determine which has more information using token set difference | COMMENT |
| LOW | src/deriver/queue_manager.py | 829 | # Step 1: Verify worker still owns the work_unit_key. | COMMENT |
| LOW | src/deriver/queue_manager.py | 841 | # Step 2: Build a single SQL query that: | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 124 | # Step 1: pick distinct message_ids with at least one eligible pending row, | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 146 | # Step 2: claim all pending rows for those messages. Skip rows another | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 291 | # Step 1: Re-embed documents missing embeddings in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 328 | # Step 2: Build vector records and upsert to external store (all cases) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 421 | # Step 1: Re-embed message embeddings missing vectors in postgres (cases 2 & 3) | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 490 | # Step 2: Compute chunk positions for vector IDs | COMMENT |
| LOW | src/reconciler/sync_vectors.py | 504 | # Step 3: Build vector records and upsert to external store (all cases) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | honcho-cli/src/honcho_cli/commands/session.py | 328 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/message.py | 26 | CODE | |
| LOW | honcho-cli/src/honcho_cli/commands/peer.py | 282 | CODE | |
| LOW | sdks/python/src/honcho/client.py | 178 | CODE | |
| LOW | sdks/python/src/honcho/session.py | 558 | CODE | |
| LOW | sdks/python/src/honcho/aio.py | 1132 | CODE | |
| LOW | tests/integration/test_telemetry.py | 65 | CODE | |
| LOW | tests/telemetry/test_langfuse_exporter.py | 72 | CODE | |
| LOW | tests/telemetry/conftest.py | 480 | CODE | |
| LOW | src/routers/sessions.py | 645 | CODE | |
| LOW | src/routers/peers.py | 395 | CODE | |
| LOW | src/llm/backend.py | 57 | CODE | |
| LOW | src/llm/backend.py | 74 | CODE | |
| LOW | src/llm/api.py | 51 | CODE | |
| LOW | src/llm/api.py | 80 | CODE | |
| LOW | src/llm/api.py | 109 | CODE | |
| LOW | src/llm/api.py | 137 | CODE | |
| LOW | src/llm/executor.py | 319 | CODE | |
| LOW | src/llm/executor.py | 343 | CODE | |
| LOW | src/llm/executor.py | 367 | CODE | |
| LOW | src/llm/executor.py | 402 | CODE | |
| LOW | src/llm/backends/gemini.py | 34 | CODE | |
| LOW | src/llm/backends/gemini.py | 103 | CODE | |
| LOW | src/llm/backends/openai.py | 137 | CODE | |
| LOW | src/llm/backends/openai.py | 239 | CODE | |
| LOW | src/llm/backends/anthropic.py | 22 | CODE | |
| LOW | src/llm/backends/anthropic.py | 109 | CODE | |
| LOW | src/utils/agent_tools.py | 2340 | CODE | |
| LOW | src/crud/representation.py | 522 | CODE | |
| LOW | src/crud/representation.py | 211 | CODE | |
| LOW | src/telemetry/emitter.py | 491 | CODE | |
| LOW | src/telemetry/emitter.py | 551 | CODE | |
| LOW | src/telemetry/emitter.py | 112 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/conftest.py | 655 | # Note: critical_analysis_call was removed as the deriver now uses agentic approach | COMMENT |
| MEDIUM | tests/telemetry/test_summary_v2_fields.py | 63 | # message + prev_summary + scaffold ≈ input_tokens (small drift from | COMMENT |
| MEDIUM | tests/telemetry/test_representation_v2_fields.py | 90 | # And the breakdown adds up: extra + scaffold + queued ≈ total provider input | COMMENT |
| MEDIUM | examples/zo/SKILL.md | 116 | # 4. Get context window for next LLM call | COMMENT |
| MEDIUM⚡ | src/utils/summarizer.py | 472 | # Compute scaffold tokens up front (cheap + idempotent) so both the | COMMENT |
| MEDIUM | src/deriver/deriver.py | 273 | # 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 | 236 | # agentic trace is either fully kept or fully dropped — never a | COMMENT |
| MEDIUM | src/telemetry/events/trace.py | 145 | # Tags Honcho-authored content (system prompts, scaffold) so tenant-facing | COMMENT |
| MEDIUM | src/telemetry/events/agent.py | 242 | # rollup vs. the new messages vs. the scaffold/instructions" without | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/conftest.py | 445 | # Mock the decorator to just return the function | COMMENT |
| MEDIUM | tests/test_advanced_filters.py | 1945 | """Test comprehensive edge cases for wildcard behavior""" | STRING |
| MEDIUM | tests/bench/harness.py | 105 | # Extract DB credentials from the compose file so the harness stays in sync | COMMENT |
| MEDIUM | tests/bench/harness.py | 951 | # Create all harness instances | STRING |
| MEDIUM | tests/bench/harness.py | 1177 | # Create and run the harness or pool | STRING |
| MEDIUM | tests/bench/longmem_baseline.py | 441 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/bench/locomo_common.py | 548 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/bench/beam_common.py | 597 | """Generate a comprehensive JSON summary of test results.""" | STRING |
| MEDIUM | tests/unified/runner.py | 95 | """Save comprehensive test results to S3. | STRING |
| MEDIUM⚡ | tests/unified/runner.py | 119 | # Create comprehensive results object | COMMENT |
| MEDIUM | tests/unified/runner.py | 318 | # Flush mode is enabled by default in the harness (DERIVER_FLUSH_ENABLED=true) | COMMENT |
| MEDIUM | tests/unified/runner.py | 534 | # Setup .env for harness | STRING |
| MEDIUM⚡ | tests/utils/test_agent_tools.py | 54 | """Create comprehensive test data for agent tools testing. | STRING |
| MEDIUM | src/routers/sessions.py | 413 | # 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 | 1011 | # If no peers to add, skip the insert and just return existing active session peers | 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 | 401 | COMMENT | |
| LOW | tests/deriver/test_deriver_processing.py | 421 | COMMENT | |
| LOW | tests/deriver/test_deriver_processing.py | 441 | # "src.deriver.deriver.CertaintyReasoner.reason", | COMMENT |
| LOW | tests/deriver/test_deriver_processing.py | 461 | # ) | COMMENT |
| LOW | src/config.py | 1181 | # Sample rate for high-volume events: llm.call.completed, embedding.call.completed, | COMMENT |
| LOW | src/llm/types.py | 81 | step_seq: int = 0 | COMMENT |
| LOW | src/llm/api.py | 301 | def _trace_stop_seqs() -> list[str] | None: | COMMENT |
| LOW | src/llm/api.py | 421 | ) | COMMENT |
| LOW | src/llm/executor.py | 481 | stream=stream, | COMMENT |
| LOW | src/crud/document.py | 481 | batch_normalized: set[str] = {_normalize_content(d.content) for d in documents} | COMMENT |
| LOW | src/crud/workspace.py | 381 | # then queue items referencing this workspace | COMMENT |
| LOW | src/deriver/queue_manager.py | 881 | COMMENT | |
| LOW | src/deriver/queue_manager.py | 1021 | COMMENT | |
| LOW | src/reconciler/sync_vectors.py | 481 | last_sync_at=func.now(), | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/unified/test_cases/config_summary_control.json | 70 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | tests/unified/test_cases/config_summary_control.json | 70 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | …ied/test_cases/config_summary_control_deriver_off.json | 69 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| LOW | …ied/test_cases/config_summary_control_deriver_off.json | 69 | "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed consectetur elit id tellus interdum, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/bench/oolong_common.py | 311 | Date: YYYY-MM-DD || User: user_XYZ || Instance: <text> [label] | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/llm/test_telemetry_llm_call.py | 591 | CODE |