Hindsight: Agent Memory That Learns
This report presents the forensic synthetic code analysis of vectorize-io/hindsight, a Python project with 19,005 GitHub stars. SynthScan v2.0 examined 797,631 lines of code across 3073 source files, recording 13232 pattern matches distributed across 25 syntactic categories. The overall adjusted score of 28.4 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 13232 distinct pattern matches across 25 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 | hindsight-all/tests/test_server_integration.py | 62 | def test_server_context_manager_basic_workflow(client): | CODE |
| LOW | hindsight-all/tests/test_server_integration.py | 186 | def test_server_manual_start_stop(client): | CODE |
| LOW | hindsight-all/tests/test_server_integration.py | 217 | def test_server_with_client_context_manager(client): | CODE |
| LOW | hindsight-all/tests/test_embedded_namespaces.py | 20 | def test_banks_create_ensures_daemon_started(embedded_client): | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 38 | def test_mental_models_list_ensures_daemon_started(embedded_client): | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 52 | def test_directives_list_ensures_daemon_started(embedded_client): | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 66 | def test_memories_list_ensures_daemon_started(embedded_client): | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 80 | def test_multiple_calls_ensure_daemon_each_time(embedded_client): | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 106 | def test_daemon_restart_handling(embedded_client): | CODE |
| LOW | hindsight-all/tests/test_embedded_namespaces.py | 132 | def test_ensure_started_calls_manager(embedded_client): | CODE |
| LOW | hindsight-all/tests/test_embedded_namespaces.py | 159 | def test_namespace_singleton_behavior(embedded_client): | CODE |
| LOW | hindsight-all/tests/test_cleanup_timeout.py | 15 | def test_cleanup_completes_when_lock_held(): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 74 | def test_embedded_context_manager(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 99 | def test_embedded_complete_workflow(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 188 | def test_embedded_server_reuse(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 221 | def test_embedded_method_proxying(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 272 | def test_embedded_multiple_banks(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 310 | def test_embedded_profile_isolation(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 348 | def test_embedded_error_after_close(llm_config): | CODE |
| LOW | hindsight-all/tests/test_embedded.py | 406 | def test_embedded_daemon_crash_recovery(llm_config): | CODE |
| LOW | hindsight-api-slim/tests/test_agents_api.py | 21 | async def test_get_bank_profile_no_auto_create_returns_none(self, memory: MemoryEngine, request_context): | CODE |
| LOW | hindsight-api-slim/tests/test_agents_api.py | 47 | async def test_get_agent_profile_creates_default(self, memory: MemoryEngine, request_context): | CODE |
| LOW | hindsight-api-slim/tests/test_agents_api.py | 62 | async def test_update_agent_disposition(self, memory: MemoryEngine, request_context): | CODE |
| LOW | hindsight-api-slim/tests/test_agents_api.py | 138 | async def test_think_uses_disposition(self, memory: MemoryEngine, request_context): | CODE |
| LOW | …-api-slim/tests/test_structured_delta_prompt_budget.py | 11 | def test_build_structured_delta_prompt_truncates_huge_document(): | CODE |
| LOW | …-api-slim/tests/test_structured_delta_prompt_budget.py | 29 | def test_fit_structured_delta_keeps_small_prompt_unchanged(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 44 | def test_output_language_directive_empty_when_unset(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 49 | def test_output_language_directive_mentions_language_three_times(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 63 | def test_retain_unset_does_not_inject_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 73 | def test_retain_injects_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 83 | def test_retain_directive_appears_after_base_prompt(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 115 | def test_consolidation_unset_does_not_inject_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 122 | def test_consolidation_injects_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 130 | def test_consolidation_directive_does_not_break_format_placeholders(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 146 | def test_reflect_unset_does_not_inject_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 151 | def test_reflect_injects_directive(): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 156 | def test_reflect_preserves_mission_alongside_directive(): | CODE |
| LOW | hindsight-api-slim/tests/test_multilingual_bm25.py | 97 | def test_retain_works_with_custom_mode(): | CODE |
| LOW | hindsight-api-slim/tests/test_multilingual_bm25.py | 255 | async def test_combined_retrieval_reuses_raw_semantic_pool_for_graph_seeds(monkeypatch): | CODE |
| LOW | hindsight-api-slim/tests/test_multilingual_bm25.py | 289 | async def test_combined_retrieval_keeps_graph_query_when_semantic_threshold_is_stricter(monkeypatch): | CODE |
| LOW | hindsight-api-slim/tests/test_worker_retry_knobs.py | 49 | async def _create_pending_operation(pool, bank_id: str, operation_id: uuid.UUID) -> None: | CODE |
| LOW | hindsight-api-slim/tests/test_worker_retry_knobs.py | 75 | async def test_retry_count_cap_honors_env_var(memory): | CODE |
| LOW | hindsight-api-slim/tests/test_worker_retry_knobs.py | 103 | async def test_retry_stops_at_env_var_cap(memory): | CODE |
| LOW | hindsight-api-slim/tests/test_worker_retry_knobs.py | 133 | async def test_retry_backoff_honors_env_var(memory): | CODE |
| LOW | hindsight-api-slim/tests/test_worker_retry_knobs.py | 173 | async def test_defaults_preserve_existing_behavior(memory): | CODE |
| LOW⚡ | …ight-api-slim/tests/test_tool_path_reasoning_effort.py | 89 | async def test_reasoning_model_receives_reasoning_effort_on_tool_path(self): | CODE |
| LOW⚡ | …ight-api-slim/tests/test_tool_path_reasoning_effort.py | 98 | async def test_configured_effort_is_forwarded_verbatim(self): | CODE |
| LOW⚡ | …ight-api-slim/tests/test_tool_path_reasoning_effort.py | 107 | async def test_blast_radius_is_the_capability_check_not_the_provider(self, provider): | CODE |
| LOW | …ight-api-slim/tests/test_tool_path_reasoning_effort.py | 126 | async def test_non_reasoning_model_gets_no_reasoning_effort(self): | CODE |
| LOW | …ight-api-slim/tests/test_tool_path_reasoning_effort.py | 134 | async def test_tool_path_matches_plain_path_for_same_model(self): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 72 | async def test_bank_deletion_cascades_to_async_operations(self, pool): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 117 | async def test_returns_true_when_op_exists(self, memory: MemoryEngine, request_context): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 182 | async def test_mark_completed_does_not_raise_when_row_missing(self, memory: MemoryEngine): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 188 | async def test_mark_failed_does_not_raise_when_row_missing(self, memory: MemoryEngine): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 193 | async def test_mark_completed_and_fire_webhook_does_not_raise_when_row_missing(self, memory: MemoryEngine): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 210 | async def test_consolidation_stops_early_when_op_cancelled(self, memory: MemoryEngine, request_context): | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 266 | async def test_retain_stops_between_sub_batches_when_cancelled(self, memory: MemoryEngine, request_context): | CODE |
| LOW | hindsight-api-slim/tests/test_op_cancellation.py | 88 | async def test_bank_deletion_cascades_to_webhooks(self, pool): | CODE |
| LOW | hindsight-api-slim/tests/test_op_cancellation.py | 135 | async def test_returns_false_when_op_deleted(self, memory: MemoryEngine, request_context): | CODE |
| LOW | hindsight-api-slim/tests/test_op_cancellation.py | 154 | async def test_returns_false_after_bank_cascade_delete(self, memory: MemoryEngine, request_context): | CODE |
| 6252 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | hindsight-cli/.openapi-coverage.toml | 20 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-cli/.openapi-coverage.toml | 22 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-cli/.openapi-coverage.toml | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-cli/.openapi-coverage.toml | 84 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-cli/src/commands/fs/format.rs | 11 | // ── Frontmatter ──────────────────────────────────────── | COMMENT |
| MEDIUM | hindsight-cli/src/commands/fs/format.rs | 89 | // ── Mirror planning ──────────────────────────────────── | COMMENT |
| MEDIUM | hindsight-cli/src/commands/fs/mod.rs | 166 | // ── Refresh loop ─────────────────────────────────────── | COMMENT |
| MEDIUM | hindsight-cli/src/commands/fs/mod.rs | 231 | // ── Commands ─────────────────────────────────────────── | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 4 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 12 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 46 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 59 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | docker/standalone/start-all.sh | 101 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | docker/standalone/start-all.sh | 107 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 167 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/start-all.sh | 179 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/test-start-all.sh | 75 | # ============================================================================= | COMMENT |
| MEDIUM | docker/standalone/test-start-all.sh | 78 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | docker/docker-compose/claude-code/docker-compose.yaml | 25 | # ── Persistent data ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docker/docker-compose/claude-code/docker-compose.yaml | 29 | # ── Claude credentials (read-only, single-file mounts) ──────── | COMMENT |
| MEDIUM⚡ | docker/docker-compose/claude-code/docker-compose.yaml | 36 | # ── Claude CLI install (read-only) ───────────────────────────── | COMMENT |
| MEDIUM⚡ | docker/docker-compose/claude-code/docker-compose.yaml | 39 | # ── SDK bundled-binary override ──────────────────────────────── | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 60 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 141 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 143 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 162 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_multilingual_bm25.py | 164 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_multilingual_bm25.py | 182 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_multilingual_bm25.py | 184 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 112 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 175 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 177 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 203 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 205 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_op_cancellation.py | 261 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 61 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 63 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 81 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 83 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 131 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 133 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 193 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 195 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 223 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_gemini_batch.py | 225 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 135 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 338 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 341 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 419 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …api-slim/tests/test_consolidation_scope_parallelism.py | 423 | # --------------------------------------------------------------------------- | COMMENT |
| 1424 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CLAUDE.md | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …ions/e7c3a9f1b2d5_drop_archive_search_vector_column.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …alembic/versions/b8c9d0e1f2a3_vchord_cosine_opclass.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …i/alembic/versions/a9b8c7d6e5f4_add_knowledge_pages.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …/alembic/versions/b57a7c9e0d13_add_bank_stats_cache.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …ic/versions/9f8e7d6c5b4a_memory_links_deferrable_fk.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …ersions/2071c7518f88_add_memory_links_bank_id_index.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …versions/d4f6a8c2e1b3_drop_archive_embedding_column.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …mbic/versions/c7d1e9a4b3f2_add_archive_causal_links.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …rsions/a1d3f5b7c9e2_widen_remaining_bank_id_to_text.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …versions/a7b8c9d0e1f2_split_history_into_own_tables.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …s/86f7a033d372_repair_mental_models_subtype_at_head.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | …versions/c3e5a7b9d1f4_widen_history_bank_id_to_text.py | 0 | schema-qualifier for raw sql on pg (multi-tenant search_path). | STRING |
| HIGH | hindsight-api-slim/tests/test_worker_retry_knobs.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | …api-slim/tests/test_integrity_violation_not_retried.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | hindsight-api-slim/tests/test_worker.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | …-api-slim/tests/test_mental_model_scheduled_refresh.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | hindsight-api-slim/tests/test_maintenance_loop.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | …lim/tests/test_consolidation_silent_requeue_failure.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | …lim/tests/test_consolidation_reschedule_after_round.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | hindsight-api-slim/tests/test_maintenance_routines.py | 0 | insert into async_operations (operation_id, bank_id, operation_type, status, task_payload) values ($1, $2, 'test', 'pend | STRING |
| HIGH | …api-slim/tests/test_consolidation_scope_parallelism.py | 0 | insert into memory_units (id, bank_id, text, fact_type, tags, created_at) values ($1, $2, $3, 'experience', $4, now()) | STRING |
| HIGH | …-api-slim/tests/test_consolidation_failure_recovery.py | 0 | insert into memory_units (id, bank_id, text, fact_type, tags, created_at) values ($1, $2, $3, 'experience', $4, now()) | STRING |
| HIGH | hindsight-api-slim/tests/test_consolidation.py | 0 | insert into memory_units (id, bank_id, text, fact_type, tags, created_at) values ($1, $2, $3, 'experience', $4, now()) | STRING |
| HIGH | hindsight-api-slim/tests/test_mcp_extension.py | 0 | helper to get tools dict from mcp server (fastmcp 3.x compatible). | STRING |
| HIGH | hindsight-api-slim/tests/test_mcp_tools.py | 0 | helper to get tools dict from mcp server (fastmcp 3.x compatible). | STRING |
| HIGH | hindsight-api-slim/tests/test_mcp_routing.py | 0 | helper to get tools dict from mcp server (fastmcp 3.x compatible). | STRING |
| HIGH | hindsight-api-slim/tests/test_llama_parse_parser.py | 0 | %pdf-1.4 1 0 obj << /type /catalog /pages 2 0 r >> endobj 2 0 obj << /type /pages /kids [3 0 r] /count 1 >> endobj 3 0 o | STRING |
| HIGH | hindsight-api-slim/tests/test_iris_parser.py | 0 | %pdf-1.4 1 0 obj << /type /catalog /pages 2 0 r >> endobj 2 0 obj << /type /pages /kids [3 0 r] /count 1 >> endobj 3 0 o | STRING |
| HIGH | hindsight-api-slim/tests/test_file_retain.py | 0 | %pdf-1.4 1 0 obj << /type /catalog /pages 2 0 r >> endobj 2 0 obj << /type /pages /kids [3 0 r] /count 1 >> endobj 3 0 o | STRING |
| HIGH | …lim/tests/test_consolidation_silent_requeue_failure.py | 0 | select count(*) from memory_units where bank_id = $1 and consolidated_at is null and fact_type in ('experience', 'world' | STRING |
| HIGH | …lim/tests/test_consolidation_reschedule_after_round.py | 0 | select count(*) from memory_units where bank_id = $1 and consolidated_at is null and fact_type in ('experience', 'world' | STRING |
| HIGH | …sight-api-slim/tests/test_consolidation_round_limit.py | 0 | select count(*) from memory_units where bank_id = $1 and consolidated_at is null and fact_type in ('experience', 'world' | STRING |
| HIGH | hindsight-api-slim/tests/test_consolidation.py | 0 | select count(*) from memory_units where bank_id = $1 and consolidated_at is null and fact_type in ('experience', 'world' | STRING |
| HIGH | hindsight-api-slim/tests/test_memory_curation.py | 0 | insert into memory_units ( id, bank_id, text, fact_type, event_date, source_memory_ids, proof_count, created_at, updated | STRING |
| HIGH | …t-api-slim/tests/test_bank_stats_cache_invalidation.py | 0 | insert into memory_units ( id, bank_id, text, fact_type, event_date, source_memory_ids, proof_count, created_at, updated | STRING |
| HIGH | …dsight-api-slim/tests/test_observation_invalidation.py | 0 | insert into memory_units ( id, bank_id, text, fact_type, event_date, source_memory_ids, proof_count, created_at, updated | STRING |
| HIGH | hindsight-api-slim/tests/test_litellm_sdk_embeddings.py | 0 | test that calling initialize() multiple times is safe. | STRING |
| HIGH | …sight-api-slim/tests/test_litellm_sdk_cross_encoder.py | 0 | test that calling initialize() multiple times is safe. | STRING |
| HIGH | hindsight-api-slim/tests/test_cohere_cross_encoder.py | 0 | test that calling initialize() multiple times is safe. | STRING |
| HIGH | hindsight-api-slim/tests/test_async_batch_retain.py | 0 | upsert a minimal bank row so fk on async_operations passes. | STRING |
| HIGH | …api-slim/tests/test_integrity_violation_not_retried.py | 0 | upsert a minimal bank row so fk on async_operations passes. | STRING |
| HIGH | hindsight-api-slim/tests/test_worker.py | 0 | upsert a minimal bank row so fk on async_operations passes. | STRING |
| HIGH | …t-api-slim/tests/test_bank_stats_cache_invalidation.py | 0 | insert into documents (id, bank_id, original_text, content_hash) values ($1, $2, $3, $4) | STRING |
| HIGH | hindsight-api-slim/tests/test_graph_maintenance.py | 0 | insert into documents (id, bank_id, original_text, content_hash) values ($1, $2, $3, $4) | STRING |
| HIGH | hindsight-api-slim/tests/test_graph_filtering.py | 0 | insert into documents (id, bank_id, original_text, content_hash) values ($1, $2, $3, $4) | STRING |
| HIGH | hindsight-api-slim/tests/test_graph_maintenance.py | 0 | insert into {fq_table("memory_units")} (id, bank_id, text, fact_type, event_date, created_at, updated_at) values ($1, $2 | STRING |
| HIGH | …ight-api-slim/tests/test_repair_bank_vector_indexes.py | 0 | insert into {fq_table("memory_units")} (id, bank_id, text, fact_type, event_date, created_at, updated_at) values ($1, $2 | STRING |
| HIGH | …ight-api-slim/tests/test_graph_maintenance_deadlock.py | 0 | insert into {fq_table("memory_units")} (id, bank_id, text, fact_type, event_date, created_at, updated_at) values ($1, $2 | STRING |
| HIGH | hindsight-dev/benchmarks/perf/system_perf.py | 0 | insert into {fq_table("memory_units")} (id, bank_id, text, fact_type, event_date, created_at, updated_at) values ($1, $2 | STRING |
| HIGH | hindsight-api-slim/tests/test_graph_maintenance.py | 0 | insert into {fq_table("entities")} (id, bank_id, canonical_name, first_seen, last_seen, mention_count) values ($1, $2, $ | STRING |
| HIGH | …ight-api-slim/tests/test_graph_maintenance_deadlock.py | 0 | insert into {fq_table("entities")} (id, bank_id, canonical_name, first_seen, last_seen, mention_count) values ($1, $2, $ | STRING |
| HIGH | hindsight-dev/benchmarks/perf/system_perf.py | 0 | insert into {fq_table("entities")} (id, bank_id, canonical_name, first_seen, last_seen, mention_count) values ($1, $2, $ | STRING |
| HIGH | hindsight-api-slim/tests/test_worker.py | 0 | update {fq_table("async_operations")} set status = $2, updated_at = now(), completed_at = now() where operation_id = $1 | STRING |
| HIGH | hindsight-api-slim/hindsight_api/worker/poller.py | 0 | update {fq_table("async_operations")} set status = $2, updated_at = now(), completed_at = now() where operation_id = $1 | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 0 | update {fq_table("async_operations")} set status = $2, updated_at = now(), completed_at = now() where operation_id = $1 | STRING |
| HIGH | hindsight-api-slim/tests/test_multilingual.py | 0 | 王芳在google北京办公室工作,她是一名高级产品经理。 之前她在microsoft和amazon工作过。 她负责管理youtube在中国市场的推广策略。 | STRING |
| HIGH | hindsight-docs/docs/developer/multilingual.md | 0 | 王芳在google北京办公室工作,她是一名高级产品经理。 之前她在microsoft和amazon工作过。 她负责管理youtube在中国市场的推广策略。 | STRING |
| HIGH | …s/versioned_docs/version-0.7/developer/multilingual.md | 0 | 王芳在google北京办公室工作,她是一名高级产品经理。 之前她在microsoft和amazon工作过。 她负责管理youtube在中国市场的推广策略。 | STRING |
| HIGH | …s/versioned_docs/version-0.6/developer/multilingual.md | 0 | 王芳在google北京办公室工作,她是一名高级产品经理。 之前她在microsoft和amazon工作过。 她负责管理youtube在中国市场的推广策略。 | STRING |
| 993 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-all/hindsight/__init__.py | 60 | CODE | |
| LOW | hindsight-all/hindsight/__init__.py | 61 | CODE | |
| LOW | hindsight-all/hindsight/__init__.py | 62 | CODE | |
| LOW | hindsight-all/hindsight/__init__.py | 62 | CODE | |
| LOW | hindsight-all/hindsight/client_wrapper.py | 8 | CODE | |
| LOW | hindsight-all/hindsight/api_namespaces.py | 8 | CODE | |
| LOW | hindsight-all/hindsight/api_namespaces.py | 13 | CODE | |
| LOW | hindsight-all/tests/test_cleanup_timeout.py | 9 | CODE | |
| LOW | hindsight-all/tests/test_cleanup_timeout.py | 12 | CODE | |
| LOW | hindsight-api-slim/tests/test_agents_api.py | 7 | CODE | |
| LOW | hindsight-api-slim/tests/test_multilingual_bm25.py | 10 | CODE | |
| LOW | hindsight-api-slim/tests/test_op_cancellation.py | 12 | CODE | |
| LOW | …api-slim/tests/test_consolidation_scope_parallelism.py | 20 | CODE | |
| LOW | hindsight-api-slim/tests/test_google_cross_encoder.py | 16 | CODE | |
| LOW | hindsight-api-slim/tests/test_google_cross_encoder.py | 16 | CODE | |
| LOW | hindsight-api-slim/tests/test_batch_chunking.py | 4 | CODE | |
| LOW | hindsight-api-slim/tests/test_batch_chunking.py | 8 | CODE | |
| LOW | …i-slim/tests/test_bank_template_configurable_fields.py | 19 | CODE | |
| LOW | hindsight-api-slim/tests/test_migration_shape.py | 10 | CODE | |
| LOW | hindsight-api-slim/tests/test_bank_stats_cache.py | 7 | CODE | |
| LOW | hindsight-api-slim/tests/conftest.py | 26 | CODE | |
| LOW | hindsight-api-slim/tests/conftest.py | 39 | CODE | |
| LOW | hindsight-api-slim/tests/conftest.py | 52 | CODE | |
| LOW | hindsight-api-slim/tests/conftest.py | 53 | CODE | |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 13 | CODE | |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 20 | CODE | |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 20 | CODE | |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 22 | CODE | |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 25 | CODE | |
| LOW | …ht-api-slim/tests/test_graph_maintenance_queue_race.py | 23 | CODE | |
| LOW | …ndsight-api-slim/tests/test_oracle_http_integration.py | 12 | CODE | |
| LOW | …ndsight-api-slim/tests/test_oracle_http_integration.py | 12 | CODE | |
| LOW | hindsight-api-slim/tests/test_recall_budget_config.py | 17 | CODE | |
| LOW | hindsight-api-slim/tests/test_recall_budget_config.py | 17 | CODE | |
| LOW | hindsight-api-slim/tests/test_recall_budget_config.py | 17 | CODE | |
| LOW | hindsight-api-slim/tests/test_oracle_integration.py | 17 | CODE | |
| LOW | hindsight-api-slim/tests/test_tracing.py | 10 | CODE | |
| LOW | hindsight-api-slim/tests/test_tracing.py | 12 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 14 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 14 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 19 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 19 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 19 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 20 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 21 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 23 | CODE | |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 23 | CODE | |
| LOW | …pi-slim/tests/test_experience_fact_type_passthrough.py | 18 | CODE | |
| LOW | hindsight-api-slim/tests/test_reflect_tracing.py | 12 | CODE | |
| LOW | hindsight-api-slim/tests/test_metrics.py | 6 | CODE | |
| LOW | hindsight-api-slim/tests/test_metrics.py | 6 | CODE | |
| LOW | hindsight-api-slim/tests/test_gemini_cache.py | 17 | CODE | |
| LOW | hindsight-api-slim/tests/test_delta_retain.py | 10 | CODE | |
| LOW | hindsight-api-slim/tests/test_nous_provider.py | 9 | CODE | |
| LOW | …ght-api-slim/tests/test_retain_orchestrator_mapping.py | 8 | CODE | |
| LOW | hindsight-api-slim/tests/test_document_tracking.py | 5 | CODE | |
| LOW | hindsight-api-slim/tests/test_document_tracking.py | 11 | CODE | |
| LOW | …i-slim/tests/test_enqueue_graph_maintenance_ordered.py | 26 | CODE | |
| LOW | hindsight-api-slim/tests/test_async_batch_retain.py | 10 | CODE | |
| LOW | …ndsight-api-slim/tests/test_provider_default_models.py | 5 | CODE | |
| 1435 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | hindsight-all/README.md | 13 | llm_api_key="your-api-key", | CODE |
| HIGH | hindsight-all/hindsight/server.py | 43 | llm_api_key="your-api-key", | STRING |
| HIGH | hindsight-all/hindsight/server.py | 259 | llm_api_key="your-api-key", | STRING |
| HIGH | hindsight-all/hindsight/__init__.py | 14 | llm_api_key="your-api-key", | STRING |
| HIGH | hindsight-all/hindsight/__init__.py | 29 | llm_api_key="your-api-key", | STRING |
| HIGH | hindsight-all/hindsight/embedded.py | 15 | llm_api_key="your-api-key", | STRING |
| HIGH | hindsight-all/tests/README.md | 36 | HINDSIGHT_API_LLM_API_KEY=your-api-key | CODE |
| HIGH | docker/test-image.sh | 96 | echo "Set it with: export HINDSIGHT_API_LLM_API_KEY=your-api-key" | CODE |
| HIGH | docker/docker-compose/pg_textsearch/docker-compose.yaml | 71 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/custom-models/docker-compose.yaml | 28 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/timescale/docker-compose.yaml | 83 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/alloydb/docker-compose.yaml | 68 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/pgroonga/docker-compose.yaml | 71 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/vchord/docker-compose.yaml | 73 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | docker/docker-compose/pg_search/docker-compose.yaml | 75 | HINDSIGHT_API_LLM_API_KEY: ${OPENAI_API_KEY:-your-api-key} | CODE |
| HIGH | hindsight-embed/hindsight_embed/cli.py | 223 | print(" HINDSIGHT_API_LLM_API_KEY=<your-api-key>", file=sys.stderr) | CODE |
| HIGH | hindsight-all-slim/README.md | 13 | llm_api_key="your-api-key", | CODE |
| HIGH | …ht-clients/python/hindsight_client/hindsight_client.py | 103 | client = Hindsight(base_url="http://localhost:8888", api_key="your-api-key") | STRING |
| HIGH | hindsight-clients/typescript/src/index.ts | 14 | * apiKey: 'your-api-key' | COMMENT |
| HIGH | hindsight-docs/docs/developer/configuration.md | 267 | export HINDSIGHT_API_LLM_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs/developer/configuration.md | 286 | export HINDSIGHT_API_LLM_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs/developer/configuration.md | 773 | export HINDSIGHT_API_EMBEDDINGS_ZEROENTROPY_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs/developer/configuration.md | 781 | export HINDSIGHT_API_EMBEDDINGS_COHERE_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs/developer/configuration.md | 946 | export HINDSIGHT_API_RERANKER_COHERE_API_KEY=your-api-key | CODE |
| HIGH⚡ | hindsight-docs/docs/developer/configuration.md | 963 | export HINDSIGHT_API_RERANKER_COHERE_API_KEY=your-api-key | CODE |
| HIGH⚡ | hindsight-docs/docs/developer/configuration.md | 969 | export HINDSIGHT_API_RERANKER_ZEROENTROPY_API_KEY=your-api-key | CODE |
| HIGH⚡ | hindsight-docs/docs/developer/configuration.md | 975 | export HINDSIGHT_API_RERANKER_SILICONFLOW_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs/developer/configuration.md | 1412 | export HINDSIGHT_API_FILE_PARSER_LLAMA_PARSE_API_KEY=llx-your-api-key | CODE |
| HIGH | hindsight-docs/docs/sdks/python.md | 45 | # api_key="your-api-key", # Optional bearer token | COMMENT |
| HIGH | hindsight-docs/docs/sdks/cli.md | 27 | hindsight configure --api-url http://localhost:8888 --api-key your-api-key | CODE |
| HIGH | hindsight-docs/docs/sdks/cli.md | 31 | export HINDSIGHT_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/blog/2026-03-19-nemoclaw-memory.md | 76 | --api-token <your-api-key> \ | CODE |
| HIGH | hindsight-docs/blog/2026-03-19-nemoclaw-memory.md | 167 | "hindsightApiToken": "<your-api-key>", | CODE |
| HIGH | …dsight-docs/blog/2026-03-30-llamaindex-agent-memory.md | 224 | api_key="your-api-key", # or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/blog/2026-03-24-version-0-4-20.md | 126 | --api-token <your-api-key> \ | CODE |
| HIGH | hindsight-docs/blog/2026-02-13-version-0-4-11.md | 55 | export HINDSIGHT_API_EMBEDDINGS_LITELLM_SDK_API_KEY=your-api-key | CODE |
| HIGH | …dsight-docs/blog/2026-07-20-zcode-persistent-memory.md | 60 | hindsight-zcode install --api-url https://api.hindsight.vectorize.io --api-token your-api-key | CODE |
| HIGH | hindsight-docs/blog/2026-03-04-mcp-agent-memory.md | 100 | "Authorization": "Bearer YOUR_API_KEY" | CODE |
| HIGH | hindsight-docs/blog/2026-03-04-mcp-agent-memory.md | 112 | --header "Authorization: Bearer YOUR_API_KEY" | CODE |
| HIGH | …ight-docs/blog/2026-03-25-strands-persistent-memory.md | 176 | api_key="YOUR_API_KEY", # if auth is enabled | CODE |
| HIGH | …cs/blog/2026-07-30-github-copilot-persistent-memory.md | 44 | hindsight-copilot-cli install --api-url https://api.hindsight.vectorize.io --api-token your-api-key | CODE |
| HIGH | …ght-docs/blog/2026-06-11-haystack-persistent-memory.md | 137 | api_key="your-api-key", | CODE |
| HIGH | hindsight-docs/blog/2026-03-03-version-0-4-15.md | 59 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | …ndsight-docs/blog/2026-04-09-agno-persistent-memory.md | 219 | api_key="your-api-key", | CODE |
| HIGH | hindsight-docs/docs-integrations/smolagents.md | 138 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/copilot-cli.md | 22 | hindsight-copilot-cli install --api-url https://api.hindsight.vectorize.io --api-token your-api-key | CODE |
| HIGH | hindsight-docs/docs-integrations/litellm.md | 84 | api_key="your-api-key", # API key for Hindsight authentication | CODE |
| HIGH | hindsight-docs/docs-integrations/pydantic-ai.md | 113 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/composio.md | 114 | api_key="your-api-key", # or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/vapi.md | 131 | export HINDSIGHT_API_LLM_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs-integrations/openai-agents.md | 125 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/langgraph.md | 158 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/nemoclaw.md | 24 | --api-token <your-api-key> \ | CODE |
| HIGH | hindsight-docs/docs-integrations/nemoclaw.md | 114 | "hindsightApiToken": "<your-api-key>", | CODE |
| HIGH | hindsight-docs/docs-integrations/strands.md | 151 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/zcode.md | 22 | hindsight-zcode install --api-url https://api.hindsight.vectorize.io --api-token your-api-key | CODE |
| HIGH | hindsight-docs/docs-integrations/cursor-cli.md | 24 | hindsight-cursor-cli install --api-url https://api.hindsight.vectorize.io --api-token your-api-key | CODE |
| HIGH | hindsight-docs/docs-integrations/roo-code.md | 127 | export HINDSIGHT_API_LLM_API_KEY=your-api-key | CODE |
| HIGH | hindsight-docs/docs-integrations/autogen.md | 103 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| HIGH | hindsight-docs/docs-integrations/agno.md | 131 | api_key="your-api-key", # Or set HINDSIGHT_API_KEY env var | CODE |
| 144 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-all/hindsight/server.py | 141 | except Exception as e: | CODE |
| LOW | hindsight-all/hindsight/embedded.py | 156 | except Exception: | CODE |
| LOW | hindsight-all/hindsight/embedded.py | 172 | except Exception: | CODE |
| LOW | hindsight-all/hindsight/embedded.py | 236 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 31 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 46 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 60 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 74 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 89 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 94 | except Exception: | CODE |
| LOW⚡ | hindsight-all/tests/test_embedded_namespaces.py | 99 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/conftest.py | 78 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/conftest.py | 280 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_none_llm_provider.py | 55 | except Exception: | CODE |
| LOW | …ndsight-api-slim/tests/test_oracle_http_integration.py | 39 | except Exception as e: | CODE |
| LOW | …pi-slim/tests/test_retain_same_document_concurrency.py | 110 | except Exception: | CODE |
| LOW | …pi-slim/tests/test_retain_same_document_concurrency.py | 170 | except Exception as e: # noqa: BLE001 — we want to classify failures | CODE |
| LOW | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 550 | except Exception as e: | STRING |
| LOW⚡ | hindsight-api-slim/tests/test_oracle_integration.py | 46 | except Exception as e: | CODE |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 121 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 232 | except Exception as e: | CODE |
| LOW | …ight-api-slim/tests/test_tracing_spans_verification.py | 113 | except Exception: | CODE |
| LOW | …lim/tests/test_consolidation_silent_requeue_failure.py | 8 | except Exception as e: | STRING |
| LOW⚡ | hindsight-api-slim/tests/test_extensions.py | 308 | except Exception: | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_extensions.py | 316 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_extensions.py | 612 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_temporal_ranges.py | 21 | except Exception: | CODE |
| LOW | …-api-slim/tests/test_consolidation_failure_recovery.py | 47 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_batch_api_integration.py | 237 | except Exception as e: | CODE |
| LOW | …dsight-api-slim/tests/test_migrations_thread_safety.py | 34 | except Exception as exc: # pragma: no cover - diagnostic path | CODE |
| MEDIUM | …dsight-api-slim/tests/test_migrations_thread_safety.py | 26 | def run_in_thread(schema): | CODE |
| LOW | hindsight-api-slim/tests/test_read_backend.py | 45 | except Exception: | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_read_backend.py | 66 | except Exception: | CODE |
| LOW⚡ | …ight-api-slim/tests/test_custom_embedding_dimension.py | 579 | except Exception: | CODE |
| LOW⚡ | …ight-api-slim/tests/test_custom_embedding_dimension.py | 755 | except Exception: | CODE |
| LOW | …ight-api-slim/tests/test_custom_embedding_dimension.py | 88 | except Exception: | CODE |
| LOW | …ight-api-slim/tests/test_custom_embedding_dimension.py | 108 | except Exception as e: | CODE |
| LOW | …ight-api-slim/tests/test_custom_embedding_dimension.py | 137 | except Exception as e: | CODE |
| LOW | …ight-api-slim/tests/test_custom_embedding_dimension.py | 517 | except Exception: | CODE |
| LOW⚡ | …ight-api-slim/tests/test_oracle_backend_integration.py | 118 | except Exception: | CODE |
| LOW⚡ | …ight-api-slim/tests/test_oracle_backend_integration.py | 128 | except Exception: | CODE |
| LOW⚡ | …ight-api-slim/tests/test_oracle_backend_integration.py | 133 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 198 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 559 | except Exception: | STRING |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 658 | except Exception: | STRING |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 768 | except Exception: | STRING |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 825 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_retain.py | 3281 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 109 | except Exception: | STRING |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 293 | except Exception: | STRING |
| LOW | hindsight-api-slim/tests/llm_judge.py | 119 | except Exception as e: # transient provider error — retry before giving up | CODE |
| LOW | hindsight-api-slim/tests/test_bank_stats.py | 333 | except Exception: | CODE |
| LOW⚡ | hindsight-api-slim/tests/e2e_oracle_smoke.py | 262 | except Exception as cleanup_err: | CODE |
| LOW⚡ | hindsight-api-slim/tests/e2e_oracle_smoke.py | 267 | except Exception: | CODE |
| LOW⚡ | hindsight-api-slim/tests/e2e_oracle_smoke.py | 271 | except Exception: | CODE |
| LOW⚡ | hindsight-api-slim/tests/e2e_oracle_smoke.py | 277 | except Exception: | CODE |
| LOW | hindsight-api-slim/tests/e2e_oracle_smoke.py | 291 | except Exception as exc: | CODE |
| LOW | hindsight-api-slim/tests/test_schema_isolation.py | 212 | except Exception as e: | CODE |
| LOW | hindsight-api-slim/tests/test_schema_isolation.py | 370 | except Exception as e: | STRING |
| LOW | …ght-api-slim/tests/test_verify_connection_soft_fail.py | 40 | except Exception: | CODE |
| 829 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 76 | # Step 1: Create a memory bank with background information | COMMENT |
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 85 | # Step 2: Store some memories about user preferences | COMMENT |
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 123 | # Step 3: Recall memories based on a query | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 140 | # Step 4: Recall memories about machine learning | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 155 | # Step 5: Reflect (generate contextual answer based on memories) | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 172 | # Step 6: Another reflection with different context | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 117 | # Step 1: Create a memory bank | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 126 | # Step 2: Store memories (single) | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 136 | # Step 3: Store batch memories | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 151 | # Step 4: Recall memories | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 160 | # Step 5: Reflect on memories | COMMENT |
| LOW | hindsight-all/tests/test_embedded.py | 177 | # Step 6: List memories | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 39 | # Step 1: Delete observation memory_units (cascades to unit_entities links) | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 43 | # Step 2: Drop observation-specific index (if it exists) | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 46 | # Step 3: Add mission column to banks (replacing background) | COMMENT |
| LOW | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 69 | # Step 4: Create mental_models table with final v4 schema (if not exists) | STRING |
| LOW | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 110 | # Step 5: Create indexes for efficient queries (if not exist) | STRING |
| LOW | …ersions/w8r9s0t1u2v3_fix_mental_models_pk_isolation.py | 58 | # WARNING: This downgrade will fail if there are duplicate IDs across banks | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4758 | # Step 1: Generate query embedding (for semantic search) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4786 | # Step 2: Optimized parallel retrieval using batched queries | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5043 | # Step 3: Merge ranked lists. RRF by default; interleave (round-robin) when | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5084 | # Step 4: Rerank using cross-encoder (MergedCandidate -> ScoredResult) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5303 | # Step 5: Truncate to thinking_budget * 2 for token filtering | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5489 | # Step 6: Token budget filtering | STRING |
| LOW | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 66 | # Step 1: Request a presigned upload URL | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 77 | # Step 2: Upload the file bytes to the presigned URL (no auth header) | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 86 | # Step 3: Start extraction | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 95 | # Step 4: Poll until ready or timeout | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 62 | # Step 1: Upload file and start parse job | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 72 | # Step 2: Poll job status until SUCCESS or ERROR | COMMENT |
| LOW | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 94 | # Step 3: Fetch the markdown result | COMMENT |
| LOW⚡ | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 881 | # Step 1: Extract temporal constraint first (CPU work, no DB) | STRING |
| LOW⚡ | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 890 | # Step 2: Run semantic + BM25 + temporal combined in ONE connection! | STRING |
| LOW | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 942 | # Step 3: Run graph retrieval for each fact type in parallel | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2128 | # Step 4: Retrieve results | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2134 | # Step 5: Parse results into facts (same as sync mode) | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2439 | # Step 7: Add temporal offsets | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2442 | # Step 8: Auto-tag facts from label groups with tag=True | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2563 | # Step 2: Wait for all fact extractions to complete. | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2569 | # Step 3: Flatten and convert to typed objects | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2641 | # Step 4: For verbatim mode, collapse to one fact per chunk with original text | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2645 | # Step 5: Add time offsets to preserve ordering within each content | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2648 | # Step 6: Auto-tag facts from label groups with tag=True | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2023 | # Step 1: Chunk all contents and build batch requests (skip if resuming) | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2065 | # Step 2: Submit batch (skip if resuming) | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2102 | # Step 3: Poll until complete | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2399 | # Step 6: Convert to ExtractedFact objects with proper chunk mapping | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2548 | # Step 1: Create parallel fact extraction tasks | STRING |
| LOW | .github/workflows/release.yml | 424 | # # Step 1: Build for local testing (single platform, no push) | COMMENT |
| LOW | .github/workflows/release.yml | 438 | # # Step 2: Test the image before pushing anything | COMMENT |
| LOW | …dsight-docs/blog/2026-03-30-llamaindex-agent-memory.md | 76 | ## Step 1: Start Hindsight | COMMENT |
| LOW | …dsight-docs/blog/2026-03-30-llamaindex-agent-memory.md | 88 | ## Step 2: Install the Integration | COMMENT |
| LOW | …dsight-docs/blog/2026-03-30-llamaindex-agent-memory.md | 96 | ## Step 3: Create the Agent | COMMENT |
| LOW | …2026-07-28-migrate-agent-memory-off-vector-database.md | 27 | ## Step 1: stand up Hindsight | COMMENT |
| LOW | …2026-07-28-migrate-agent-memory-off-vector-database.md | 51 | ## Step 2: rethink the unit you are moving | COMMENT |
| LOW | …2026-07-28-migrate-agent-memory-off-vector-database.md | 68 | ## Step 3: export the text, not the vectors | COMMENT |
| LOW | …2026-07-28-migrate-agent-memory-off-vector-database.md | 84 | ## Step 4: retain in batches | COMMENT |
| LOW | …2026-07-28-migrate-agent-memory-off-vector-database.md | 110 | ## Step 5: verify, then decommission | COMMENT |
| LOW | …ight-docs/blog/2026-03-10-run-hindsight-with-ollama.md | 67 | ### Step 1: Install Ollama | COMMENT |
| LOW | …ight-docs/blog/2026-03-10-run-hindsight-with-ollama.md | 89 | ### Step 2: Install Hindsight | COMMENT |
| 278 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | hindsight-all/hindsight/embedded.py | 310 | # Create a bank | STRING |
| MEDIUM | hindsight-all/hindsight/embedded.py | 334 | # Create a mental model | STRING |
| MEDIUM | hindsight-all/hindsight/embedded.py | 362 | # Create a directive | STRING |
| MEDIUM | hindsight-all/tests/test_server_integration.py | 247 | # Create a couple of banks with random IDs to allow parallel test execution | COMMENT |
| MEDIUM⚡ | hindsight-all/tests/test_embedded_namespaces.py | 114 | # Create a new mock client each time (simulating daemon restart) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_batch_chunking.py | 275 | # Create a large batch that should trigger chunking | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_batch_chunking.py | 301 | # Create a small batch that should NOT trigger chunking | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_admin_backup_restore.py | 243 | # Create a bank | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_admin_backup_restore.py | 249 | # Create a memory unit with all column types | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_admin_backup_restore.py | 117 | # Create a bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_admin_backup_restore.py | 263 | # Create an entity | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_document_transfer.py | 941 | # Create a real observation over those source facts. The helper self-acquires a | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_mcp_endpoint_routing.py | 30 | # Create an HTTPX client that routes to our ASGI app | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_metrics.py | 292 | # Create a class that inherits but doesn't implement | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_link_utils.py | 183 | # Create a slightly similar embedding (add noise) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_async_batch_retain.py | 122 | # Create a large batch that exceeds the threshold (10k tokens default) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_async_batch_retain.py | 434 | # Create a batch that's just under the threshold | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_async_batch_retain.py | 961 | # Create a parent operation (is_parent=True) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_chunking.py | 43 | # Create a text with 10 sentences of ~100 chars each | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_chunking.py | 64 | # Create a 64k character text | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_audit_log.py | 47 | # Create the bank first | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_consolidation.py | 1151 | # Create the bank | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_consolidation.py | 1154 | # Create a specific date in the past for testing | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 56 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 91 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 133 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 154 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 200 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 245 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 282 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 348 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 434 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 573 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 609 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 645 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 682 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 756 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 819 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 890 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 956 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 998 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1044 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1088 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1233 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1364 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1429 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1511 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1532 | # Create a mental model about John (higher quality, user-curated) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1595 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1648 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1712 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1715 | # Create a mental model with refresh_after_consolidation trigger enabled | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1793 | # Create the bank | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1796 | # Create a mental model (default trigger is refresh_after_consolidation: false) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_consolidation.py | 1872 | # Create the bank | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_mental_models.py | 1650 | # Create a directive | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_mental_models.py | 1658 | # Create a concept mental model to refresh | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_mental_models.py | 83 | # Create a directive | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_mental_models.py | 252 | # Create a directive with tags | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_mental_models.py | 473 | # Create a directive to always respond in French | COMMENT |
| 83 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | hindsight-all/hindsight/server.py | 152 | Start the server in a background thread. Args: timeout: Maximum time to wait for server to | STRING |
| HIGH | hindsight-api-slim/hindsight_api/config.py | 104 | Convert environment variable format to Python field name format. Examples: HINDSIGHT_API_LLM_PROVIDER | STRING |
| HIGH | hindsight-api-slim/hindsight_api/config_resolver.py | 343 | Normalize and validate bank configuration overrides. Args: bank_id: Bank identifier | STRING |
| HIGH | hindsight-api-slim/hindsight_api/mcp_tools.py | 122 | Parse an ISO format timestamp string. Args: timestamp: ISO format timestamp (e.g., '2024-01-15T10:30:00Z') | STRING |
| HIGH | hindsight-api-slim/hindsight_api/extensions/tenant.py | 74 | Authenticate the action context and return tenant context. Args: context: The action conte | STRING |
| HIGH | hindsight-api-slim/hindsight_api/extensions/tenant.py | 126 | Get set of config fields that this tenant/bank is allowed to modify. This method controls which config | STRING |
| HIGH | hindsight-api-slim/hindsight_api/extensions/tenant.py | 195 | Authenticate MCP requests. By default, this calls authenticate(). Override this method to provide | STRING |
| HIGH | …i-slim/hindsight_api/extensions/operation_validator.py | 579 | Validate a retain operation before execution. Called before the retain operation is processed. Return | STRING |
| HIGH | …i-slim/hindsight_api/extensions/operation_validator.py | 600 | Validate a recall operation before execution. Called before the recall operation is processed. Return | STRING |
| HIGH | …i-slim/hindsight_api/extensions/operation_validator.py | 628 | Validate a reflect operation before execution. Called before the reflect operation is processed. Retur | STRING |
| HIGH | hindsight-api-slim/hindsight_api/extensions/loader.py | 30 | Load an extension from environment variable configuration. The extension class is specified via {env_prefix}_{ | STRING |
| HIGH | …im/hindsight_api/extensions/builtin/supabase_tenant.py | 274 | Validate a Supabase JWT and return tenant context. Uses local JWKS verification when available (no net | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/interface.py | 605 | Cancel a pending async operation. Args: bank_id: The memory bank ID. operation | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/interface.py | 629 | Delete a terminal async operation record. Args: bank_id: The memory bank ID. o | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 116 | Make an LLM API call with retry logic. Args: messages: List of message dicts with 'role' a | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 275 | Submit a batch of requests to the provider's batch API. Args: requests: List of request di | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 292 | Get the status of a batch job. Args: batch_id: Batch identifier returned from submit_batch | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 307 | Retrieve completed batch results. Args: batch_id: Batch identifier returned from submit_ba | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 180 | Robustly parse JSON returned by an LLM. Handles common LLM output quirks: 1. Markdown code fences (```json | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 853 | Make an LLM API call with retry logic. Args: messages: List of message dicts with 'role' a | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 1473 | Run validation if an operation validator is configured. Args: validation_coro: Coroutine t | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 1496 | Authenticate tenant and set schema in context variable. The schema is stored in a contextvar for async | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3492 | Format a datetime into a readable string for temporal matching. Examples: - June 2024 | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 6467 | Delete a single memory unit and all its associated links. Due to CASCADE DELETE constraints, this will | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 6616 | Bulk delete memory units, keeping the same lifecycle as the single-id path. Callers pass a list of ``unit_ids`` | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 8327 | Get a single memory unit by ID. Args: bank_id: Bank ID memory_id: Memory unit | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/db_utils.py | 72 | Execute an async function with exponential backoff retry. Args: func: Async function to execute | STRING |
| HIGH | …ight-api-slim/hindsight_api/engine/parsers/__init__.py | 55 | Get parser by name or auto-detect. Args: name: Parser name (e.g., "markitdown") or None fo | STRING |
| HIGH | …ight-api-slim/hindsight_api/engine/parsers/__init__.py | 90 | Try each parser in order, falling back on failure or empty content. Moves to the next parser if the cu | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/parsers/base.py | 17 | Parse file to markdown. Args: file_data: Raw file bytes filename: Original fil | STRING |
| HIGH | …indsight_api/engine/providers/openai_compatible_llm.py | 773 | Make an LLM API call with retry logic. Args: messages: List of message dicts with 'role' a | STRING |
| HIGH | …indsight_api/engine/providers/openai_compatible_llm.py | 1597 | Submit a batch of requests to OpenAI/Groq Batch API. Args: requests: List of request dicts | STRING |
| HIGH | …slim/hindsight_api/engine/providers/claude_code_llm.py | 166 | Make an LLM API call with retry logic. Args: messages: List of message dicts with 'role' a | STRING |
| HIGH | …i-slim/hindsight_api/engine/providers/anthropic_llm.py | 177 | Make an LLM API call with retry logic. Args: messages: List of message dicts with 'role' a | STRING |
| HIGH | …sight-api-slim/hindsight_api/engine/transfer/export.py | 178 | Export documents from ``bank_id`` into an in-memory ZIP archive. Args: backend: Database backend (provides | STRING |
| HIGH | …ight-api-slim/hindsight_api/engine/storage/__init__.py | 18 | Create file storage backend based on configuration. Args: storage_type: "native" (PostgreSQL BYTEA) or | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/storage/base.py | 31 | Retrieve file by storage key. Args: key: Storage key Returns: File da | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/db/__init__.py | 56 | Factory: create a DatabaseBackend by name. Args: backend_type: One of "postgresql" or "oracle". Return | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/db/__init__.py | 74 | Factory: the DataAccessOps for a backend name. Returns a per-dialect SINGLETON: ``DataAccessOps`` is stateless (it | STRING |
| HIGH | …-api-slim/hindsight_api/engine/retain/entity_labels.py | 52 | Parse raw entity labels config into EntityLabelsConfig. Accepts: - None → returns None - list → list o | STRING |
| HIGH | …t-api-slim/hindsight_api/engine/retain/orchestrator.py | 229 | Parse a datetime value that could be either a datetime object or an ISO string. This handles datetime values f | STRING |
| HIGH | hindsight-api-slim/hindsight_api/engine/sql/__init__.py | 22 | Factory: create a SQLDialect by backend name. Args: backend_type: One of "postgresql" or "oracle". Ret | STRING |
| HIGH | hindsight-embed/hindsight_embed/embed_manager.py | 31 | Get the URL for the daemon serving this profile. Args: profile: Profile name Retu | STRING |
| HIGH | hindsight-embed/hindsight_embed/daemon_embed_manager.py | 138 | Get the URL for the daemon serving this profile. Args: profile: Profile name Retu | STRING |
| HIGH | …-integrations/llamaindex/hindsight_llamaindex/tools.py | 369 | Create Hindsight memory tools for a LlamaIndex agent. Convenience factory that creates a ``HindsightToolSpec`` and | STRING |
| HIGH | hindsight-integrations/crewai/hindsight_crewai/tools.py | 92 | Execute the reflect tool. Args: query: The question or topic to reflect on. Returns: | STRING |
| HIGH | …dsight-integrations/crewai/hindsight_crewai/storage.py | 213 | Search memories in Hindsight via recall. Called by CrewAI automatically at the start of each task. Arg | STRING |
| HIGH | …-integrations/smolagents/hindsight_smolagents/tools.py | 319 | Pre-recall memories for injection into agent system prompt. Performs a sync recall at construction time and returns | STRING |
| HIGH | …ght-integrations/agentcore/hindsight_agentcore/bank.py | 79 | Default bank resolver: one bank per (tenant, user, agent) tuple. Output format: With tenant: tenant:{ten | STRING |
| HIGH | …grations/superagent/hindsight_superagent/middleware.py | 263 | Store information to memory after applying safety checks. If guard is enabled, the content is checked for promp | STRING |
| HIGH | …grations/superagent/hindsight_superagent/middleware.py | 317 | Store a batch of memories, applying safety checks to each item. Each item is a dict matching the shape accepted | STRING |
| HIGH | …grations/superagent/hindsight_superagent/middleware.py | 407 | Search memory after guarding the query, optionally redacting results. Args: query: Search query. | STRING |
| HIGH | …grations/superagent/hindsight_superagent/middleware.py | 463 | Synthesize an answer from memory after guarding the query. Args: query: Reflection query. | STRING |
| HIGH | …ntegrations/pydantic-ai/hindsight_pydantic_ai/tools.py | 68 | Create Hindsight memory tools for a Pydantic AI agent. Returns a list of ``Tool`` instances that can be passed dire | STRING |
| HIGH | …ntegrations/pydantic-ai/hindsight_pydantic_ai/tools.py | 196 | Create an instructions function that auto-injects relevant memories. Returns an async callable suitable for use wit | STRING |
| HIGH | …s/claude-agent-sdk/hindsight_claude_agent_sdk/hooks.py | 123 | Create Claude Agent SDK hooks for automatic memory operations. Returns a dict suitable for ``ClaudeAgentOptions(hoo | STRING |
| HIGH | …s/claude-agent-sdk/hindsight_claude_agent_sdk/tools.py | 57 | Create Hindsight memory tools as Claude Agent SDK ``SdkMcpTool`` instances. Returns a list of tools that can be wra | STRING |
| HIGH | hindsight-integrations/ag2/hindsight_ag2/tools.py | 49 | Create Hindsight memory tools for AG2 agents. Returns a list of plain Python functions compatible with AG2's `` | STRING |
| HIGH | …dsight-integrations/strands/hindsight_strands/tools.py | 119 | Create Hindsight memory tools for a Strands agent. Returns a list of ``@tool``-decorated functions that can be pass | STRING |
| HIGH | …dsight-integrations/strands/hindsight_strands/tools.py | 268 | Pre-recall memories for injection into agent system prompt. Performs a sync recall and returns a formatted string o | STRING |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-all/hindsight/server.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-all/hindsight/__init__.py | 64 | __all__ = [ | CODE |
| LOW | hindsight-all/hindsight/embedded.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_file_storage_s3.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_memory_defense.py | 448 | async def _set_policy(api_client, bank: str, updates: dict) -> None: | CODE |
| LOW⚡ | …ndsight-api-slim/tests/test_oracle_http_integration.py | 23 | logger = logging.getLogger(__name__) | CODE |
| LOW | …pi-slim/tests/test_retain_same_document_concurrency.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_oracle_integration.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_load_large_batch.py | 26 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_delta_retain.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_retain_append_mode.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_batch_api_integration.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_bank_attribution.py | 48 | def _set_flag(enabled: bool) -> None: | CODE |
| LOW | hindsight-api-slim/tests/test_batch_api.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_retain.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_retain.py | 3319 | def _set_chunk_batch_size(memory: MemoryEngine, batch_size: int) -> None: | CODE |
| LOW | …ght-api-slim/tests/test_fireworks_batch_integration.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ndsight-api-slim/tests/test_delta_retain_duplicates.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_server_module.py | 286 | def set_context(self, context) -> None: | CODE |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/llm_judge.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/tests/test_main_module.py | 444 | def set_context(self, context) -> None: | CODE |
| LOW | …dsight-api-slim/tests/test_gemini_batch_integration.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | …dsight-api-slim/tests/test_fact_extraction_analysis.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/metrics.py | 161 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/tracing.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/tracing.py | 70 | def set_attribute(self, key: str, value: Any) -> None: | CODE |
| LOW | hindsight-api-slim/hindsight_api/tracing.py | 74 | def set_status(self, status: Any) -> None: | CODE |
| LOW | hindsight-api-slim/hindsight_api/config.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/pg0.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/__init__.py | 33 | __all__ = [ | CODE |
| LOW | hindsight-api-slim/hindsight_api/config_resolver.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 58 | def _set_alembic_main_option(config: Config, name: str, value: str) -> None: | CODE |
| LOW | hindsight-api-slim/hindsight_api/_vector_index.py | 11 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 71 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/daemon.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/admin/cli.py | 34 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/extensions/__init__.py | 79 | __all__ = [ | CODE |
| LOW | hindsight-api-slim/hindsight_api/extensions/mcp.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/extensions/loader.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ht-api-slim/hindsight_api/extensions/memory_defense.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/extensions/base.py | 38 | def set_context(self, context: "ExtensionContext") -> None: | CODE |
| LOW | …-api-slim/hindsight_api/extensions/builtin/__init__.py | 20 | __all__ = [ | CODE |
| LOW | …ndsight_api/extensions/builtin/memory_defense_regex.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | …im/hindsight_api/extensions/builtin/supabase_tenant.py | 63 | logger = logging.getLogger(__name__) | CODE |
| LOW | …im/hindsight_api/extensions/builtin/supabase_tenant.py | 65 | __all__ = ["SupabaseTenantExtension"] | CODE |
| LOW | hindsight-api-slim/hindsight_api/api/__init__.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/api/__init__.py | 125 | __all__ = [ | CODE |
| LOW | hindsight-api-slim/hindsight_api/api/mcp.py | 33 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 180 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/worker/__init__.py | 11 | __all__ = ["WorkerPoller"] | CODE |
| LOW | hindsight-api-slim/hindsight_api/worker/poller.py | 86 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/worker/stage.py | 43 | def set_stage(name: str) -> None: | CODE |
| LOW | hindsight-api-slim/hindsight_api/worker/main.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/webhooks/__init__.py | 14 | __all__ = [ | CODE |
| LOW | hindsight-api-slim/hindsight_api/webhooks/manager.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ght-api-slim/hindsight_api/engine/graph_maintenance.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_trace.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | hindsight-api-slim/hindsight_api/engine/audit.py | 25 | logger = logging.getLogger(__name__) | CODE |
| 173 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | hindsight-api-slim/tests/test_document_transfer.py | 724 | # now that the manifest no longer includes embedding model/dimension metadata). | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_mcp_tools.py | 2039 | # Mirrors ReflectResult: the agentic loop's trace fields are large and present. | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_reflect_prompt_builder.py | 250 | # --- Directives header block (inserted between anti-hallucination and role) --- | STRING |
| MEDIUM | hindsight-api-slim/tests/test_mental_models.py | 838 | # are the scaffolding that prevents double-counting and unjustified | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_multilingual.py | 180 | # The LLM should use names from the based_on facts, not hallucinate different names | STRING |
| MEDIUM | hindsight-api-slim/tests/test_http_api_integration.py | 1031 | # Verify usage field exists and is populated (agentic reflect aggregates all LLM calls) | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_http_api_integration.py | 1035 | # Usage must be present - agentic reflect now aggregates token usage from all LLM calls | COMMENT |
| MEDIUM | hindsight-api-slim/hindsight_api/config.py | 1058 | # set to the embedding model's real input limit (e.g. 8192 for Bedrock Titan V2) | COMMENT |
| MEDIUM | hindsight-api-slim/hindsight_api/config.py | 1813 | # Optional native Ollama context window override. Unset lets Ollama use the | COMMENT |
| MEDIUM | hindsight-api-slim/hindsight_api/mcp_tools.py | 1089 | # The agentic reflect loop's trace fields can be tens of KB (full | COMMENT |
| MEDIUM | hindsight-api-slim/hindsight_api/mcp_tools.py | 1182 | # The agentic reflect loop's trace fields can be tens of KB (full | COMMENT |
| MEDIUM | hindsight-api-slim/hindsight_api/api/http.py | 3458 | # Preserve FastAPI's dependency injection signature | COMMENT |
| MEDIUM⚡ | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 232 | # For agentic loops (reflect) the dominant cost is the conversation prefix | COMMENT |
| MEDIUM | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 10054 | # (issue #2122). The agentic loop re-checks between iterations, and the | COMMENT |
| MEDIUM | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 10095 | # Run agentic loop - acquire connections only when needed for DB operations | COMMENT |
| MEDIUM | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 11712 | # so the agentic loop only retrieves genuinely new information. | STRING |
| MEDIUM | …indsight_api/engine/providers/openai_compatible_llm.py | 184 | # (e.g. MiniMax-M3) leak the chain-of-thought wrapped in these tags into the | COMMENT |
| MEDIUM | …indsight_api/engine/providers/openai_compatible_llm.py | 974 | # reasoning models like MiniMax-M3 wrap their chain-of-thought | COMMENT |
| MEDIUM | …slim/hindsight_api/engine/providers/claude_code_llm.py | 551 | # an agentic loop the caller drives: the model proposes tool calls, we return | COMMENT |
| MEDIUM | …sight-api-slim/hindsight_api/engine/reflect/prompts.py | 130 | # Anti-hallucination rule at the very top | COMMENT |
| MEDIUM | …sight-api-slim/hindsight_api/engine/reflect/prompts.py | 138 | # Inject directives after anti-hallucination rule | COMMENT |
| MEDIUM | …ndsight-api-slim/hindsight_api/engine/reflect/agent.py | 493 | # Step-by-step context caching for the agentic tool loop. | COMMENT |
| MEDIUM | …sight-api-slim/hindsight_api/engine/transfer/export.py | 100 | # its own embedding model / text-search backend. | COMMENT |
| MEDIUM | …ndsight-api-slim/hindsight_api/engine/memories/base.py | 1109 | # The graph-maintenance job orchestrates these; each pass asks the store to do | COMMENT |
| MEDIUM⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 1913 | # Import types for the orchestration layer (note: ExtractedFact here is different from the Pydantic model above) | COMMENT |
| MEDIUM | hindsight-docs/docs/developer/rag-vs-hindsight.md | 5 | # RAG vs Memory | COMMENT |
| MEDIUM | hindsight-docs/docs/developer/rag-vs-hindsight.md | 22 | ### RAG | COMMENT |
| MEDIUM | hindsight-docs/blog/2026-01-28-learning-capabilities.md | 285 | - [Directives](../developer/api/memory-banks#directives) — hard rules for compliance and guardrails | CODE |
| MEDIUM | …sight-docs/blog/2026-03-13-disposition-aware-agents.md | 199 | ## Disposition-aware agents in multi-agent systems | COMMENT |
| MEDIUM | …t-docs/blog/2026-07-22-context-window-is-not-memory.md | 20 | ## A context window is RAM, not disk | COMMENT |
| MEDIUM | …docs/blog/2026-06-15-gemini-spark-persistent-memory.md | 14 | [Gemini Spark](https://gemini.google/overview/agent/spark/) is Google's always-on agentic assistant. It plans, calls too | CODE |
| MEDIUM | hindsight-docs/blog/2026-03-30-version-0-4-21.md | 16 | - [**AG2 Integration**](#ag2-integration): Long-term memory for AG2 multi-agent workflows. | CODE |
| MEDIUM | …05-12-case-against-external-vector-dbs-agent-memory.md | 25 | ## Agent Memory Is Not RAG | COMMENT |
| MEDIUM | hindsight-docs/docs-integrations/gemini-spark.md | 9 | Long-term memory for [Gemini Spark](https://blog.google/products/gemini/gemini-spark/), Google's always-on agentic assis | CODE |
| MEDIUM | …026-04-21-comparison-hindsight-vs-rag-for-ai-agents.md | 29 | ## What RAG actually does | COMMENT |
| MEDIUM | …026-04-21-comparison-hindsight-vs-rag-for-ai-agents.md | 83 | ## When RAG is the better tool | COMMENT |
| MEDIUM | …026-04-21-comparison-hindsight-vs-rag-for-ai-agents.md | 121 | ## Where RAG breaks down for memory | COMMENT |
| MEDIUM | …des/2026-04-23-guide-why-your-ai-agent-needs-memory.md | 82 | ### Can a large context window replace memory? | COMMENT |
| MEDIUM | …hare-hindsight-memory-across-chatgpt-and-perplexity.md | 58 | ## Use guardrails so the shared bank stays useful | COMMENT |
| MEDIUM | …2026-07-17-guide-llamaindex-agent-memory-beyond-rag.md | 29 | ## RAG retrieves knowledge; memory retains experience | COMMENT |
| MEDIUM | …2026-07-17-guide-llamaindex-agent-memory-beyond-rag.md | 39 | ## Where RAG stops and memory begins | COMMENT |
| MEDIUM | …2026-07-17-guide-llamaindex-agent-memory-beyond-rag.md | 105 | ## Using RAG and memory together | COMMENT |
| MEDIUM | …2026-07-17-guide-llamaindex-agent-memory-beyond-rag.md | 149 | ### Treating RAG as memory | COMMENT |
| MEDIUM | …2026-07-17-guide-llamaindex-agent-memory-beyond-rag.md | 171 | ### Does adding memory replace my RAG pipeline? | COMMENT |
| MEDIUM | …y-ai-agents-lose-context-and-how-hindsight-fixes-it.md | 21 | ## The real problem is not just the context window | COMMENT |
| MEDIUM | …-23-guide-why-multi-step-tasks-break-without-memory.md | 78 | ### Can orchestration alone solve this? | COMMENT |
| MEDIUM | …rsioned_docs/version-0.7/developer/rag-vs-hindsight.md | 5 | # RAG vs Memory | COMMENT |
| MEDIUM | …rsioned_docs/version-0.7/developer/rag-vs-hindsight.md | 22 | ### RAG | COMMENT |
| MEDIUM | …rsioned_docs/version-0.6/developer/rag-vs-hindsight.md | 5 | # RAG vs Memory | COMMENT |
| MEDIUM | …rsioned_docs/version-0.6/developer/rag-vs-hindsight.md | 22 | ### RAG | COMMENT |
| MEDIUM | …rsioned_docs/version-0.8/developer/rag-vs-hindsight.md | 5 | # RAG vs Memory | COMMENT |
| MEDIUM | …rsioned_docs/version-0.8/developer/rag-vs-hindsight.md | 22 | ### RAG | COMMENT |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 29 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 30 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 31 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 32 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 33 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 34 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 34 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| MEDIUM⚡ | …nchmarks/obs/datasets/hermes_session_2026-05-15_en.txt | 35 | [[{"role": "user", "content": "User: Collect https://mp.weixin.qq.com/s/q1bLzUzq0Y4zVJFz_VAtLw and review the statements | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-api-slim/tests/test_google_cross_encoder.py | 229 | CODE | |
| LOW | …ndsight-api-slim/tests/test_bank_attribution_config.py | 32 | CODE | |
| LOW | …pi-slim/tests/test_retain_same_document_concurrency.py | 63 | CODE | |
| LOW | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 482 | CODE | |
| LOW | hindsight-api-slim/tests/test_entity_labels.py | 494 | CODE | |
| LOW | hindsight-api-slim/tests/test_entity_labels.py | 596 | CODE | |
| LOW | …lim/tests/test_consolidation_silent_requeue_failure.py | 74 | CODE | |
| LOW | hindsight-api-slim/tests/test_mental_models.py | 2272 | CODE | |
| LOW | hindsight-api-slim/tests/test_mental_models.py | 2290 | CODE | |
| LOW | hindsight-api-slim/tests/test_horse_observations.py | 170 | CODE | |
| LOW | hindsight-api-slim/tests/test_gemini_embeddings.py | 333 | CODE | |
| LOW | hindsight-api-slim/tests/test_worker.py | 2512 | CODE | |
| LOW | hindsight-api-slim/tests/test_observations.py | 197 | CODE | |
| LOW | hindsight-api-slim/tests/test_model_init_timeout.py | 21 | CODE | |
| LOW | hindsight-api-slim/tests/test_reranker_timeouts.py | 18 | CODE | |
| LOW | hindsight-api-slim/tests/test_retain.py | 103 | CODE | |
| LOW | hindsight-api-slim/tests/test_retain.py | 293 | CODE | |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 24 | CODE | |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 114 | CODE | |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 215 | CODE | |
| LOW | hindsight-api-slim/tests/test_http_api_integration.py | 1227 | CODE | |
| LOW | hindsight-api-slim/tests/test_sql_schema_safety.py | 42 | CODE | |
| LOW | hindsight-api-slim/tests/test_sql_schema_safety.py | 57 | CODE | |
| LOW | …dsight-api-slim/tests/test_link_expansion_retrieval.py | 26 | CODE | |
| LOW | hindsight-api-slim/tests/test_unknown_params.py | 9 | CODE | |
| LOW | hindsight-api-slim/tests/test_unknown_params.py | 18 | CODE | |
| LOW | hindsight-api-slim/tests/test_schema_isolation.py | 88 | CODE | |
| LOW | hindsight-api-slim/tests/test_schema_isolation.py | 310 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/metrics.py | 103 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/tracing.py | 263 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/tracing.py | 447 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/config.py | 3409 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/config_resolver.py | 334 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 240 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 564 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 768 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 397 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 507 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 511 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 514 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/admin/cli.py | 242 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/mcp.py | 198 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/mcp.py | 272 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/mcp.py | 381 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 3469 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 3806 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 3689 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 4503 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 5397 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 7496 | CODE | |
| LOW | …sions/n9i0j1k2l3m4_learnings_and_pinned_reflections.py | 101 | CODE | |
| LOW | …ht_api/alembic/versions/5a366d414dce_initial_schema.py | 97 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/worker/poller.py | 1042 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/worker/poller.py | 1162 | CODE | |
| LOW | …-slim/hindsight_api/engine/chinese_temporal_periods.py | 97 | CODE | |
| LOW | …sight-api-slim/hindsight_api/engine/entity_resolver.py | 619 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 270 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 549 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/embeddings.py | 1632 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/embeddings.py | 1328 | CODE | |
| 197 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | hindsight-api-slim/tests/test_gemini_batch.py | 303 | llm._client.aio.files.download.assert_awaited_once() | CODE |
| CRITICAL⚡ | hindsight-api-slim/tests/test_llm_extra_body.py | 163 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL⚡ | hindsight-api-slim/tests/test_llm_extra_body.py | 177 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL⚡ | hindsight-api-slim/tests/test_llm_extra_body.py | 189 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL⚡ | hindsight-api-slim/tests/test_llm_extra_body.py | 204 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL | hindsight-api-slim/tests/test_llm_extra_body.py | 231 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL | hindsight-api-slim/tests/test_llm_extra_body.py | 262 | config_arg = provider._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL | hindsight-api-slim/tests/test_gemini_embeddings.py | 89 | mock_genai.Client.return_value.models.embed_content.assert_called_once() | CODE |
| CRITICAL | hindsight-api-slim/tests/test_anthropic_batch.py | 123 | provider._client.messages.batches.create.assert_awaited_once() | CODE |
| CRITICAL⚡ | hindsight-api-slim/tests/test_gemini_safety_settings.py | 381 | config_arg = provider._provider_impl._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL | hindsight-api-slim/tests/test_gemini_safety_settings.py | 360 | config_arg = provider._provider_impl._client.aio.models.generate_content.call_args.kwargs.get("config") | CODE |
| CRITICAL | hindsight-integrations/zapier/test/triggers.test.js | 53 | result.secret.should.be.a.String(); | CODE |
| CRITICAL | hindsight-integrations/zapier/test/triggers.test.js | 125 | App.triggers.should.not.have.property("memoryDefenseTriggered"); | CODE |
| CRITICAL | …ght-integrations/litellm/hindsight_litellm/wrappers.py | 1249 | response = self._wrapper._client.chat.completions.create(**openai_kwargs) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-all/hindsight/server.py | 220 | CODE | |
| LOW | hindsight-all/hindsight/server.py | 56 | CODE | |
| LOW | hindsight-all/hindsight/embedded.py | 81 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 608 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 841 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 927 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 1015 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/mcp_tools.py | 1110 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 3982 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 4026 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 7957 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_trace.py | 426 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/interface.py | 88 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 101 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/llm_interface.py | 148 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 270 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 549 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 838 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 1013 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/embeddings.py | 289 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/embeddings.py | 1231 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/embeddings.py | 1444 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/cross_encoder.py | 115 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 975 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3595 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4031 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4361 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4671 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 7307 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 7815 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 8233 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 8866 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 8906 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 9967 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 11949 | CODE | |
| LOW | …-api-slim/hindsight_api/engine/providers/gemini_llm.py | 300 | CODE | |
| LOW | …-api-slim/hindsight_api/engine/providers/gemini_llm.py | 623 | CODE | |
| LOW | …api-slim/hindsight_api/engine/providers/litellm_llm.py | 225 | CODE | |
| LOW | …pi-slim/hindsight_api/engine/providers/llamacpp_llm.py | 357 | CODE | |
| LOW | …ht-api-slim/hindsight_api/engine/providers/mock_llm.py | 81 | CODE | |
| LOW | …indsight_api/engine/providers/openai_compatible_llm.py | 759 | CODE | |
| LOW | …ht-api-slim/hindsight_api/engine/providers/none_llm.py | 38 | CODE | |
| LOW | …t-api-slim/hindsight_api/engine/providers/codex_llm.py | 366 | CODE | |
| LOW | …slim/hindsight_api/engine/providers/claude_code_llm.py | 152 | CODE | |
| LOW | …i-slim/hindsight_api/engine/providers/anthropic_llm.py | 163 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/reflect/tools.py | 162 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/reflect/tools.py | 244 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/reflect/agent.py | 402 | CODE | |
| LOW | …indsight_api/engine/search/link_expansion_retrieval.py | 124 | CODE | |
| LOW | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 122 | CODE | |
| LOW | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 163 | CODE | |
| LOW | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 834 | CODE | |
| LOW | …pi-slim/hindsight_api/engine/search/graph_retrieval.py | 35 | CODE | |
| LOW | hindsight-api-slim/hindsight_api/engine/db/base.py | 87 | CODE | |
| LOW | …ght-api-slim/hindsight_api/engine/memories/postgres.py | 76 | CODE | |
| LOW | …ght-api-slim/hindsight_api/engine/memories/postgres.py | 155 | CODE | |
| LOW | …ght-api-slim/hindsight_api/engine/memories/postgres.py | 318 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memories/base.py | 612 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memories/base.py | 684 | CODE | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memories/base.py | 918 | CODE | |
| 126 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-cli/.openapi-coverage.toml | 1 | # Hindsight CLI ↔ OpenAPI coverage manifest. | COMMENT |
| LOW | hindsight-cli/.openapi-coverage.toml | 21 | # Operation-level skips | COMMENT |
| LOW | hindsight-cli/smoke-test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | hindsight-cli/tests/cli_profile.rs | 1 | //! End-to-end tests for the `hindsight profile` CRUD subcommands and the | COMMENT |
| LOW | hindsight-cli/src/main.rs | 601 | /// Document ID (auto-generated if not provided) | COMMENT |
| LOW | hindsight-cli/src/main.rs | 1021 | /// Optional custom ID for the mental model (alphanumeric lowercase with hyphens) | COMMENT |
| LOW | hindsight-cli/src/commands/fs/client.rs | 1 | //! Minimal Hindsight API client — only the knowledge-base read endpoints needed | COMMENT |
| LOW | hindsight-cli/src/commands/fs/sync.rs | 1 | //! The sync engine: fetch a bank's knowledge base (folder/page tree + page | COMMENT |
| LOW | docker/test-image.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/test-image.sh | 21 | # HINDSIGHT_API_RERANKER_PROVIDER - Reranker provider (optional, for slim images: cohere, tei) | COMMENT |
| LOW | docker/test-slim-local.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/standalone/start-all.sh | 1 | #!/bin/bash | COMMENT |
| LOW | docker/standalone/start-all.sh | 41 | fi | COMMENT |
| LOW | docker/standalone/start-all.sh | 161 | echo " Attempt $attempt: DB=$( $db_ok && echo 'ok' || echo 'waiting' ), LLM=$( $llm_ok && echo 'ok' || echo 'w | COMMENT |
| LOW | docker/docker-compose/pg_textsearch/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | docker/docker-compose/external-pg/docker-compose.yaml | 1 | # Docker Compose file for Hindsight with PostgreSQL and pgvector | COMMENT |
| LOW | docker/docker-compose/local-llm/docker-compose.yaml | 1 | name: hindsight-local-llm | COMMENT |
| LOW | docker/docker-compose/claude-code/docker-compose.yaml | 41 | # protocol incompatibility in containers. Override it with the | COMMENT |
| LOW | docker/docker-compose/custom-models/docker-compose.yaml | 1 | name: hindsight-custom-models | COMMENT |
| LOW | docker/docker-compose/timescale/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | …ker/docker-compose/s3-file-storage/docker-compose.yaml | 1 | # Docker Compose file for Hindsight with S3 file storage (SeaweedFS) | COMMENT |
| LOW | docker/docker-compose/nginx/docker-compose.yml | 1 | # Hindsight API deployment with Nginx reverse proxy (API-only) | COMMENT |
| LOW | docker/docker-compose/nginx/docker-compose.yml | 41 | # HINDSIGHT_API_LLM_MODEL: gpt-4o-mini | COMMENT |
| LOW | docker/docker-compose/alloydb/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | docker/docker-compose/pgroonga/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | docker/docker-compose/vchord/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | docker/docker-compose/pg_search/docker-compose.yaml | 1 | name: hindsight | COMMENT |
| LOW | hindsight-api-slim/tests/conftest.py | 21 | # raise "RuntimeError: function '_has_torch_function' already has a docstring", | COMMENT |
| LOW | hindsight-api-slim/tests/conftest.py | 41 | # Seed the rest of the native embedding/reranker stack the same way, and for | COMMENT |
| LOW | hindsight-api-slim/tests/test_entity_labels.py | 2221 | # - id (multi-values): SYS001, SYS002, SYS003, ... | COMMENT |
| LOW | hindsight-api-slim/tests/test_delta_retain.py | 881 | assert fact.chunk_id in result.chunks, f"Chunk {fact.chunk_id} should be in returned chunks" | COMMENT |
| LOW | hindsight-api-slim/tests/test_async_batch_retain.py | 1141 | COMMENT | |
| LOW | hindsight-api-slim/tests/test_chunking.py | 321 | assert chunks == ["Line one here.", "Line two here.", "Line three now."] | COMMENT |
| LOW | hindsight-api-slim/tests/test_webhooks.py | 1301 | bank_id, | COMMENT |
| LOW | hindsight-api-slim/tests/test_config_validation.py | 421 | # Note: The BadRequestError wrapping is implemented in fact_extraction.py | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/metrics.py | 1041 | # partial-index predicate exactly: | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/config.py | 541 | # Vertex AI configuration | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/config.py | 761 | ENV_RECALL_BUDGET_MAX = "HINDSIGHT_API_RECALL_BUDGET_MAX" | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/config.py | 941 | # Per-strategy recall boost, as a comma-separated "strategy:level" list (e.g. | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/config.py | 1181 | DEFAULT_RUN_MIGRATIONS_ON_STARTUP = True | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 281 | """ | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 321 | # IMPORTANT: We must avoid holding an open transaction on the advisory-lock | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/_vector_index.py | 41 | COMMENT | |
| LOW | …i-slim/hindsight_api/extensions/operation_validator.py | 221 | llm_total_tokens: int | None = None | COMMENT |
| LOW | …d4e3f2a1c9_backfill_entity_cooccurrences_event_time.py | 41 | """Get schema prefix for table names (required for multi-tenant support).""" | COMMENT |
| LOW | …versions/a7b8c9d0e1f2_split_history_into_own_tables.py | 41 | schema = context.config.get_main_option("target_schema") | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/worker/poller.py | 781 | COMMENT | |
| LOW | …ght-api-slim/hindsight_api/engine/graph_maintenance.py | 161 | job_start = time.time() | COMMENT |
| LOW | …ght-api-slim/hindsight_api/engine/graph_maintenance.py | 181 | # sorted (entity_id_1, entity_id_2) order. When a sweep and a concurrent | COMMENT |
| LOW | …-slim/hindsight_api/engine/chinese_temporal_periods.py | 501 | # - Open future starts such as "明天起", "下周起", and "三天后开始" return the sentinel for no temporal | COMMENT |
| LOW | …dsight-api-slim/hindsight_api/engine/query_analyzer.py | 21 | logger = logging.getLogger(__name__) | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/engine/multi_llm.py | 201 | # Anything not defined here (provider, model, api_key, base_url, | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/engine/llm_wrapper.py | 881 | OutputTooLongError: If output exceeds token limits. | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 201 | # retry path. The dedup-by-bank guard prevents per-op retries from | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 621 | item_tokens = count_tokens(content_str) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3081 | f"an unreachable provider. Increase {ENV_MODEL_INIT_TIMEOUT} if the " | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3161 | COMMENT | |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3181 | # SET (not SET LOCAL) so per-backend ANN tuning persists for the | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3781 | per_input_results: list[list[str]] = [[] for _ in contents] | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 3841 | set_stage(f"batch_retain.sub_batch.{i}") | COMMENT |
| 89 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-cli/build.sh | 15 | # Check if cargo is available | COMMENT |
| LOW | hindsight-cli/build.sh | 42 | # Check if target is installed, install if not | COMMENT |
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 120 | # Check if the batch was submitted successfully (items_count shows how many were submitted) | COMMENT |
| LOW | docker/test-image.sh | 107 | # Set trap to cleanup on exit | COMMENT |
| LOW | docker/test-image.sh | 212 | # Check if container is still running | COMMENT |
| LOW⚡ | docker/standalone/start-all.sh | 113 | # Check if external database is configured (skip check for embedded pg0) | COMMENT |
| LOW | docker/standalone/start-all.sh | 285 | # Check if any services are running | COMMENT |
| LOW | docker/standalone/start-all.sh | 298 | # Check if any tracked PID has exited | COMMENT |
| LOW | hindsight-api-slim/tests/test_document_tracking.py | 412 | # Check if document exists | COMMENT |
| LOW | hindsight-api-slim/tests/test_consolidation.py | 225 | # Check if entity links were copied | COMMENT |
| LOW | hindsight-api-slim/tests/test_mental_models.py | 689 | # Check if this is our directive | COMMENT |
| LOW | hindsight-api-slim/tests/test_batch_api_integration.py | 41 | # Check if it's an OpenAI key (starts with sk-proj- or sk-) | COMMENT |
| LOW | hindsight-api-slim/tests/test_batch_api_integration.py | 264 | # Check if Groq supports batch API | COMMENT |
| LOW | hindsight-api-slim/tests/test_retain.py | 583 | # Check if LLM extracted the date from context (ideal case) | STRING |
| LOW | hindsight-api-slim/tests/test_retain.py | 1428 | # Check if any chunks show truncation | STRING |
| LOW | hindsight-api-slim/tests/test_retain.py | 2453 | # Check if facts contain English-only content (this would be wrong) | STRING |
| LOW | hindsight-api-slim/tests/test_multilingual.py | 186 | # Check if entity contains Chinese characters | STRING |
| LOW | hindsight-api-slim/tests/test_http_api_integration.py | 752 | # Check if memories are stored | COMMENT |
| LOW | hindsight-api-slim/tests/test_file_retain.py | 377 | # Check if file exists | COMMENT |
| LOW | hindsight-api-slim/tests/test_sql_schema_safety.py | 92 | # Check if it's actually qualified (has schema prefix) | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 207 | # Set path_separator to avoid deprecation warning | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 537 | # Check if memory_units table exists (proxy for schema being initialized) | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 607 | # Check if table exists | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 671 | # Check if index type matches target | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 832 | # Check if table exists | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 890 | # Check if column and index types match target | STRING |
| LOW | hindsight-api-slim/hindsight_api/migrations.py | 908 | # Check if table has data | STRING |
| LOW | hindsight-api-slim/hindsight_api/api/mcp.py | 388 | # Check if this is an MCP request (matches prefix) | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 7564 | # Check if batch API is enabled - if so, require async mode | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 7700 | # Check if file upload API is enabled | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/api/http.py | 7760 | # Read file content to check size | COMMENT |
| LOW | …embic/versions/e0a1b2c3d4e5_disposition_to_3_traits.py | 44 | # Check if disposition column exists (should have been created by previous migration) | COMMENT |
| LOW | …embic/versions/e0a1b2c3d4e5_disposition_to_3_traits.py | 86 | # Check if disposition column exists | COMMENT |
| LOW | …ersions/a4b5c6d7e8f9_fix_per_bank_vector_index_type.py | 94 | # Check if this index exists and what type it is | COMMENT |
| LOW | …/alembic/versions/rename_personality_to_disposition.py | 35 | # Check if 'personality' column exists (old database) | COMMENT |
| LOW | …/alembic/versions/rename_personality_to_disposition.py | 46 | # Check if 'disposition' column exists (new database) | STRING |
| LOW | hindsight-api-slim/hindsight_api/worker/main.py | 253 | # Check if the backend supports the async worker/poller. | COMMENT |
| LOW | hindsight-api-slim/hindsight_api/engine/task_backend.py | 284 | # Check if there are any pending tasks with payloads | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 354 | # Check if it's actually qualified (preceded by schema.) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2025 | # Check if operation was cancelled (only for tasks with operation_id) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2937 | # Check if pg0 is already running before we start it | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4568 | # Check if it's a connection error (PG or Oracle) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 10238 | # Check if the bank has any mental models (skip check if all mental models are excluded) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 13543 | # Check if operation exists, belongs to this bank, and is in a cancellable state | COMMENT |
| LOW⚡ | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2506 | # Check if this is a child operation and update parent if all siblings are done | STRING |
| LOW⚡ | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2584 | # Check if this is a child operation and update parent if all siblings are done | STRING |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2857 | # Check if all siblings are done (completed or failed) | STRING |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5950 | # Check if adding this result would exceed budget | STRING |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 13413 | # Check if this is a parent operation | STRING |
| LOW | …pi-slim/hindsight_api/engine/providers/llamacpp_llm.py | 190 | # Check if process died | COMMENT |
| LOW | …indsight_api/engine/providers/openai_compatible_llm.py | 822 | # Check if model supports reasoning parameter | COMMENT |
| LOW | …i-slim/hindsight_api/engine/providers/anthropic_llm.py | 394 | # Check if it's a rate limit or server error | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/reflect/agent.py | 1123 | # Check if tool returned an error response - log but continue (LLM will see the error) | COMMENT |
| LOW | …ht-api-slim/hindsight_api/engine/storage/postgresql.py | 116 | # Check if anything was deleted | STRING |
| LOW | hindsight-api-slim/hindsight_api/engine/search/tags.py | 199 | # Check if untagged | COMMENT |
| LOW | …lim/hindsight_api/engine/consolidation/consolidator.py | 1118 | # Check if consolidation is enabled | COMMENT |
| LOW | …ght-api-slim/hindsight_api/engine/retain/link_utils.py | 398 | # Check if within time window | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/retain/orchestrator.py | 1962 | # Check if facts are already committed (recovery from previous crash). | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/retain/orchestrator.py | 1360 | # Check if this is a retry of the same content (crash recovery). If the | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 1625 | # Set mentioned_at to the event_date (when the conversation/document occurred), | COMMENT |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 26 | # Create many facts sharing one common entity ("Acme Corp") plus | COMMENT |
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 28 | # and verify graph expansion finds siblings via "Acme Corp". | COMMENT |
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 30 | # Target: unique entity "Zara" shares "Acme Corp" with the rest | COMMENT |
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 34 | "entities": [{"text": "Zara"}, {"text": "Acme Corp"}], | CODE |
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 37 | # Add many facts that all share "Acme Corp" — creates a high-fanout entity | COMMENT |
| LOW⚡ | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 43 | "entities": [{"text": f"Employee {i}"}, {"text": "Acme Corp"}], | CODE |
| LOW | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 57 | # shared entity, even though "Acme Corp" has 60+ mentions. | COMMENT |
| LOW | …ndsight-api-slim/tests/test_graph_entity_fanout_cap.py | 79 | acme_found = any("Acme Corp" in t for t in all_texts) | CODE |
| LOW | hindsight-api-slim/tests/test_entity_labels.py | 1391 | entity_obj = {"name": "Alice", "role": "Senior Engineer", "organization": "Acme Corp"} | CODE |
| LOW | …t-api-slim/tests/test_anthropic_structured_tool_use.py | 27 | api_key="fake-key", | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_gemini_service_tier.py | 16 | api_key="fake-key", | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_gemini_service_tier.py | 31 | monkeypatch.setenv("HINDSIGHT_API_LLM_API_KEY", "fake-key") | CODE |
| LOW | hindsight-api-slim/tests/test_gemini_service_tier.py | 62 | monkeypatch.setenv("HINDSIGHT_API_LLM_API_KEY", "fake-key") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_gemini_service_tier.py | 82 | api_key="fake-key", | CODE |
| LOW | hindsight-api-slim/tests/test_llm_extra_body.py | 66 | api_key="fake-key", | CODE |
| LOW | hindsight-api-slim/tests/test_llm_extra_body.py | 132 | api_key="fake-key", | CODE |
| LOW | hindsight-api-slim/tests/test_llm_extra_body.py | 358 | api_key="fake-key", | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_supabase_tenant.py | 286 | key = await ext._get_signing_key("fake-token") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_supabase_tenant.py | 326 | await ext._get_signing_key("fake-token") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_supabase_tenant.py | 338 | await ext._get_signing_key("fake-token") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_supabase_tenant.py | 351 | await ext._get_signing_key("fake-token") | CODE |
| LOW | hindsight-api-slim/tests/test_supabase_tenant.py | 304 | key = await ext._get_signing_key("fake-token") | CODE |
| LOW | …dsight-api-slim/tests/test_anthropic_prompt_caching.py | 36 | api_key="fake-key", | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_config_validation.py | 787 | monkeypatch.setenv("HINDSIGHT_API_LLM_API_KEY", "fake-key") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_config_validation.py | 799 | monkeypatch.setenv("HINDSIGHT_API_LLM_API_KEY", "fake-key") | CODE |
| LOW⚡ | hindsight-api-slim/tests/test_config_validation.py | 811 | monkeypatch.setenv("HINDSIGHT_API_LLM_API_KEY", "fake-key") | CODE |
| LOW | hindsight-api-slim/tests/test_codex_oauth_refresh.py | 192 | "id_token": {"email": "user@example.com"}, | CODE |
| LOW | hindsight-api-slim/tests/test_codex_oauth_refresh.py | 208 | assert written["tokens"]["id_token"] == {"email": "user@example.com"} | CODE |
| LOW | hindsight-api-slim/tests/test_anthropic_batch.py | 36 | api_key="fake-key", | CODE |
| LOW | hindsight-api-slim/tests/test_gemini_safety_settings.py | 422 | "HINDSIGHT_API_LLM_API_KEY": "fake-key", | CODE |
| LOW⚡ | hindsight-embed/tests/test_profile_daemon_config.py | 45 | "HINDSIGHT_API_LLM_API_KEY=sk-test-fake-key\n" | CODE |
| LOW | hindsight-embed/tests/test_profile_daemon_config.py | 84 | assert profile_config["HINDSIGHT_API_LLM_API_KEY"] == "sk-test-fake-key" | CODE |
| LOW | hindsight-docs/docs-integrations/context-forge.md | 61 | -d '{"email": "admin@example.com", "password": "your-password"}' \ | CODE |
| LOW | …2026-04-16-guide-contextforge-memory-with-hindsight.md | 73 | -d '{"email": "admin@example.com", "password": "your-password"}' \ | CODE |
| LOW | …ght-docs/references/sdks/integrations/context-forge.md | 56 | -d '{"email": "admin@example.com", "password": "your-password"}' \ | CODE |
| LOW | hindsight-control-plane/scripts/find-untranslated.ts | 31 | "placeholder", | CODE |
| LOW | …t-integrations/paperclip/tests/bank-edge-cases.spec.ts | 170 | expect(extractUserFromIssue({ originId: "user@example.com" })).toBe("user@example.com"); | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 353 | "placeholder": "0 (never timeout)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 357 | "placeholder": "0 (auto-assign)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 361 | "placeholder": "Custom context for what this agent does..." | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 365 | "placeholder": "Steers what gets extracted as facts during retain..." | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 369 | "placeholder": "Controls what gets synthesised into observations..." | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 373 | "placeholder": "verbose, concise, custom, verbatim, or chunks" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 377 | "placeholder": "true or false — stamped on first bank use" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 381 | "placeholder": "true or false — stamped on first bank use" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 385 | "placeholder": "1–5" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 389 | "placeholder": "1–5" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 393 | "placeholder": "1–5" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 397 | "placeholder": "e.g. [{\"name\":\"person\",\"description\":\"Human user\"}]" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 401 | "placeholder": "latest (or pin to specific version like 0.4.2)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 405 | "placeholder": "e.g. openai, anthropic, gemini, groq" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 409 | "placeholder": "e.g. gpt-4o-mini, claude-3-5-haiku-20241022" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 413 | "placeholder": "API key for the chosen LLM provider", | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 418 | "placeholder": "e.g. https://openrouter.ai/api/v1 (optional)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 422 | "placeholder": "/path/to/hindsight (for local development)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 426 | "placeholder": "9077 (default)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 430 | "placeholder": "e.g. https://mcp.hindsight.devcraft.team (leave empty for local daemon)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 434 | "placeholder": "API token if external API requires authentication", | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 439 | "placeholder": "true (isolate memories per channel)" | CODE |
| LOW⚡ | hindsight-integrations/openclaw/openclaw.plugin.json | 443 | "placeholder": "e.g. openclaw, shared-bank (used when dynamicBankId is false)" | CODE |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 76 | # Step 1: Create a memory bank with background information | COMMENT |
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 85 | # Step 2: Store some memories about user preferences | COMMENT |
| LOW⚡ | hindsight-all/tests/test_server_integration.py | 123 | # Step 3: Recall memories based on a query | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 140 | # Step 4: Recall memories about machine learning | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 155 | # Step 5: Reflect (generate contextual answer based on memories) | COMMENT |
| LOW | hindsight-all/tests/test_server_integration.py | 172 | # Step 6: Another reflection with different context | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 117 | # Step 1: Create a memory bank | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 126 | # Step 2: Store memories (single) | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 136 | # Step 3: Store batch memories | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 151 | # Step 4: Recall memories | COMMENT |
| LOW⚡ | hindsight-all/tests/test_embedded.py | 160 | # Step 5: Reflect on memories | COMMENT |
| LOW | hindsight-all/tests/test_embedded.py | 177 | # Step 6: List memories | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 39 | # Step 1: Delete observation memory_units (cascades to unit_entities links) | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 43 | # Step 2: Drop observation-specific index (if it exists) | COMMENT |
| LOW⚡ | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 46 | # Step 3: Add mission column to banks (replacing background) | COMMENT |
| LOW | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 69 | # Step 4: Create mental_models table with final v4 schema (if not exists) | STRING |
| LOW | …_api/alembic/versions/h3c4d5e6f7g8_mental_models_v4.py | 110 | # Step 5: Create indexes for efficient queries (if not exist) | STRING |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4758 | # Step 1: Generate query embedding (for semantic search) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 4786 | # Step 2: Optimized parallel retrieval using batched queries | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5043 | # Step 3: Merge ranked lists. RRF by default; interleave (round-robin) when | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5084 | # Step 4: Rerank using cross-encoder (MergedCandidate -> ScoredResult) | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5303 | # Step 5: Truncate to thinking_budget * 2 for token filtering | COMMENT |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 5489 | # Step 6: Token budget filtering | STRING |
| LOW | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 66 | # Step 1: Request a presigned upload URL | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 77 | # Step 2: Upload the file bytes to the presigned URL (no auth header) | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 86 | # Step 3: Start extraction | COMMENT |
| LOW⚡ | hindsight-api-slim/hindsight_api/engine/parsers/iris.py | 95 | # Step 4: Poll until ready or timeout | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 62 | # Step 1: Upload file and start parse job | COMMENT |
| LOW⚡ | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 72 | # Step 2: Poll job status until SUCCESS or ERROR | COMMENT |
| LOW | …t-api-slim/hindsight_api/engine/parsers/llama_parse.py | 94 | # Step 3: Fetch the markdown result | COMMENT |
| LOW⚡ | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 881 | # Step 1: Extract temporal constraint first (CPU work, no DB) | STRING |
| LOW⚡ | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 890 | # Step 2: Run semantic + BM25 + temporal combined in ONE connection! | STRING |
| LOW | …ight-api-slim/hindsight_api/engine/search/retrieval.py | 942 | # Step 3: Run graph retrieval for each fact type in parallel | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2128 | # Step 4: Retrieve results | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2134 | # Step 5: Parse results into facts (same as sync mode) | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2439 | # Step 7: Add temporal offsets | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2442 | # Step 8: Auto-tag facts from label groups with tag=True | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2563 | # Step 2: Wait for all fact extractions to complete. | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2569 | # Step 3: Flatten and convert to typed objects | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2641 | # Step 4: For verbatim mode, collapse to one fact per chunk with original text | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2645 | # Step 5: Add time offsets to preserve ordering within each content | STRING |
| LOW⚡ | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2648 | # Step 6: Auto-tag facts from label groups with tag=True | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2023 | # Step 1: Chunk all contents and build batch requests (skip if resuming) | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2065 | # Step 2: Submit batch (skip if resuming) | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2102 | # Step 3: Poll until complete | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2399 | # Step 6: Convert to ExtractedFact objects with proper chunk mapping | STRING |
| LOW | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 2548 | # Step 1: Create parallel fact extraction tasks | STRING |
| LOW | .github/workflows/release.yml | 424 | # # Step 1: Build for local testing (single platform, no push) | COMMENT |
| LOW | .github/workflows/release.yml | 438 | # # Step 2: Test the image before pushing anything | COMMENT |
| LOW | …ndsight-integrations/claude-code/scripts/lib/daemon.py | 181 | # Step 1: Configure profile | COMMENT |
| LOW | …ndsight-integrations/claude-code/scripts/lib/daemon.py | 213 | # Step 2: Start daemon | COMMENT |
| LOW | …ndsight-integrations/claude-code/scripts/lib/daemon.py | 231 | # Step 3: Wait for ready (poll health endpoint) | COMMENT |
| LOW | hindsight-integrations/cursor/scripts/lib/daemon.py | 151 | # Step 1: Configure profile | COMMENT |
| LOW | hindsight-integrations/cursor/scripts/lib/daemon.py | 181 | # Step 2: Start daemon | COMMENT |
| LOW | hindsight-integrations/cursor/scripts/lib/daemon.py | 199 | # Step 3: Wait for ready | COMMENT |
| LOW | hindsight-integrations/codex/scripts/lib/daemon.py | 155 | # Step 1: Configure profile | COMMENT |
| LOW | hindsight-integrations/codex/scripts/lib/daemon.py | 187 | # Step 2: Start daemon | COMMENT |
| LOW | hindsight-integrations/codex/scripts/lib/daemon.py | 205 | # Step 3: Wait for ready | COMMENT |
| LOW⚡ | …ght-integrations/litellm/hindsight_litellm/__init__.py | 584 | # Step 1: Inject memories (raises HindsightError on failure) | COMMENT |
| LOW⚡ | …ght-integrations/litellm/hindsight_litellm/__init__.py | 597 | # Step 2: Call original LLM | COMMENT |
| 10 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | hindsight-api-slim/tests/test_document_transfer.py | 758 | # Embeddings were regenerated locally (not null) in the destination. | COMMENT |
| HIGH | hindsight-api-slim/tests/test_entity_labels.py | 111 | # Single-value: Pydantic emits anyOf[{enum: [...]}, {type: null}] | COMMENT |
| HIGH | hindsight-api-slim/tests/test_entity_labels.py | 719 | # engagement is null, but topic is set | COMMENT |
| HIGH | hindsight-api-slim/tests/test_entity_labels.py | 836 | # engagement: single-value → anyOf[{enum: [...]}, {type: null}] | COMMENT |
| HIGH | hindsight-api-slim/tests/test_entity_labels.py | 1419 | assert len(texts) == 1 # role was null, so only name | CODE |
| HIGH | hindsight-api-slim/tests/test_reflect_empty_based_on.py | 63 | assert isinstance(based_on, dict), f"based_on should be dict or null, got {type(based_on)}: {based_on}" | CODE |
| HIGH | hindsight-api-slim/tests/test_reflect_empty_based_on.py | 99 | # When include.facts is not set, based_on should not be in response (or be null) | COMMENT |
| HIGH | …ight-api-slim/tests/test_oracle_backend_integration.py | 544 | """JSON_MERGEPATCH — Oracle equivalent of PG's || for JSONB concatenation.""" | STRING |
| HIGH | hindsight-api-slim/hindsight_api/api/http.py | 1974 | "show event time (falls back to `created_at` per row when null)." | CODE |
| HIGH | hindsight-api-slim/hindsight_api/api/http.py | 78 | Such a field is in the OpenAPI ``required`` set but may serialize to null, so dropping | STRING |
| HIGH | hindsight-api-slim/hindsight_api/api/http.py | 1525 | without changing the bank. Unset (null) fields fall back to the bank's resolved config. | STRING |
| HIGH | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 12981 | # - Untagged directives (tags=[] or null) always apply regardless of reflect tags | STRING |
| HIGH | …ight-api-slim/hindsight_api/engine/search/reranking.py | 318 | # NaN as JSON null, which breaks clients expecting numeric values. | COMMENT |
| HIGH | …ght-api-slim/hindsight_api/engine/db/ops_postgresql.py | 757 | AND mu.source_memory_ids && ca.source_ids | CODE |
| HIGH | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 1021 | lines.append(f"- {attr.key} (free text or null): {attr.description}") | CODE |
| HIGH | …ight_client_api/models/memories_timeseries_response.py | 33 | time_field: Optional[StrictStr] = Field(default='created_at', description="Timestamp column used to assign each row | CODE |
| HIGH | …hindsight_client_api/models/dry_run_extract_request.py | 28 | Request to run fact extraction ONLY (no resolution/links/embeddings/persistence). Every field below the content/con | STRING |
| HIGH | hindsight-dev/benchmarks/obs/obs_benchmark.py | 19 | cd hindsight-dev && uv run python -m benchmarks.obs.obs_benchmark | STRING |
| HIGH | …ht-integrations/litellm/hindsight_litellm/callbacks.py | 391 | # include_entities=False -> include: {entities: null} | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-cli/smoke-test.sh | 8 | # Usage: | COMMENT |
| LOW | docker/test-image.sh | 8 | # Usage: | COMMENT |
| LOW | docker/test-slim-local.sh | 8 | # Usage: | COMMENT |
| LOW | docker/docker-compose/pg_textsearch/docker-compose.yaml | 8 | # Usage: | COMMENT |
| LOW | docker/docker-compose/external-pg/docker-compose.yaml | 7 | # Usage: | COMMENT |
| LOW | …ker/docker-compose/s3-file-storage/docker-compose.yaml | 10 | # Usage: | COMMENT |
| LOW | docker/docker-compose/alloydb/docker-compose.yaml | 5 | # Usage: | COMMENT |
| LOW | docker/docker-compose/vchord/docker-compose.yaml | 8 | # Usage: | COMMENT |
| LOW | docker/docker-compose/pg_search/docker-compose.yaml | 7 | # Usage: | COMMENT |
| LOW | scripts/run-upgrade-tests.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/smoke-test-slim.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/publish-obs-results.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/run-perf-test.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/publish-perf-results.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/publish-locomo-results.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/dev/setup.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/dev/start-oracle.sh | 6 | # Usage: | COMMENT |
| LOW | hindsight-integrations/openclaw/scripts/smoke-test.sh | 32 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-api-slim/tests/test_extensions.py | 817 | # Should not raise - no tenant extension configured, just pass empty RequestContext | COMMENT |
| MEDIUM | hindsight-api-slim/tests/test_delta_editorial_fusion.py | 127 | # Phase 1: Ingest SEO best practices | COMMENT |
| MEDIUM⚡ | hindsight-api-slim/tests/test_tags_visibility.py | 1457 | # SET of signatures returned rather than raw counts, so they are robust to how many | COMMENT |
| MEDIUM | …pi-slim/hindsight_api/engine/retain/fact_extraction.py | 832 | # Verbose extraction prompt - detailed, comprehensive facts (legacy mode) | COMMENT |
| MEDIUM | scripts/generate-docs-skill.sh | 64 | # Use Python for more robust processing | COMMENT |
| LOW | …sight-integrations/litellm/hindsight_litellm/config.py | 305 | >>> # Minimal usage - just set HINDSIGHT_API_KEY env var | STRING |
| MEDIUM | hindsight-integrations/coding-agents/e2e/run-harness.sh | 23 | # runner stays harness-neutral as more CLI adapters are added. | COMMENT |
| MEDIUM | …t-integrations/coding-agents/src/core/session-start.ts | 227 | // structural pages track an evolving architecture. Branch-robust: read the | COMMENT |
| MEDIUM | hindsight-integrations/coding-agents/src/e2e/harness.ts | 208 | writeFileSync(join(workDir, "README.md"), "# Hindsight harness E2E fixture\n"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | hindsight-clients/python/hindsight_client_api/rest.py | 194 | # Content-Type which generated by aiohttp | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 178 | I'm unable to attend the conference due to scheduling conflicts. | CODE |
| LOW⚡ | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 1003 | don't forget to subscribe" were being extracted as facts. | CODE |
| LOW⚡ | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 1009 | Marcus: Welcome everyone to today's episode! Before we dive in, don't forget to | CODE |
| MEDIUM | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 206 | "'He's an expert in machine learning.', 'I'm unable to attend the conference due " | STRING |
| LOW | …ndsight-api-slim/tests/test_fact_extraction_quality.py | 1023 | Don't forget to tap follow or subscribe, tell a friend, and drop a quick rating | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | hindsight-api-slim/tests/test_llm_trace.py | 865 | CODE | |
| MEDIUM | hindsight-api-slim/tests/test_llm_trace.py | 870 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | hindsight-api-slim/hindsight_api/worker/poller.py | 714 | async def execute_task(self, task: ClaimedTask): | STRING |
| LOW | …ndsight-api-slim/hindsight_api/engine/memory_engine.py | 2005 | async def execute_task(self, task_dict: dict[str, Any]): | CODE |