Graph-Native Infrastructure for Context and Accountable AI Systems
This report summarizes scanner evidence for semantica-agi/semantica, a Python project with 13,926 GitHub stars. SynthScan examined 549,481 lines of code across 1343 source files, recording 16166 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 41.6 (High pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 9944 finding(s).
Are imports declared and package/API names verified? 2134 finding(s).
Are wrappers, guards, and repeated structures necessary? 12260 finding(s).
Which changes need focused human review? 16166 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 16166 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | poc_runner.py | 26 | def _vulnerable_provenance_response(node_id: str, fmt: str) -> dict: | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 21 | def test_known_tool_dispatches_to_handler(self): | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 27 | def test_unknown_tool_raises_unknown_tool_error(self): | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 31 | def test_unknown_tool_error_is_not_a_key_error(self): | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 43 | def test_unknown_tool_returns_method_not_found(self): | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 48 | def test_handler_key_error_is_internal_error_not_unknown_tool(self): | CODE |
| LOW⚡ | tests/test_mcp_package_call_tool.py | 57 | def test_known_tool_returns_result_content(self): | CODE |
| LOW | tests/test_notebooks_plain.py | 83 | def test_advanced_vector_store(): | CODE |
| LOW | tests/test_semantic_extract_batch_provenance.py | 28 | def test_semantic_network_batch(self): | CODE |
| LOW | tests/test_semantic_extract_batch_provenance.py | 58 | def test_event_detector_batch(self): | CODE |
| LOW | tests/test_semantic_extract_batch_provenance.py | 77 | def test_semantic_analyzer_batch(self): | CODE |
| LOW | tests/test_semantic_extract_batch_provenance.py | 98 | def test_coreference_resolver_batch(self): | CODE |
| LOW | tests/conftest.py | 49 | def _isolate_semantic_extract_config(): | CODE |
| LOW | tests/conftest.py | 98 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW⚡ | tests/test_security_regression.py | 65 | def test_comment_bypass_blocked(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 70 | def test_comment_hiding_real_query(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 75 | def test_prefix_before_select_allowed(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 80 | def test_prefix_before_insert_blocked(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 85 | def test_multiple_prefixes_then_select(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 93 | def test_select_with_insert_keyword_blocked(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 98 | def test_case_insensitive_insert(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 107 | def test_empty_query_rejected(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 110 | def test_whitespace_only_rejected(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 117 | def test_namespace_iri_with_hash_fragment_not_treated_as_comment(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 128 | def test_real_comment_after_namespace_iri_still_stripped(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 137 | def test_inline_prefix_before_select_allowed(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 144 | def test_crlf_line_endings_with_prefix(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 151 | def test_crlf_multiple_prefixes_then_select(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 160 | def test_inline_prefix_before_insert_still_blocked(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 166 | def test_long_valid_query_not_rejected_by_is_read_only(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 182 | def test_sanitize_label_valid(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 187 | def test_sanitize_label_injection(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 192 | def test_sanitize_label_special_chars(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 197 | def test_value_to_cypher_literal_string_escaping(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 202 | def test_value_to_cypher_literal_backslash(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 207 | def test_dollar_dollar_breakout_blocked(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 216 | def test_graph_name_sanitization(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 233 | def test_property_key_injection(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 246 | def test_defusedxml_check_exists(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 251 | def test_safe_parse_rdf_function_exists(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 264 | def test_tolist_on_numpy_like(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 283 | def test_regular_list_still_works(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 297 | def test_urljoin_resolves_relative(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 305 | def test_urljoin_absolute_passthrough(self): | CODE |
| LOW⚡ | tests/test_security_regression.py | 313 | def test_urljoin_relative_path(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 51 | def test_cache_evicts_beyond_the_bound(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 63 | def test_recently_used_entries_survive(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 78 | def test_bound_never_exceeded_under_concurrent_load(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 116 | def test_spacy_not_installed_raises_import_error(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 131 | def test_concurrent_calls_on_one_model_never_overlap(self): | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 165 | def test_different_models_run_in_parallel(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 42 | def test_json_branch_returns_string_data_not_error(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 50 | def test_jsonld_branch_returns_string_data_not_error(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 57 | def test_turtle_branch_returns_string_data_not_error(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 63 | def test_all_rdf_formats_succeed(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 70 | def test_progress_is_disabled_for_the_server_process(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 73 | def test_unsupported_format_returns_error_not_mislabeled_json(self): | CODE |
| LOW⚡ | tests/test_mcp_server_export_graph.py | 81 | def test_export_graph_schema_enum_matches_handled_formats(self): | CODE |
| LOW⚡ | tests/test_nlp_embedder_cache_locks.py | 103 | def test_nlp_model_loaded_exactly_once_under_concurrent_load(self): | CODE |
| LOW⚡ | tests/test_nlp_embedder_cache_locks.py | 227 | def test_embedder_constructed_exactly_once_under_concurrent_load(self): | CODE |
| 8073 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | docs_check.py | 70 | # ── 1. docs.json is valid JSON ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docs_check.py | 80 | # ── 2. Every nav page exists on disk ───────────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 110 | # ── 3. Internal Card hrefs resolve ─────────────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 123 | # ── 4. No stale repo URLs ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 136 | # ── 5. All reference pages have frontmatter ─────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 146 | # ── 6. No known-wrong class names ──────────────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 168 | # ── 7. No Python 3.9+ type syntax in code blocks ───────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 182 | # ── 8. index.md covers all 27 modules ──────────────────────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 199 | # ── 9. JSX component tags are balanced in every page ───────────────────────── | COMMENT |
| MEDIUM | docs_check.py | 229 | # ── 10. Mintlify export succeeds (requires Node.js / npx) ──────────────────── | COMMENT |
| MEDIUM | docs_check.py | 274 | # ── Summary ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | osv-scanner.toml | 22 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | osv-scanner.toml | 30 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM⚡ | poc_runner.py | 21 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | poc_runner.py | 23 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | poc_runner.py | 97 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | poc_runner.py | 99 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | poc_runner.py | 164 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | poc_runner.py | 167 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | poc_runner.py | 257 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 175 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 177 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 239 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 241 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 257 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 259 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 290 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_security_regression.py | 292 | # =================================================================== | COMMENT |
| MEDIUM⚡ | tests/test_nlp_embedder_cache_locks.py | 91 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_nlp_embedder_cache_locks.py | 93 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_nlp_embedder_cache_locks.py | 215 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_nlp_embedder_cache_locks.py | 217 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 48 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 50 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 345 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 347 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 79 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 82 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 84 | # ── AI Research Papers (arXiv public data) ──────────────────────────────────── | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 271 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 273 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 589 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 591 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 702 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 704 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 829 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 831 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 1152 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 1154 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 1859 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 1861 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2002 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2004 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2083 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2085 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2120 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 2122 | # ═════════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | tests/test_030_context_graph_realworld_extended.py | 40 | # ── Context module ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_030_context_graph_realworld_extended.py | 57 | # ── Export module ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tests/test_030_context_graph_realworld_extended.py | 62 | # ── KG module ────────────────────────────────────────────────────────────────── | COMMENT |
| 1790 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 378 | Extract named entities from text. Args: text: Input text to process model: NER model to use (de | STRING |
| HIGH | semantica/split/splitter.py | 116 | Split text into chunks using the specified method(s). Args: text: Input text to split | STRING |
| HIGH | semantica/pipeline/pipeline_builder.py | 439 | Serialize pipeline to specified format. Args: pipeline: Pipeline object format | STRING |
| HIGH | semantica/change_management/managers.py | 128 | Create and store snapshot with checksum and metadata. Args: graph: Knowledge graph dict wi | STRING |
| HIGH | semantica/seed/seed_manager.py | 149 | Register a seed data source. Registers a new source or updates an existing one. The source can be | STRING |
| HIGH | semantica/seed/seed_manager.py | 204 | Load seed data from CSV file. Reads a CSV file and converts rows to dictionaries. Automatically | STRING |
| HIGH | semantica/seed/seed_manager.py | 299 | Load seed data from JSON file. Reads a JSON file and handles various structures (list, dict with | STRING |
| HIGH | semantica/seed/seed_manager.py | 374 | Load seed data from database. Connects to a database and executes a query or exports a table. | STRING |
| HIGH | semantica/seed/seed_manager.py | 457 | Load seed data from API. Makes an SSRF-protected HTTP GET request to an API endpoint and parses | STRING |
| HIGH | semantica/seed/seed_manager.py | 566 | Load data from registered source. Loads data from a previously registered source using the source's | STRING |
| HIGH | semantica/embeddings/vector_embedding_manager.py | 82 | Prepare embeddings and metadata for vector database storage. Formats embeddings and metadata according | STRING |
| HIGH | semantica/embeddings/methods.py | 99 | Generate embeddings from data (convenience function). This is a user-friendly wrapper that generates embedding | STRING |
| HIGH | semantica/embeddings/methods.py | 147 | Generate text embeddings (convenience function). This is a user-friendly wrapper that generates text embedding | STRING |
| HIGH | semantica/embeddings/methods.py | 207 | Calculate similarity between embeddings (convenience function). This is a user-friendly wrapper that calculate | STRING |
| HIGH | semantica/embeddings/methods.py | 252 | Pool embeddings (convenience function). This is a user-friendly wrapper that pools embeddings using the specif | STRING |
| HIGH | semantica/embeddings/methods.py | 295 | Get a registered embedding method. Args: task: Task type ("generation", "text", "image", "pooling", "p | STRING |
| HIGH | semantica/embeddings/methods.py | 315 | List all available embedding methods. Args: task: Optional task type filter Returns: Dict | STRING |
| HIGH | semantica/embeddings/text_embedder.py | 216 | Generate embedding for a single text string. This method creates a semantic embedding vector for the i | STRING |
| HIGH | semantica/embeddings/graph_embedding_manager.py | 74 | Prepare embeddings for graph database storage. Generates and formats embeddings for both entities (nod | STRING |
| HIGH | semantica/embeddings/embedding_generator.py | 148 | Generate embeddings for input data. This method automatically detects the data type if not specified a | STRING |
| HIGH | semantica/context/policy_engine.py | 380 | Check if decision complies with policy. Args: decision: Decision to check | STRING |
| HIGH | semantica/context/agent_memory.py | 1681 | Return one existing memory item as canonical Markdown. Args: memory_id: Stable identifier of the me | STRING |
| HIGH | semantica/context/agent_memory.py | 1707 | Validate and atomically replace one existing memory item. Args: memory_id: Stable identifier of the | STRING |
| HIGH | semantica/context/context_graph.py | 255 | Normalize a temporal value to a tz-naive UTC ISO-8601 string. This is the public surface of the normalization logic | STRING |
| HIGH | semantica/context/context_graph.py | 1232 | Return one existing node as canonical Markdown. Args: node_id: Stable identifier of the node to exp | STRING |
| HIGH | semantica/context/context_graph.py | 1271 | Validate and atomically replace one existing node. Args: node_id: Stable identifier of the node to | STRING |
| HIGH | semantica/context/context_graph.py | 2433 | Create a navigable link from a node in this graph to a node in another graph. This enables cross-graph | STRING |
| HIGH | semantica/context/context_graph.py | 2485 | Navigate to the target graph and entry node for a cross-graph link. Args: link_id: Link ID | STRING |
| HIGH | semantica/context/agent_context.py | 1005 | Link entities in text (if knowledge_graph available). Args: text: Text containing entities | STRING |
| HIGH | semantica/context/agent_context.py | 1058 | Build context graph from entities, relationships, or conversations. Args: entities: List o | STRING |
| HIGH | semantica/context/agent_context.py | 1703 | Record decision (wrapper for DecisionRecorder). Args: category: Decision category | STRING |
| HIGH | semantica/context/agent_context.py | 1786 | Find similar decisions with user controls. Args: scenario: Scenario to find preced | STRING |
| HIGH | semantica/context/agent_context.py | 2030 | Get causal chain (wrapper for CausalChainAnalyzer). Args: decision_id: Decision ID | STRING |
| HIGH | semantica/context/agent_context.py | 2095 | Multi-hop reasoning for complex queries. Args: start_entity: Starting entity ID | STRING |
| HIGH | semantica/context/tiers.py | 78 | Return whether this tier is at least as trustworthy as minimum. Args: minimum: Lowest acce | STRING |
| HIGH | semantica/core/plugin_registry.py | 184 | Load and initialize a plugin. This method loads a plugin, resolves its dependencies automatically, | STRING |
| HIGH | semantica/core/plugin_registry.py | 382 | Get information about a plugin. Args: plugin_name: Name of plugin Returns: | STRING |
| HIGH | semantica/core/plugin_registry.py | 542 | Load and register a plugin from a Python file. This method dynamically imports a Python module, finds | STRING |
| HIGH | semantica/core/config_manager.py | 436 | Load configuration from file. Supports YAML and JSON formats. Automatically detects format bas | STRING |
| HIGH | semantica/core/config_manager.py | 516 | Load configuration dictionary from file. Args: file_path: Path to configuration file | STRING |
| HIGH | semantica/core/config_manager.py | 564 | Load configuration from dictionary. Args: config_dict: Dictionary of configuration values | STRING |
| HIGH | semantica/core/methods.py | 100 | Build knowledge base from data sources (convenience function). This is a user-friendly wrapper that constructs | STRING |
| HIGH | semantica/core/methods.py | 173 | Execute a processing pipeline (convenience function). This is a user-friendly wrapper that executes a processi | STRING |
| HIGH | semantica/core/methods.py | 222 | Initialize Semantica framework (convenience function). This is a user-friendly wrapper that initializes the fr | STRING |
| HIGH | semantica/core/methods.py | 268 | Get system status (convenience function). This is a user-friendly wrapper that retrieves system status usi | STRING |
| HIGH | semantica/core/methods.py | 329 | Get orchestration method by task and name. This function retrieves a registered orchestration method from the | STRING |
| HIGH | semantica/core/methods.py | 385 | List all available orchestration methods. Args: task: Optional task type to filter by Returns: | STRING |
| HIGH | semantica/core/orchestrator.py | 284 | Build knowledge base from data sources. This is a high-level method that orchestrates the complete | STRING |
| HIGH | semantica/core/orchestrator.py | 457 | Execute a processing pipeline. Args: pipeline: Pipeline object or configuration dictionary | STRING |
| HIGH | semantica/core/orchestrator.py | 696 | Validate and filter data sources. This method checks if sources exist (for file paths) or are valid UR | STRING |
| HIGH | semantica/ingest/gdrive_ingestor.py | 172 | Ingest data from Google Drive folder. This method lists all files in a Google Drive folder and retriev | STRING |
| HIGH | semantica/ingest/gdrive_ingestor.py | 312 | Ingest data from Google Drive file. This method retrieves metadata and optionally downloads content | STRING |
| HIGH | semantica/ingest/gdrive_ingestor.py | 402 | Export entire Google Drive or a folder. This method exports all files from a Google Drive folder or th | STRING |
| HIGH | semantica/ingest/pandas_ingestor.py | 109 | Ingest data from pandas DataFrame. This method processes a pandas DataFrame and extracts metadata, | STRING |
| HIGH | semantica/ingest/pandas_ingestor.py | 325 | Ingest data from JSON file. This method reads a JSON file using pandas and ingests it as a DataFrame. | STRING |
| HIGH | semantica/ingest/pandas_ingestor.py | 375 | Ingest data from dictionary. This method converts a dictionary or list of dictionaries to a DataFrame | STRING |
| HIGH | semantica/ingest/databricks_ingestor.py | 427 | Ingest data from a Databricks (Delta) table. This method retrieves data from a Unity Catalog table wit | STRING |
| HIGH | semantica/ingest/databricks_ingestor.py | 571 | Execute a Databricks SQL query and ingest results. This method executes a SQL query and returns the re | STRING |
| HIGH | semantica/ingest/databricks_ingestor.py | 676 | Get schema information for a Unity Catalog table. Args: table_name: Name of the table | STRING |
| HIGH | semantica/ingest/databricks_ingestor.py | 759 | List all schemas in a catalog. Args: catalog: Catalog name (uses default if not provided) | STRING |
| 287 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | docs_check.py | 76 | except Exception as e: | CODE |
| MEDIUM | docs_check.py | 72 | def _() -> list[str]: | CODE |
| LOW | tests/test_notebooks_plain.py | 49 | except Exception as e: | CODE |
| LOW | tests/test_notebooks_plain.py | 78 | except Exception as e: | CODE |
| LOW | tests/test_notebooks_plain.py | 146 | except Exception as e: | CODE |
| LOW | tests/test_semantic_extract_batch_provenance.py | 12 | except Exception as e: | CODE |
| LOW⚡ | tests/test_huggingface_impl.py | 142 | except Exception as e: | CODE |
| MEDIUM⚡ | tests/test_huggingface_impl.py | 143 | print(f"Error during test execution: {e}", flush=True) | CODE |
| LOW⚡ | tests/test_huggingface_impl.py | 152 | except Exception as e: | CODE |
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 99 | except Exception as exc: | CODE |
| MEDIUM | tests/test_spacy_cache_bounds_and_locks.py | 90 | def load_model(i): | CODE |
| LOW | tests/verify_context_sync.py | 183 | except Exception as e: | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 112 | def worker(): | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 175 | def worker(): | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 244 | def worker(): | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 275 | def worker(): | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 313 | def worker(): | CODE |
| MEDIUM | tests/test_nlp_embedder_cache_locks.py | 408 | def worker(i): | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 118 | except Exception as exc: | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 181 | except Exception as exc: | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 248 | except Exception as exc: | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 279 | except Exception as exc: | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 317 | except Exception as exc: | CODE |
| LOW | tests/test_nlp_embedder_cache_locks.py | 416 | except Exception as exc: | CODE |
| MEDIUM⚡ | tests/test_groq_integration.py | 33 | print("Error: Groq is not available. Check library installation or API key.") | CODE |
| LOW⚡ | tests/test_groq_integration.py | 35 | except Exception as e: | CODE |
| MEDIUM⚡ | tests/test_groq_integration.py | 36 | print(f"Error checking provider: {e}") | CODE |
| LOW⚡ | tests/test_groq_integration.py | 44 | except Exception as e: | CODE |
| LOW | tests/test_groq_integration.py | 58 | except Exception as e: | CODE |
| LOW | tests/test_groq_integration.py | 66 | except Exception as e: | CODE |
| LOW | tests/test_groq_integration.py | 80 | except Exception as e: | CODE |
| LOW | tests/test_notebooks_verification.py | 69 | except Exception as e: | STRING |
| LOW | tests/test_notebooks_verification.py | 143 | except Exception as e: | STRING |
| LOW⚡ | tests/test_401_temporal_provenance_export.py | 361 | except Exception as exc: | CODE |
| LOW | tests/test_progress_tracker_regressions.py | 68 | except Exception as exc: # pragma: no cover - re-raised below | CODE |
| MEDIUM | tests/test_progress_tracker_regressions.py | 65 | def runner(): | CODE |
| LOW | tests/verify_backends.py | 34 | except Exception as e: | CODE |
| LOW | tests/verify_backends.py | 108 | except Exception as e: | CODE |
| MEDIUM | tests/test_unreleased_changelog_comprehensive.py | 650 | def reader(): | CODE |
| MEDIUM | tests/test_unreleased_changelog_comprehensive.py | 657 | def writer(): | CODE |
| MEDIUM | tests/test_unreleased_changelog_comprehensive.py | 706 | def reader(): | CODE |
| LOW⚡ | tests/test_unreleased_changelog_comprehensive.py | 630 | except Exception as exc: | CODE |
| LOW | tests/test_unreleased_changelog_comprehensive.py | 654 | except Exception as exc: | CODE |
| LOW | tests/test_unreleased_changelog_comprehensive.py | 661 | except Exception as exc: | CODE |
| LOW | tests/test_unreleased_changelog_comprehensive.py | 685 | except Exception as exc: | CODE |
| LOW | tests/test_unreleased_changelog_comprehensive.py | 711 | except Exception as exc: | CODE |
| LOW⚡ | tests/test_issue_554_fixes.py | 297 | except Exception: | CODE |
| LOW | tests/test_embedding_providers.py | 36 | except Exception as e: | CODE |
| LOW | tests/test_embedding_providers.py | 66 | except Exception as e: | CODE |
| LOW | tests/test_import.py | 10 | except Exception as e: | CODE |
| MEDIUM | tests/test_import.py | 11 | print(f"Error: {e}") | CODE |
| LOW | tests/test_relations_llm.py | 49 | except Exception: | CODE |
| LOW | tests/test_export_module.py | 140 | except Exception as e: | CODE |
| LOW | tests/test_export_module.py | 162 | except Exception as e: | CODE |
| LOW | tests/test_export_module.py | 216 | except Exception as e: | CODE |
| LOW | tests/test_export_module.py | 260 | except Exception as e: | CODE |
| LOW | tests/test_all_features.py | 67 | except Exception as e: | CODE |
| LOW⚡ | tests/verify_rich_cli.py | 91 | except Exception as e: | CODE |
| LOW | tests/test_notebook_15_export.py | 81 | except Exception as e: | CODE |
| LOW⚡ | tests/test_notebooks_simulation.py | 141 | except Exception as e: | CODE |
| 1696 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs_check.py | 2 | CODE | |
| LOW | poc_runner.py | 13 | CODE | |
| LOW | poc_runner.py | 14 | CODE | |
| LOW | poc_runner.py | 15 | CODE | |
| LOW | poc_runner.py | 17 | CODE | |
| LOW | tests/test_semantic_extract_batch_provenance.py | 10 | CODE | |
| LOW | tests/conftest.py | 31 | CODE | |
| LOW | tests/verify_context_sync.py | 4 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 30 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 31 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 32 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 33 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 34 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 34 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 35 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 35 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 35 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 36 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 36 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 41 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 51 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 51 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 51 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 63 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 63 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 63 | CODE | |
| LOW | tests/test_030_context_graph_realworld_extended.py | 1552 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 4 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 5 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 11 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 14 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 15 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 15 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 16 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 16 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 17 | CODE | |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 18 | CODE | |
| LOW | tests/test_mcp_package_get_provenance.py | 17 | CODE | |
| LOW | tests/test_redshift_ingestor.py | 18 | CODE | |
| LOW | tests/test_redshift_ingestor.py | 22 | CODE | |
| LOW | tests/test_redshift_ingestor.py | 30 | CODE | |
| LOW | tests/test_mcp_semantic_retrieval.py | 563 | CODE | |
| LOW | tests/test_groq_integration.py | 4 | CODE | |
| LOW | tests/test_groq_integration.py | 16 | CODE | |
| LOW | tests/test_notebooks_verification.py | 4 | CODE | |
| LOW | tests/test_notebooks_verification.py | 10 | CODE | |
| LOW | tests/test_notebooks_verification.py | 10 | CODE | |
| LOW | tests/test_notebooks_verification.py | 10 | CODE | |
| LOW | tests/test_mcp_package_export_graphml_parquet.py | 36 | CODE | |
| LOW | tests/test_mcp_package_export_graphml_parquet.py | 465 | CODE | |
| LOW | tests/test_dynamics365_ingestor.py | 7 | CODE | |
| LOW | tests/test_dynamics365_ingestor.py | 13 | CODE | |
| LOW | tests/verify_backends.py | 1 | CODE | |
| LOW | tests/verify_backends.py | 2 | CODE | |
| 1811 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/verify_backends.py | 116 | except: | CODE |
| HIGH | tests/test_issue_554_fixes.py | 297 | except Exception: | CODE |
| HIGH | tests/test_parquet_exporter.py | 168 | except AttributeError: | CODE |
| HIGH | tests/test_llm_extraction_fixes.py | 40 | except ProcessingError as e: | CODE |
| HIGH | tests/test_relations_llm.py | 49 | except Exception: | CODE |
| HIGH | tests/test_notebooks_simulation.py | 163 | except ImportError: | CODE |
| HIGH | tests/visualization/test_visualization_advanced.py | 64 | except Exception: | CODE |
| HIGH | tests/pipeline/test_pipeline_comprehensive.py | 152 | except Exception: | CODE |
| HIGH | tests/context/test_agent_context_decisions.py | 289 | except Exception: | CODE |
| HIGH | tests/context/test_agent_context_decisions.py | 359 | except Exception: | CODE |
| HIGH | tests/parse/test_parse_comprehensive.py | 58 | except AttributeError: | CODE |
| HIGH | tests/parse/test_parse_comprehensive.py | 70 | except ImportError: | CODE |
| HIGH | tests/triplet_store/test_jena_store.py | 542 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_llm_smoke_groq.py | 9 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_retry_logic.py | 150 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_retry_logic.py | 172 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_pr482_deepseek_openai.py | 227 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_pr482_deepseek_openai.py | 249 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_pr482_deepseek_openai.py | 277 | except Exception: | CODE |
| HIGH | tests/semantic_extract/test_pr482_deepseek_openai.py | 306 | except Exception: | CODE |
| HIGH | tests/ontology/test_ontology_advanced.py | 72 | except Exception as e: | CODE |
| HIGH | tests/ontology/test_ontology_advanced.py | 116 | except Exception: | CODE |
| HIGH | tests/ontology/test_ontology_advanced.py | 154 | except Exception: | CODE |
| HIGH | tests/vector_store/test_decision_embedding_pipeline.py | 848 | except NotImplementedError: | CODE |
| HIGH | tests/vector_store/test_decision_embedding_pipeline.py | 867 | except NotImplementedError: | CODE |
| HIGH | tests/vector_store/test_pgvector_store.py | 48 | except ImportError: | CODE |
| HIGH | tests/vector_store/test_pgvector_store.py | 128 | except Exception: | CODE |
| HIGH | tests/vector_store/test_pgvector_store.py | 41 | except ImportError: | CODE |
| HIGH | tests/vector_store/test_pgvector_store.py | 321 | except Exception: | CODE |
| HIGH | tests/vector_store/test_pgvector_store.py | 642 | except Exception: | CODE |
| HIGH | tests/vector_store/test_backend_facade_contract.py | 131 | except Exception: | CODE |
| HIGH | tests/provenance/test_provenance_edge_cases.py | 20 | except ValueError: | CODE |
| HIGH | tests/provenance/test_provenance_edge_cases.py | 265 | except (TypeError, ValueError): | CODE |
| HIGH | tests/provenance/test_provenance_edge_cases.py | 328 | except ValueError: | CODE |
| HIGH | tests/provenance/test_manager.py | 64 | except RuntimeError: | CODE |
| HIGH | tests/kg/test_provenance_integration.py | 249 | except Exception: | CODE |
| HIGH | semantica_mcp/mcp/tools/graph.py | 38 | except Exception: | CODE |
| HIGH | semantica_mcp/mcp/tools/graph.py | 93 | except Exception: | CODE |
| HIGH | semantica_mcp/mcp/tools/graph.py | 54 | except Exception: | CODE |
| HIGH | semantica_mcp/mcp/tools/graph.py | 114 | except Exception: | CODE |
| HIGH | semantica/cli.py | 764 | except ImportError: | CODE |
| HIGH | semantica/cli.py | 2621 | except ImportError: | CODE |
| HIGH | semantica/cli.py | 5745 | except OSError: | CODE |
| HIGH | semantica/cli.py | 5517 | except OSError: | CODE |
| HIGH | semantica/cli.py | 5558 | except OSError: | CODE |
| HIGH | semantica/cli.py | 5767 | except ValueError: | CODE |
| HIGH | semantica/cli.py | 325 | except OSError: | CODE |
| HIGH | semantica/cli.py | 2681 | except ImportError: | CODE |
| HIGH | semantica/split/config.py | 133 | except (ValueError, TypeError): | CODE |
| HIGH | semantica/split/provenance_tracker.py | 144 | except AttributeError: | CODE |
| HIGH | semantica/split/provenance_tracker.py | 184 | except AttributeError: | CODE |
| HIGH | semantica/split/methods.py | 1704 | except (ImportError, OSError): | CODE |
| HIGH | semantica/split/methods.py | 1727 | except (ImportError, OSError): | CODE |
| HIGH | semantica/visualization/utils/layout_algorithms.py | 220 | except Exception: | CODE |
| HIGH | semantica/embeddings/config.py | 159 | except (ValueError, TypeError): | CODE |
| HIGH | semantica/context/context_retriever.py | 2429 | except Exception: | CODE |
| HIGH | semantica/context/context_retriever.py | 2954 | except Exception: | CODE |
| HIGH | semantica/context/global_retriever.py | 543 | except Exception: | CODE |
| HIGH | semantica/context/global_retriever.py | 553 | except Exception: | CODE |
| HIGH | semantica/context/global_retriever.py | 588 | except Exception: | CODE |
| 144 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_llm_groq.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_gemini.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_anthropic.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_novita.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_deepseek.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_openai.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_ollama.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/test_llm_huggingface.py | 0 | generate_structured() must propagate a top-level json array unchanged. | STRING |
| HIGH | tests/vector_store/test_milvus_store.py | 0 | must fail loudly: an empty scan reads the same as an empty source. | STRING |
| HIGH | tests/vector_store/test_pinecone_store.py | 0 | must fail loudly: an empty scan reads the same as an empty source. | STRING |
| HIGH | tests/vector_store/test_qdrant_store.py | 0 | must fail loudly: an empty scan reads the same as an empty source. | STRING |
| HIGH | tests/integrations/crewai/test_kg_tool.py | 0 | returns semantica's real ``entity`` dataclass shape (text/label, no name). | STRING |
| HIGH | tests/integrations/agno/test_kg_toolkit.py | 0 | returns semantica's real ``entity`` dataclass shape (text/label, no name). | STRING |
| HIGH | tests/integrations/agno/test_knowledge_graph.py | 0 | returns semantica's real ``entity`` dataclass shape (text/label, no name). | STRING |
| HIGH | tests/integrations/crewai/test_kg_tool.py | 0 | real semantica ``entity``/``relation`` dataclasses (text/label, subject/object) instead of magicmock-shaped fakes. | STRING |
| HIGH | tests/integrations/agno/test_kg_toolkit.py | 0 | real semantica ``entity``/``relation`` dataclasses (text/label, subject/object) instead of magicmock-shaped fakes. | STRING |
| HIGH | tests/integrations/agno/test_knowledge_graph.py | 0 | real semantica ``entity``/``relation`` dataclasses (text/label, subject/object) instead of magicmock-shaped fakes. | STRING |
| HIGH | tests/integrations/google_adk/test_decision_tools.py | 0 | skip tests if adk is missing, unless testing missing dependency behavior. | STRING |
| HIGH | tests/integrations/google_adk/test_kg_tools.py | 0 | skip tests if adk is missing, unless testing missing dependency behavior. | STRING |
| HIGH | tests/integrations/google_adk/test_session_service.py | 0 | skip tests if adk is missing, unless testing missing dependency behavior. | STRING |
| HIGH | tests/integrations/google_adk/test_shared_graph.py | 0 | skip tests if adk is missing, unless testing missing dependency behavior. | STRING |
| HIGH | tests/integrations/google_adk/test_init.py | 0 | skip tests if adk is missing, unless testing missing dependency behavior. | STRING |
| HIGH | tests/kg/test_provenance_workflows_simple.py | 0 | read a provenance record back. fails if tracking only minted an id. | STRING |
| HIGH | tests/kg/test_integration_comprehensive.py | 0 | read a provenance record back. fails if tracking only minted an id. | STRING |
| HIGH | tests/kg/test_provenance_workflows.py | 0 | read a provenance record back. fails if tracking only minted an id. | STRING |
| HIGH | semantica/split/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/visualization/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/embeddings/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/ingest/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/parse/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/deduplication/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/ontology/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/normalize/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/export/config.py | 0 | configuration manager for export module - supports .env files, environment variables, and programmatic config. | STRING |
| HIGH | semantica/split/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/embeddings/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/ingest/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/parse/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/deduplication/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/ontology/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/conflicts/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/normalize/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/kg/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/export/config.py | 0 | get configuration value with fallback chain: config -> env -> default. | STRING |
| HIGH | semantica/split/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/embeddings/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/core/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/ingest/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/parse/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/deduplication/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/ontology/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/conflicts/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/normalize/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/kg/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/export/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/visualization/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/triplet_store/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/graph_store/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/vector_store/registry.py | 0 | list all registered methods. args: task: optional task type to filter by returns: dictionary mapping task types to lists | STRING |
| HIGH | semantica/split/registry.py | 0 | clear all registered methods for a task or all tasks. args: task: optional task type to clear (clears all if none) | STRING |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_spacy_cache_bounds_and_locks.py | 165 | CODE | |
| LOW | tests/test_mcp_tool_registry_consistency.py | 102 | CODE | |
| LOW | tests/test_parquet_exporter.py | 151 | CODE | |
| LOW | tests/test_graph_store.py | 42 | CODE | |
| LOW | tests/test_graph_store.py | 71 | CODE | |
| LOW | tests/test_graph_store.py | 101 | CODE | |
| LOW | tests/test_mcp_package_persistence.py | 332 | CODE | |
| LOW | tests/test_mcp_package_persistence.py | 358 | CODE | |
| LOW | tests/test_salesforce_ingestor.py | 34 | CODE | |
| LOW | tests/test_bigquery_ingestor.py | 44 | CODE | |
| LOW | tests/visualization/_plotly_doubles.py | 22 | CODE | |
| LOW | tests/context/test_context_graph_markdown.py | 259 | CODE | |
| LOW | tests/ingest/test_cookbook_integration.py | 12 | CODE | |
| LOW | tests/ingest/test_cookbook_integration.py | 18 | CODE | |
| LOW | tests/utils/test_normalize_graph_payload.py | 311 | CODE | |
| LOW | tests/utils/test_normalize_graph_payload.py | 391 | CODE | |
| LOW | tests/cookbook/test_disease_network_analysis.py | 59 | CODE | |
| LOW | tests/reasoning/test_temporal_truth_maintenance.py | 146 | CODE | |
| LOW | tests/kg/test_real_world_scenarios.py | 627 | CODE | |
| LOW | tests/kg/test_real_world_scenarios.py | 735 | CODE | |
| LOW | tests/kg/test_integration_comprehensive.py | 153 | CODE | |
| LOW | tests/kg/test_integration_comprehensive.py | 189 | CODE | |
| LOW | tests/kg/test_integration_comprehensive.py | 415 | CODE | |
| LOW | tests/export/test_owl_exporter.py | 119 | CODE | |
| LOW | tests/export/test_owl_exporter.py | 150 | CODE | |
| LOW | tests/export/test_vocab_namespace.py | 42 | CODE | |
| LOW | tests/export/test_cli_export_formats.py | 93 | CODE | |
| LOW | tests/export/test_yaml_exporter_input_validation.py | 88 | CODE | |
| LOW | semantica_mcp/mcp/server.py | 206 | CODE | |
| LOW | semantica_mcp/mcp/session.py | 35 | CODE | |
| LOW | semantica_mcp/mcp/tools/decisions.py | 25 | CODE | |
| LOW | semantica_mcp/mcp/tools/decisions.py | 173 | CODE | |
| LOW | semantica_mcp/mcp/tools/graph.py | 16 | CODE | |
| LOW | semantica_mcp/mcp/tools/graph.py | 64 | CODE | |
| LOW | semantica_mcp/mcp/tools/export.py | 24 | CODE | |
| LOW | semantica_mcp/mcp/tools/retrieval.py | 269 | CODE | |
| LOW | semantica/cli.py | 178 | CODE | |
| LOW | semantica/cli.py | 331 | CODE | |
| LOW | semantica/cli.py | 2423 | CODE | |
| LOW | semantica/cli.py | 2626 | CODE | |
| LOW | semantica/cli.py | 2708 | CODE | |
| LOW | semantica/cli.py | 3033 | CODE | |
| LOW | semantica/cli.py | 4658 | CODE | |
| LOW | semantica/cli.py | 5266 | CODE | |
| LOW | semantica/cli.py | 5579 | CODE | |
| LOW | semantica/cli.py | 2434 | CODE | |
| LOW | semantica/cli.py | 2719 | CODE | |
| LOW | semantica/cli.py | 3048 | CODE | |
| LOW | semantica/cli.py | 4678 | CODE | |
| LOW | semantica/cli.py | 5588 | CODE | |
| LOW | semantica/cli.py | 2670 | CODE | |
| LOW | semantica/split/config.py | 60 | CODE | |
| LOW | semantica/split/config.py | 114 | CODE | |
| LOW | semantica/split/methods.py | 162 | CODE | |
| LOW | semantica/split/methods.py | 597 | CODE | |
| LOW | semantica/split/methods.py | 861 | CODE | |
| LOW | semantica/split/methods.py | 999 | CODE | |
| LOW | semantica/split/methods.py | 1159 | CODE | |
| LOW | semantica/split/methods.py | 1412 | CODE | |
| LOW | semantica/split/sliding_window_chunker.py | 149 | CODE | |
| 677 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | poc_runner.py | 234 | # Step 1: import stores it | COMMENT |
| LOW⚡ | poc_runner.py | 239 | # Step 2: provenance endpoint reflects it into header | COMMENT |
| LOW⚡ | tests/test_mcp_decisions_link.py | 303 | # Step 1: link | COMMENT |
| LOW⚡ | tests/test_mcp_decisions_link.py | 310 | # Step 2: trace downstream from cause | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 44 | # Step 1: JSON Export | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 50 | # Step 2: CSV Export | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 57 | # Step 3: RDF Export | COMMENT |
| LOW | tests/test_notebook_15_export.py | 70 | # Step 4: Graph Export | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 46 | # Step 1: Create Sample Knowledge Graph and Data | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 83 | # Step 2: Export to JSON | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 91 | # Step 3: Export to RDF | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 134 | # Step 5: Export to Graph Formats | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 144 | # Step 6: Export to OWL | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 152 | # Step 7: Export to Vector Formats | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 168 | # Step 8: Export to LPG | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 176 | # Step 9: Export to YAML | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 194 | # Step 10: Generate Reports | COMMENT |
| LOW | tests/test_notebooks_simulation.py | 116 | # Step 4: Export to CSV | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 32 | # Step 1: Knowledge Graph Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 64 | # Step 3: Embedding Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 94 | # Step 4: Semantic Network Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 151 | # Step 2: Knowledge Graph Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 158 | # Step 3: Generate Embeddings and Visualize | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 175 | # Step 5: Graph Analytics Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 51 | # Step 2: Ontology Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 116 | # Step 5: Advanced Embedding Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 132 | # Step 1: Create Sample Knowledge Graph | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 198 | # Step 6: Temporal Data Visualization | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 65 | # Step 1: Record multiple banking decisions | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 109 | # Step 2: Test basic precedent search | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 118 | # Step 3: Test advanced precedent search with KG features | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 144 | # Step 5: Test relationship prediction | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 149 | # Step 6: Test context insights | COMMENT |
| LOW | tests/context/test_banking_context_graphs_e2e.py | 132 | # Step 4: Test decision influence analysis | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 65 | # Step 1: Record healthcare decisions across different departments | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 117 | # Step 2: Test department-specific precedent search | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 126 | # Step 3: Test advanced precedent search with medical context | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 159 | # Step 5: Test relationship prediction for medical decisions | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 164 | # Step 6: Test healthcare-specific context insights | COMMENT |
| LOW | tests/context/test_healthcare_context_graphs_e2e.py | 141 | # Step 4: Test decision influence analysis for medical decisions | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 500 | # Step 1: create vec_0 .. vec_4, record their embeddings | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 509 | # Step 2: reload → delete vec_2 (auto-saves) → reload again | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 517 | # Step 3: add a new vector without an explicit ID | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 122 | # Step 1: Initialize DecisionContext | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 126 | # Step 2: Record credit decisions | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 133 | # Step 3: Find similar decisions for new scenario | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 143 | # Step 4: Verify precedent quality | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 148 | # Step 5: Get decision context | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 157 | # Step 6: Explain decision | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 169 | # Step 1: Record fraud decisions using convenience functions | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 183 | # Step 2: Find fraud precedents | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 191 | # Step 3: Search by entities | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 195 | # Step 4: Batch process new fraud scenarios | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 204 | # Step 5: Filter decisions by criteria | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 92 | # Step 1: Ingest document | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 100 | # Step 2: Split into chunks | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 110 | # Step 3: Extract entities from chunks | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 119 | # Step 4: Create relationships | COMMENT |
| LOW⚡ | tests/kg/test_provenance_workflows.py | 132 | # Step 1: Build graph with provenance | COMMENT |
| LOW⚡ | tests/kg/test_provenance_workflows.py | 290 | # Step 1: Track similarity calculation | COMMENT |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 262 | graph.add_node("acme_corp", "Organization", name="Acme Corp", industry="SaaS") | CODE |
| LOW⚡ | tests/test_llm_groq.py | 12 | llm = Groq(model="llama-3.1-8b-instant", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_groq.py | 14 | assert llm.api_key == "fake-key" | CODE |
| LOW⚡ | tests/test_llm_groq.py | 31 | llm = Groq(api_key="fake-key") | CODE |
| LOW | tests/test_llm_groq.py | 43 | llm = Groq(api_key="fake-key") | CODE |
| LOW | tests/test_llm_groq.py | 57 | llm = Groq(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_groq.py | 87 | llm = Groq(api_key="fake-key") | CODE |
| LOW | tests/test_mcp_package_extraction.py | 22 | extracted = Entity("Acme Corp", "ORG", 17, 26, confidence=0.7) | CODE |
| LOW | tests/test_mcp_package_extraction.py | 33 | "text": "Acme Corp", | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 60 | acme = Entity("Acme Corp", "ORG", 16, 25, confidence=0.8) | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 62 | triplet = Triplet("Alice", "founded", "Acme Corp", confidence=0.7) | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 85 | "target": "Acme Corp", | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 90 | {"subject": "Alice", "predicate": "founded", "object": "Acme Corp"} | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 100 | acme = Entity("Acme Corp", "ORG", 16, 25, confidence=0.8) | CODE |
| LOW⚡ | tests/test_mcp_package_extraction.py | 109 | triplet = Triplet("Alice", "founded", "Acme Corp", confidence=0.7) | CODE |
| LOW | tests/test_mcp_package_extraction.py | 134 | {"text": "Acme Corp", "label": "ORG", "type": "ORG"}, | CODE |
| LOW | tests/test_mcp_package_extraction.py | 147 | "target": "Acme Corp", | CODE |
| LOW | tests/test_mcp_package_extraction.py | 153 | {"subject": "Alice", "predicate": "founded", "object": "Acme Corp"} | CODE |
| LOW⚡ | tests/test_llm_gemini.py | 12 | gemini = Gemini(model="gemini-pro", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_gemini.py | 14 | assert gemini.api_key == "fake-key" | CODE |
| LOW⚡ | tests/test_llm_gemini.py | 31 | gemini = Gemini(api_key="fake-key") | CODE |
| LOW | tests/test_llm_gemini.py | 43 | gemini = Gemini(api_key="fake-key") | CODE |
| LOW | tests/test_llm_gemini.py | 55 | gemini = Gemini(api_key="fake-key") | CODE |
| LOW | tests/test_llm_gemini.py | 69 | gemini = Gemini(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_gemini.py | 99 | gemini = Gemini(api_key="fake-key") | CODE |
| LOW | tests/test_dynamics365_ingestor.py | 118 | "access_token": "fake-token" | CODE |
| LOW⚡ | tests/test_llm_anthropic.py | 13 | claude = Anthropic(model="claude-sonnet-4-6", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_anthropic.py | 15 | assert claude.api_key == "fake-key" | CODE |
| LOW | tests/test_llm_anthropic.py | 45 | claude = Anthropic(api_key="fake-key") | CODE |
| LOW | tests/test_llm_anthropic.py | 58 | claude = Anthropic(api_key="fake-key") | CODE |
| LOW | tests/test_llm_anthropic.py | 70 | claude = Anthropic(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_anthropic.py | 102 | claude = Anthropic(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_unreleased_changelog_comprehensive.py | 298 | author="user@example.com", | CODE |
| LOW⚡ | tests/test_unreleased_changelog_comprehensive.py | 338 | author="user@example.com", | CODE |
| LOW⚡ | tests/test_unreleased_changelog_comprehensive.py | 355 | author="user@example.com", | CODE |
| LOW⚡ | tests/test_unreleased_changelog_comprehensive.py | 376 | author="user@example.com", | CODE |
| LOW⚡ | tests/test_llm_litellm.py | 91 | llm = LiteLLM(model="openai/gpt-4o", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_litellm.py | 93 | assert llm.api_key == "fake-key" | CODE |
| LOW⚡ | tests/test_llm_novita.py | 12 | llm = Novita(model="deepseek/deepseek-v3.2", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_novita.py | 14 | assert llm.api_key == "fake-key" | CODE |
| LOW⚡ | tests/test_llm_novita.py | 31 | llm = Novita(api_key="fake-key") | CODE |
| LOW | tests/test_llm_novita.py | 43 | llm = Novita(api_key="fake-key") | CODE |
| LOW | tests/test_llm_novita.py | 55 | llm = Novita(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_novita.py | 85 | llm = Novita(api_key="fake-key") | CODE |
| LOW | tests/test_issue_554_fixes.py | 318 | {"text": "Acme Corp", "label": "ORG", "confidence": 0.88}, | CODE |
| LOW | tests/test_issue_554_fixes.py | 342 | self.assertEqual(result.entities[1].text, "Acme Corp") | CODE |
| LOW | tests/test_databricks_ingestor.py | 164 | mock_oauth_sp.return_value = {"Authorization": "Bearer fake-token"} | CODE |
| LOW | tests/test_parquet_exporter.py | 48 | "text": "Acme Corp", | CODE |
| LOW | tests/test_arrow_exporter.py | 50 | "text": "Acme Corp", | CODE |
| LOW⚡ | tests/test_llm_deepseek.py | 12 | llm = DeepSeek(model="deepseek-chat", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_deepseek.py | 14 | assert llm.api_key == "fake-key" | CODE |
| LOW⚡ | tests/test_llm_deepseek.py | 31 | llm = DeepSeek(api_key="fake-key") | CODE |
| LOW | tests/test_llm_deepseek.py | 43 | llm = DeepSeek(api_key="fake-key") | CODE |
| LOW | tests/test_llm_deepseek.py | 55 | llm = DeepSeek(api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_deepseek.py | 85 | llm = DeepSeek(api_key="fake-key") | CODE |
| LOW | tests/test_export_module.py | 32 | {"id": "e2", "type": "Organization", "name": "Acme Corp", "label": "Acme Corp", "properties": {"loc": "NY"}} | CODE |
| LOW | tests/test_export_module.py | 73 | self.assertIn("Acme Corp", exported) | CODE |
| LOW | tests/test_export_module.py | 98 | self.assertIn("Acme Corp", content) | CODE |
| LOW⚡ | tests/test_llm_openai.py | 12 | llm = OpenAI(model="gpt-4", api_key="fake-key") | CODE |
| LOW⚡ | tests/test_llm_openai.py | 14 | assert llm.api_key == "fake-key" | CODE |
| 163 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | poc_runner.py | 234 | # Step 1: import stores it | COMMENT |
| LOW⚡ | poc_runner.py | 239 | # Step 2: provenance endpoint reflects it into header | COMMENT |
| LOW⚡ | tests/test_mcp_decisions_link.py | 303 | # Step 1: link | COMMENT |
| LOW⚡ | tests/test_mcp_decisions_link.py | 310 | # Step 2: trace downstream from cause | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 44 | # Step 1: JSON Export | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 50 | # Step 2: CSV Export | COMMENT |
| LOW⚡ | tests/test_notebook_15_export.py | 57 | # Step 3: RDF Export | COMMENT |
| LOW | tests/test_notebook_15_export.py | 70 | # Step 4: Graph Export | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 46 | # Step 1: Create Sample Knowledge Graph and Data | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 83 | # Step 2: Export to JSON | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 91 | # Step 3: Export to RDF | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 134 | # Step 5: Export to Graph Formats | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 144 | # Step 6: Export to OWL | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 152 | # Step 7: Export to Vector Formats | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 168 | # Step 8: Export to LPG | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 176 | # Step 9: Export to YAML | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 194 | # Step 10: Generate Reports | COMMENT |
| LOW | tests/test_notebooks_simulation.py | 116 | # Step 4: Export to CSV | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 32 | # Step 1: Knowledge Graph Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 64 | # Step 3: Embedding Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 94 | # Step 4: Semantic Network Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 151 | # Step 2: Knowledge Graph Visualization | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 158 | # Step 3: Generate Embeddings and Visualize | COMMENT |
| LOW⚡ | tests/visualization/reproduce_notebooks.py | 175 | # Step 5: Graph Analytics Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 51 | # Step 2: Ontology Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 116 | # Step 5: Advanced Embedding Visualization | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 132 | # Step 1: Create Sample Knowledge Graph | COMMENT |
| LOW | tests/visualization/reproduce_notebooks.py | 198 | # Step 6: Temporal Data Visualization | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 65 | # Step 1: Record multiple banking decisions | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 109 | # Step 2: Test basic precedent search | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 118 | # Step 3: Test advanced precedent search with KG features | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 144 | # Step 5: Test relationship prediction | COMMENT |
| LOW⚡ | tests/context/test_banking_context_graphs_e2e.py | 149 | # Step 6: Test context insights | COMMENT |
| LOW | tests/context/test_banking_context_graphs_e2e.py | 132 | # Step 4: Test decision influence analysis | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 65 | # Step 1: Record healthcare decisions across different departments | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 117 | # Step 2: Test department-specific precedent search | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 126 | # Step 3: Test advanced precedent search with medical context | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 159 | # Step 5: Test relationship prediction for medical decisions | COMMENT |
| LOW⚡ | tests/context/test_healthcare_context_graphs_e2e.py | 164 | # Step 6: Test healthcare-specific context insights | COMMENT |
| LOW | tests/context/test_healthcare_context_graphs_e2e.py | 141 | # Step 4: Test decision influence analysis for medical decisions | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 500 | # Step 1: create vec_0 .. vec_4, record their embeddings | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 509 | # Step 2: reload → delete vec_2 (auto-saves) → reload again | COMMENT |
| LOW⚡ | tests/vector_store/test_faiss_delete_vectors.py | 517 | # Step 3: add a new vector without an explicit ID | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 122 | # Step 1: Initialize DecisionContext | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 126 | # Step 2: Record credit decisions | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 133 | # Step 3: Find similar decisions for new scenario | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 143 | # Step 4: Verify precedent quality | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 148 | # Step 5: Get decision context | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 157 | # Step 6: Explain decision | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 169 | # Step 1: Record fraud decisions using convenience functions | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 183 | # Step 2: Find fraud precedents | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 191 | # Step 3: Search by entities | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 195 | # Step 4: Batch process new fraud scenarios | COMMENT |
| LOW⚡ | tests/vector_store/test_end_to_end_decision_tracking.py | 204 | # Step 5: Filter decisions by criteria | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 92 | # Step 1: Ingest document | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 100 | # Step 2: Split into chunks | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 110 | # Step 3: Extract entities from chunks | COMMENT |
| LOW⚡ | tests/provenance/test_real_module_integration.py | 119 | # Step 4: Create relationships | COMMENT |
| LOW⚡ | tests/kg/test_provenance_workflows.py | 132 | # Step 1: Build graph with provenance | COMMENT |
| LOW⚡ | tests/kg/test_provenance_workflows.py | 290 | # Step 1: Track similarity calculation | COMMENT |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_huggingface_impl.py | 92 | # Check if ANY call contained the correct formatting | COMMENT |
| LOW | tests/test_semantic_extract_deepdive_part2.py | 185 | # Check if participants were extracted (simple capitalization rule) | COMMENT |
| LOW | tests/test_parquet_exporter.py | 157 | # Check if codec is available in this pyarrow build | COMMENT |
| LOW | tests/test_semantic_extract_deepdive.py | 199 | # Check if basic components are in the output (format might vary slightly) | COMMENT |
| LOW | tests/test_reproduce_issue_176.py | 33 | # Check if generate_typed was called with max_tokens | COMMENT |
| LOW | tests/test_reproduce_issue_176.py | 62 | # Check if generate_typed was called with max_tokens | COMMENT |
| LOW | tests/test_reproduce_issue_176.py | 91 | # Check if generate_typed was called with max_tokens | COMMENT |
| LOW | tests/test_ner_configurations.py | 180 | # Check if labels match custom keys | COMMENT |
| LOW | tests/test_hf_deep_verify.py | 103 | # Check if relation is found | COMMENT |
| LOW | tests/test_hf_deep_verify.py | 160 | # Check if load_ner_model was called with runtime model | COMMENT |
| LOW⚡ | tests/test_notebooks_simulation.py | 184 | # Check if `export` exists dynamically or if notebook is wrong. | COMMENT |
| LOW | tests/ingest/test_web_ingestor.py | 384 | # Set limit to 2 pages | COMMENT |
| LOW | tests/parse/test_notebook_03.py | 96 | # Check if xml_data has elements attribute | COMMENT |
| LOW | tests/parse/test_parse_comprehensive.py | 62 | # Check if module has get_progress_tracker before patching to avoid AttributeError | COMMENT |
| LOW⚡ | tests/utils/test_custom_method_can_refuse.py | 147 | # Read the file rather than import it: some of these modules pull in | COMMENT |
| LOW | tests/semantic_extract/test_retry_logic.py | 123 | # Check if generate_typed was called with max_retries=7 for chunks | COMMENT |
| LOW | tests/semantic_extract/test_performance.py | 186 | # Check if parallel was indeed parallel (faster) | COMMENT |
| LOW | tests/semantic_extract/test_performance.py | 243 | # Check if subject matches "Apple Inc." even though text said "Apple" | COMMENT |
| LOW | tests/semantic_extract/test_robustness_fallback.py | 21 | # Check if they are the capitalized words | COMMENT |
| LOW | tests/vector_store/test_simple_end_to_end.py | 86 | # Check if they are RetrievedContext objects or dicts | COMMENT |
| LOW⚡ | tests/provenance/test_all_modules.py | 32 | # Check if provenance parameter exists (future integration) | COMMENT |
| LOW⚡ | tests/provenance/test_all_modules.py | 122 | # Check if using unified backend | COMMENT |
| LOW | semantica/split/methods.py | 369 | # Check if adding this sentence would exceed limits | COMMENT |
| LOW | semantica/split/methods.py | 912 | # Check if sentence contains entity boundaries | COMMENT |
| LOW | semantica/split/methods.py | 1056 | # Check if sentence is part of a triplet | COMMENT |
| LOW | semantica/split/structural_chunker.py | 261 | # Check if adding this element would exceed max size | COMMENT |
| LOW | semantica/split/semantic_chunker.py | 165 | # Check if adding this sentence would exceed chunk size | COMMENT |
| LOW | semantica/visualization/temporal_visualizer.py | 178 | # Check if both entities exist in our timeline map | COMMENT |
| LOW | semantica/visualization/temporal_visualizer.py | 226 | # Check if both source and target are active at t | COMMENT |
| LOW | semantica/visualization/temporal_visualizer.py | 261 | # Check if m_data is complex or simple list | COMMENT |
| LOW | semantica/visualization/ontology_visualizer.py | 184 | # Check if it's a semantic model or semantic network | COMMENT |
| LOW | semantica/visualization/ontology_visualizer.py | 429 | # Check if property belongs to class (via domain or direct property list) | COMMENT |
| LOW | semantica/visualization/semantic_network_visualizer.py | 151 | # Check if it's a semantic model from ontology generator | COMMENT |
| LOW | semantica/pipeline/pipeline_validator.py | 195 | # Check if pipeline has steps | COMMENT |
| LOW | semantica/pipeline/resource_scheduler.py | 320 | # Check if GPU resource exists | COMMENT |
| LOW | semantica/pipeline/failure_handler.py | 159 | # Check if error is retryable | COMMENT |
| LOW | semantica/pipeline/failure_handler.py | 303 | # Check if error type is in retryable list | COMMENT |
| LOW | semantica/change_management/version_storage.py | 342 | # Check if version already exists | COMMENT |
| LOW | semantica/change_management/ontology_version_manager.py | 448 | # Check if it's a versioned import | COMMENT |
| LOW | semantica/change_management/ontology_version_manager.py | 454 | # Check if we have this version | COMMENT |
| LOW | semantica/context/context_retriever.py | 584 | # Check if knowledge_graph implements GraphStore protocol (has query method) | COMMENT |
| LOW | semantica/context/context_retriever.py | 676 | # Check if entity type semantically matches query keywords | COMMENT |
| LOW | semantica/context/context_retriever.py | 717 | # Check if relationship type or its synonyms appear in query | COMMENT |
| LOW | semantica/context/context_retriever.py | 1249 | # Check if knowledge_graph implements GraphStore protocol | COMMENT |
| LOW | semantica/context/context_retriever.py | 2007 | # Check if entity is in related entities | COMMENT |
| LOW | semantica/context/global_retriever.py | 387 | # Check if dict is {community_id: report} or single report dict | COMMENT |
| LOW | semantica/context/agent_memory.py | 735 | # Check if it's a conversation item | COMMENT |
| LOW | semantica/context/context_graph.py | 3964 | # Check if decisions exist - if not, skip adding relationship | COMMENT |
| LOW | semantica/context/context_graph.py | 3972 | # Check if nodes are decision nodes - if not, skip adding relationship | COMMENT |
| LOW | semantica/core/plugin_registry.py | 215 | # Check if plugin is already loaded (return existing instance) | COMMENT |
| LOW | semantica/core/plugin_registry.py | 222 | # Check if plugin is registered | COMMENT |
| LOW | semantica/core/plugin_registry.py | 464 | # Check if path exists and is a directory | COMMENT |
| LOW | semantica/core/config_manager.py | 227 | # Check if it's a valid float (allows one decimal point) | COMMENT |
| LOW | semantica/core/lifecycle.py | 137 | # Check if already started | COMMENT |
| LOW | semantica/core/lifecycle.py | 233 | # Check if already stopped | COMMENT |
| LOW | semantica/core/orchestrator.py | 717 | # Check if source is valid: | COMMENT |
| LOW | semantica/ingest/repo_ingestor.py | 213 | # Read file content | COMMENT |
| LOW | semantica/ingest/gdrive_ingestor.py | 353 | # Check if file is Google Workspace file (needs export) | COMMENT |
| LOW | semantica/ingest/methods.py | 1488 | # Check if it looks like a URL | COMMENT |
| LOW | semantica/ingest/methods.py | 1619 | # Check if it's a feed URL | COMMENT |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | tests/explorer/test_explorer_api.py | 910 | client.app.state.session.graph.add_node("ws_node", node_type="entity", content="WebSocket Node") | CODE |
| CRITICAL⚡ | tests/explorer/test_explorer_api.py | 1224 | from semantica.utils.helpers import classify_path_distance # noqa: E402 | CODE |
| CRITICAL | tests/explorer/test_explorer_api.py | 474 | client.app.state.session.graph.add_node("policy_1", node_type="policy", content="Data policy") | CODE |
| CRITICAL | tests/explorer/test_explorer_api.py | 475 | client.app.state.session.graph.add_edge("decision_1", "policy_1", edge_type="violates") | CODE |
| CRITICAL | tests/explorer/test_explorer_entrypoints.py | 124 | server.app.state.session.graph.add_node( | CODE |
| CRITICAL⚡ | tests/semantic_extract/test_pr482_deepseek_openai.py | 140 | provider.client.chat.completions.create.assert_called_once() | CODE |
| CRITICAL⚡ | tests/provenance/test_timestamp_timezones.py | 19 | from semantica.utils.helpers import utc_now | CODE |
| CRITICAL | tests/export/test_timestamp_timezones.py | 20 | from semantica.utils.helpers import utc_now, utc_now_iso | CODE |
| CRITICAL | docs/guides/distance-intelligence.md | 70 | from semantica.utils.helpers import classify_path_distance | CODE |
| CRITICAL | docs/guides/distance-intelligence.md | 305 | from semantica.utils.helpers import classify_path_distance | CODE |
| CRITICAL | docs/guides/distance-intelligence.md | 473 | from semantica.utils.helpers import classify_path_distance | CODE |
| CRITICAL | semantica/ingest/cassandra_ingestor.py | 213 | keyspace_metadata = self.connector.cluster.metadata.keyspaces.get( | CODE |
| CRITICAL⚡ | semantica/vector_store/weaviate_store.py | 75 | vectorizer_config=weaviate.classes.config.Configure.vectorizer.none(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_semantic_extract_deepdive.py | 179 | # Create a valid and invalid triplet | COMMENT |
| MEDIUM | tests/test_amazon_neptune.py | 296 | # Create a real AuthManager base class for testing (not MagicMock) | COMMENT |
| MEDIUM | tests/test_pipeline_orchestration.py | 63 | # Create a pipeline first | COMMENT |
| MEDIUM | tests/test_pipeline_orchestration.py | 126 | # Define a simple handler | COMMENT |
| MEDIUM | tests/change_management/test_performance.py | 568 | # Initialize test classes | COMMENT |
| MEDIUM | tests/embeddings/test_text_embedder.py | 13 | # Create a mock for sentence_transformers.SentenceTransformer | COMMENT |
| MEDIUM | tests/embeddings/test_text_embedder.py | 17 | # Create a mock for fastembed.TextEmbedding | COMMENT |
| MEDIUM⚡ | tests/context/test_causal_analyzer.py | 374 | # Create a cycle path | COMMENT |
| MEDIUM⚡ | tests/context/test_causal_analyzer.py | 384 | # Create a path without cycle | COMMENT |
| MEDIUM | tests/context/test_erasure_coordinator.py | 1170 | # Create a lightweight memory mock optimized for speed | COMMENT |
| MEDIUM | tests/context/test_context_graph_decisions.py | 483 | # Create a complex network | COMMENT |
| MEDIUM | tests/context/test_context_graph_decisions.py | 556 | # Create a loop: decision_001 -> decision_002 -> decision_003 -> decision_001 | COMMENT |
| MEDIUM | tests/context/test_context_graphs_examples.py | 192 | # Create a test policy | COMMENT |
| MEDIUM | tests/context/test_context_graphs_examples.py | 423 | # Create a network of 100 decisions | COMMENT |
| MEDIUM | tests/context/test_context_graphs_examples.py | 444 | # Create a mix of relationship types | COMMENT |
| MEDIUM | tests/ingest/test_web_ingestor.py | 294 | # Create a chain of links: P1 -> P2 -> P3 | COMMENT |
| MEDIUM | tests/ingest/test_web_ingestor.py | 355 | # Create a chain: P1 -> P2 -> P3 -> P4 | COMMENT |
| MEDIUM | tests/ingest/test_submodules.py | 95 | # Create a real temporary CSV file | COMMENT |
| MEDIUM | tests/ingest/test_submodules.py | 410 | # Create a real temp dir and populate it | COMMENT |
| MEDIUM | tests/parse/test_docling_parser.py | 34 | # Create a dummy file for Path.exists() | COMMENT |
| MEDIUM | tests/explorer/test_ontology_subissue3.py | 779 | # Create an alignment first so coverage score can be non-zero. | STRING |
| MEDIUM⚡ | tests/semantic_extract/test_retry_logic.py | 183 | # Create a mock entity | COMMENT |
| MEDIUM | tests/semantic_extract/test_retry_logic.py | 212 | # Create a mock entity | COMMENT |
| MEDIUM | tests/semantic_extract/test_groq_real_world.py | 349 | # Create a larger batch by duplicating sample texts | COMMENT |
| MEDIUM⚡ | tests/semantic_extract/test_robustness_fallback.py | 88 | # Create a relation manually to ensure we have one to convert | COMMENT |
| MEDIUM | tests/semantic_extract/test_cache_backends.py | 636 | # Create the schema via the safe backend. | COMMENT |
| MEDIUM | tests/vector_store/test_decision_embedding_pipeline.py | 411 | # Create a real VectorStore with FAISS backend | COMMENT |
| MEDIUM | tests/integrations/google_adk/test_shared_graph.py | 75 | # Create a session using the same graph. | COMMENT |
| MEDIUM | tests/provenance/test_semantic_extract_provenance.py | 276 | # Create a lineage chain: document -> chunk -> entity | COMMENT |
| MEDIUM⚡ | tests/kg/test_registry.py | 396 | # Define a custom algorithm class | COMMENT |
| MEDIUM⚡ | tests/kg/test_link_predictor.py | 378 | # Create a more complex graph for testing | COMMENT |
| MEDIUM | tests/kg/test_link_predictor.py | 594 | # Create a larger sparse graph | COMMENT |
| MEDIUM | tests/kg/test_path_finder.py | 225 | # Create a graph with multiple paths | COMMENT |
| MEDIUM | tests/kg/test_path_finder.py | 677 | # Create a large sparse graph | COMMENT |
| MEDIUM⚡ | tests/kg/test_enhanced_algorithms_e2e.py | 614 | # Create a larger graph | COMMENT |
| MEDIUM | tests/kg/test_core_components.py | 63 | # Create a dummy seed file | COMMENT |
| MEDIUM | tests/kg/test_node_embeddings.py | 41 | # Create a simple adjacency structure | COMMENT |
| MEDIUM | tests/kg/test_graph_builder_with_graph_store.py | 31 | # Create a mock GraphStore facade | COMMENT |
| MEDIUM | semantica/visualization/temporal_visualizer.py | 666 | # Create a bar for the pattern duration | COMMENT |
| MEDIUM | semantica/change_management/version_storage.py | 594 | # Create a deterministic JSON representation | COMMENT |
| MEDIUM | semantica/embeddings/vector_embedding_manager.py | 318 | # Create a copy to avoid modifying original | COMMENT |
| MEDIUM | semantica/context/agent_context.py | 293 | # Create a minimal DecisionQuery that delegates to ContextGraph | COMMENT |
| MEDIUM | semantica/semantic_extract/cache.py | 691 | # Create a stable string representation of params | COMMENT |
| MEDIUM | semantica/semantic_extract/providers.py | 1772 | # Create a copy of text with markers inserted | COMMENT |
| MEDIUM⚡ | semantica/semantic_extract/relation_extractor.py | 513 | # Create a weak relation | COMMENT |
| MEDIUM | semantica/export/rdf_exporter.py | 694 | # Create a shallow copy of the graph structure to avoid modifying original | COMMENT |
| MEDIUM | examples/parquet_export_example.py | 19 | # Create a temporary directory for outputs | COMMENT |
| MEDIUM | examples/arrow_export_example.py | 17 | # Create a temporary directory for outputs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 61 | # Removed slow hooks for faster development: | COMMENT |
| LOW | pyproject.toml | 241 | gpu = [ | COMMENT |
| LOW | .checkov.yaml | 1 | # Checkov configuration. | COMMENT |
| LOW | osv-scanner.toml | 21 | COMMENT | |
| LOW | requirements-ci.txt | 441 | --hash=sha256:4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15 \ | COMMENT |
| LOW | requirements-ci.txt | 801 | # click-plugins | COMMENT |
| LOW | requirements-ci.txt | 2001 | --hash=sha256:ef7c3c97f4311c7be57e2986629df89d49cb434dbff78eafcd48c2bff986b15a \ | COMMENT |
| LOW | requirements-ci.txt | 2021 | # openai | COMMENT |
| LOW | requirements-ci.txt | 2041 | # sentence-transformers | COMMENT |
| LOW | requirements-ci.txt | 2081 | --hash=sha256:897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057 \ | COMMENT |
| LOW | requirements-ci.txt | 2161 | --hash=sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011 | COMMENT |
| LOW | requirements-ci.txt | 2361 | # ipykernel | COMMENT |
| LOW | requirements-ci.txt | 3941 | # d3graph | COMMENT |
| LOW | requirements-ci.txt | 3961 | # rapidocr | COMMENT |
| LOW | requirements-ci.txt | 4221 | # pymilvus | COMMENT |
| LOW | requirements-ci.txt | 4241 | # google-adk | COMMENT |
| LOW | requirements-ci.txt | 4301 | --hash=sha256:cf52e1f61d229496da17dc7ab54acdee627357e7008fd4fecba3d0ba2937fa58 \ | COMMENT |
| LOW | requirements-ci.txt | 4441 | --hash=sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65 \ | COMMENT |
| LOW | requirements-ci.txt | 5101 | # docling-slim | COMMENT |
| LOW | requirements-ci.txt | 5241 | # instructor | COMMENT |
| LOW | requirements-ci.txt | 5361 | # pytest-asyncio | COMMENT |
| LOW | requirements-ci.txt | 5381 | # pandas | COMMENT |
| LOW | requirements-ci.txt | 5821 | # tiktoken | COMMENT |
| LOW | requirements-ci.txt | 5841 | # langsmith | COMMENT |
| LOW | requirements-ci.txt | 5861 | # via | COMMENT |
| LOW | requirements-ci.txt | 6141 | # via | COMMENT |
| LOW | requirements-ci.txt | 6801 | # jupyterlab | COMMENT |
| LOW | requirements-ci.txt | 6821 | # transformers | COMMENT |
| LOW | requirements-ci.txt | 6961 | # docling-core | COMMENT |
| LOW | requirements-ci.txt | 6981 | # azure-storage-blob | COMMENT |
| LOW | requirements-ci.txt | 7001 | # opentelemetry-api | COMMENT |
| LOW | tests/test_mcp_package_export_graphml_parquet.py | 141 | """The old code passed the ContextGraph object directly. Verify the | COMMENT |
| LOW | tests/test_hf_deep_verify.py | 121 | # Let's check the code I read earlier. | COMMENT |
| LOW | tests/ingest/test_notebook_06.py | 81 | # "document". The literal previously set "source" twice, so the | COMMENT |
| LOW | tests/ingest/test_notebook_06.py | 101 | ) | COMMENT |
| LOW | tests/ingest/test_submodules.py | 61 | ingestor = RESTIngestor() | COMMENT |
| LOW | tests/graph_store/test_cypher_injection.py | 161 | COMMENT | |
| LOW | tests/graph_store/test_cypher_injection.py | 301 | # BLOCKER 2 regression: GraphStore.get_neighbors hops forwarding | COMMENT |
| LOW | tests/vector_store/test_pinecone_removal.py | 1 | # This test file has been updated as Pinecone support has been re-added to Semantica. | COMMENT |
| LOW | tests/normalize/test_data_cleaner.py | 101 | threshold=0.8, | COMMENT |
| LOW | tests/provenance/test_all_modules.py | 61 | COMMENT | |
| LOW | semantica_mcp/mcp/tools/export.py | 61 | # GraphMLExporter does not exist. GraphExporter is the correct | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 181 | // aria-describedby="footnote-label" | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 501 | })); | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 521 | // renderToString calls (no hidden state that would differ if focusedMode | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 541 | assert.deepEqual( | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 561 | // WHY THIS CANNOT BE TESTED WITH renderToString: | COMMENT |
| LOW | explorer/tests/markdownContentViewer.test.ts | 581 | // equals defaultMode, so JSX and useLayoutEffect agree, and no visible change | COMMENT |
| LOW | …rc/workspaces/GraphWorkspace/MarkdownContentViewer.tsx | 101 | const sourceTabId = `${baseId}-tab-source`; | COMMENT |
| LOW | …rc/workspaces/GraphWorkspace/MarkdownContentViewer.tsx | 161 | // When the viewed resource/node changes, reset focusedModeRef to match the | COMMENT |
| LOW | …rc/workspaces/GraphWorkspace/MarkdownContentViewer.tsx | 401 | const MARKDOWN_COMPONENTS: Components = { | COMMENT |
| LOW | docs/integrations/looker.md | 181 | COMMENT | |
| LOW | docs/integrations/looker.md | 221 | # "content_type": "lookml_model", | COMMENT |
| LOW | docs/integrations/redshift.md | 261 | text_fields=["name", "notes"], # columns joined as document text; omit to auto-select | COMMENT |
| LOW | docs/integrations/bigquery.md | 241 | # "id": "ORD-12345", | COMMENT |
| LOW | docs/integrations/salesforce.md | 241 | print(f"Created {len(documents)} documents") | COMMENT |
| LOW | docs/reference/context.md | 721 | | `to_dict()` | `Dict` | Serialized receipt, safe to persist as an audit record | | COMMENT |
| LOW | semantica/__init__.py | 21 | COMMENT | |
| LOW | semantica/split/provenance_tracker.py | 401 | latest_prov = lineage_list[-1] # List is parent -> child (wait, let me check get_chunk_lineage implementation) | COMMENT |
| LOW | semantica/seed/seed_usage.md | 501 | manager = SeedDataManager() | COMMENT |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/test_cli_commands.py | 1606 | """A 'premises' key present but not a list (e.g. YAML null) must be | STRING |
| HIGH⚡ | tests/test_cli_commands.py | 1652 | """A 'observations' key present but not a list (e.g. YAML null) | STRING |
| HIGH⚡ | tests/test_salesforce_ingestor.py | 1355 | """None (null) field values are kept as None.""" | STRING |
| HIGH | tests/explorer/test_ontology_load_custom_name.py | 123 | ``customName || undefined``). Storing "" verbatim would leave a nameless | STRING |
| HIGH⚡ | tests/kg/test_similarity_calculator.py | 657 | # Correlation between constant vectors should be 0 (undefined) | COMMENT |
| HIGH⚡ | tests/kg/test_similarity_calculator.py | 661 | # Correlation between constant and varying vector should be 0 (undefined) | COMMENT |
| HIGH | semantica/explorer/app.py | 209 | "or run `cd explorer && npm ci && npm run build` from the repo root." | CODE |
| HIGH | semantica/utils/helpers.py | 857 | collection to null, and treating that as "no records under this key" is | STRING |
| HIGH | semantica/triplet_store/rdf4j_store.py | 397 | # default to context=null, which would change "all graphs" semantics | COMMENT |
| HIGH⚡ | semantica/semantic_extract/methods.py | 2167 | → valid_from: "2014-05-01", valid_until: null, temporal_confidence: 0.90, temporal_source_text: "May 2014" | CODE |
| HIGH⚡ | semantica/semantic_extract/methods.py | 2170 | → valid_from: "Q3 2020", valid_until: null, temporal_confidence: 0.75, temporal_source_text: "since Q3 2020" | CODE |
| HIGH⚡ | semantica/semantic_extract/methods.py | 2173 | → valid_from: "last year", valid_until: null, temporal_confidence: 0.50, temporal_source_text: "Last year" | CODE |
| HIGH⚡ | semantica/semantic_extract/methods.py | 2179 | → valid_from: null, valid_until: null, temporal_confidence: 0.00, temporal_source_text: null | CODE |
| HIGH⚡ | semantica/semantic_extract/methods.py | 2187 | "valid_from": "2014-05-01", "valid_until": null, | CODE |
| HIGH | semantica/kg/temporal_query_rewriter.py | 214 | ' "temporal_phrase": the verbatim temporal expression (or null),\n' | CODE |
| HIGH | semantica/kg/temporal_query_rewriter.py | 215 | ' "temporal_intent": one of "before", "after", "at", "during", "between", or null,\n' | CODE |
| HIGH | examples/explorer_deterministic_rendering_example.py | 16 | cd explorer && npm install && cd .. | STRING |
| HIGH | examples/explorer_deterministic_rendering_example.py | 26 | cd explorer && npm run dev | STRING |
| HIGH | examples/explorer_deterministic_rendering_example.py | 146 | print(" cd explorer && npm install && cd ..\n") | CODE |
| HIGH | examples/explorer_deterministic_rendering_example.py | 156 | print(" 2. Frontend: cd explorer && npm run dev") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | semantica_mcp/mcp/__init__.py | 42 | __all__ = ["SemanticaMCPServer", "main", "__version__"] | CODE |
| LOW | semantica_mcp/mcp/tools/__init__.py | 24 | __all__ = ["TOOL_DEFINITIONS"] | CODE |
| LOW | semantica_mcp/mcp/resources/__init__.py | 8 | __all__ = ["RESOURCE_DEFINITIONS", "handle_resource_read"] | CODE |
| LOW | semantica/__init__.py | 196 | __all__ = [] | CODE |
| LOW | semantica/split/__init__.py | 107 | __all__ = [ | CODE |
| LOW | semantica/visualization/config.py | 173 | def _set_defaults(self) -> None: | CODE |
| LOW | semantica/visualization/config.py | 240 | def set_method_config(self, method_name: str, config: Dict[str, Any]) -> None: | CODE |
| LOW | semantica/visualization/visualization_provenance.py | 69 | __all__ = ['VisualizerWithProvenance'] | CODE |
| LOW | semantica/visualization/__init__.py | 138 | __all__ = [ | CODE |
| LOW | semantica/visualization/utils/__init__.py | 44 | __all__ = [ | CODE |
| LOW | semantica/pipeline/failure_handler.py | 272 | def set_retry_policy(self, step_type: str, policy: RetryPolicy) -> None: | CODE |
| LOW | semantica/pipeline/failure_handler.py | 468 | def set_retry_policy(self, step_type: str, policy: RetryPolicy) -> None: | CODE |
| LOW | semantica/pipeline/failure_handler.py | 482 | def set_fallback_strategy(self, strategy: str) -> None: | CODE |
| LOW | semantica/pipeline/__init__.py | 79 | __all__ = [ | CODE |
| LOW | semantica/pipeline/pipeline_provenance.py | 109 | __all__ = ['PipelineWithProvenance'] | CODE |
| LOW | semantica/change_management/__init__.py | 38 | __all__ = [ | CODE |
| LOW | semantica/evals/__init__.py | 23 | __all__ = [ | CODE |
| LOW | semantica/seed/__init__.py | 76 | __all__ = [ | CODE |
| LOW | semantica/embeddings/embeddings_provenance.py | 84 | __all__ = ['EmbeddingGeneratorWithProvenance'] | CODE |
| LOW | semantica/embeddings/__init__.py | 108 | __all__ = [ | CODE |
| LOW | semantica/embeddings/text_embedder.py | 193 | def set_model(self, method: str, model_name: str, **config) -> None: | CODE |
| LOW | semantica/embeddings/embedding_generator.py | 100 | def set_text_model(self, method: str, model_name: str, **config) -> None: | CODE |
| LOW | semantica/context/decision_methods.py | 910 | __all__ = [ | CODE |
| LOW | semantica/context/__init__.py | 163 | __all__ = [ | CODE |
| LOW | semantica/context/drift_search.py | 483 | def set_knowledge_graph(self, graph: Any) -> None: | CODE |
| LOW | semantica/context/context_provenance.py | 70 | __all__ = ['ContextManagerWithProvenance'] | CODE |
| LOW | semantica/context/erasure.py | 51 | __all__ = [ | CODE |
| LOW | semantica/core/config_manager.py | 628 | def set_config(self, config: Config, validate: bool = True) -> None: | CODE |
| LOW | semantica/core/__init__.py | 65 | __all__ = [ | CODE |
| LOW | semantica/ingest/sap_ingestor.py | 66 | __all__ = [ | CODE |
| LOW | semantica/ingest/powerbi_ingestor.py | 72 | __all__ = [ | CODE |
| LOW | semantica/ingest/__init__.py | 506 | __all__ = [ | CODE |
| LOW | semantica/ingest/looker_ingestor.py | 127 | __all__ = [ | CODE |
| LOW⚡ | semantica/ingest/bigquery_ingestor.py | 106 | __all__ = [ | CODE |
| LOW | semantica/ingest/airflow_ingestor.py | 30 | __all__ = [ | CODE |
| LOW | semantica/ingest/servicenow_ingestor.py | 48 | __all__ = [ | CODE |
| LOW⚡ | semantica/ingest/redshift_ingestor.py | 131 | __all__ = [ | CODE |
| LOW | semantica/ingest/ingest_provenance.py | 110 | __all__ = ['PDFIngestorWithProvenance', 'IngestProvenanceMixin'] | CODE |
| LOW⚡ | semantica/ingest/dynamics365_ingestor.py | 96 | __all__ = [ | CODE |
| LOW | semantica/parse/__init__.py | 237 | __all__ = [ | CODE |
| LOW | semantica/parse/parse_provenance.py | 74 | __all__ = ['ParserWithProvenance'] | CODE |
| LOW | semantica/explorer/session.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/explorer/session.py | 200 | def set_provenance_storage_path(self, storage_path: Optional[str]) -> None: | CODE |
| LOW | semantica/explorer/routes/temporal.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/explorer/routes/enrich.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/explorer/routes/graph.py | 11 | logger = logging.getLogger(__name__) | STRING |
| LOW | semantica/explorer/routes/export_import.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/explorer/routes/ontology.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/explorer/routes/provenance.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | semantica/utils/__init__.py | 155 | __all__ = [ | CODE |
| LOW | semantica/triplet_store/config.py | 170 | def _set_defaults(self) -> None: | CODE |
| LOW | semantica/triplet_store/config.py | 235 | def set_method_config(self, method_name: str, config: Dict[str, Any]) -> None: | CODE |
| LOW | semantica/triplet_store/__init__.py | 57 | __all__ = [ | CODE |
| LOW | semantica/triplet_store/triplet_store_provenance.py | 75 | __all__ = ['TripletStoreWithProvenance'] | CODE |
| LOW | semantica/graph_store/amazon_neptune.py | 1783 | def update_auth_context(self, context) -> None: | CODE |
| LOW | semantica/graph_store/graph_store_provenance.py | 72 | __all__ = ['GraphStoreWithProvenance'] | CODE |
| LOW | semantica/graph_store/config.py | 177 | def _set_defaults(self) -> None: | CODE |
| LOW | semantica/graph_store/config.py | 258 | def set_method_config(self, method_name: str, config: Dict[str, Any]) -> None: | CODE |
| LOW | semantica/graph_store/__init__.py | 164 | __all__ = [ | CODE |
| LOW | semantica/deduplication/deduplication_provenance.py | 76 | __all__ = ['DeduplicatorWithProvenance'] | CODE |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 400 | - **Replaced the retired `claude-sonnet-4-20250514` model id in docs and LLM wrappers** (#1449) by @ZohaibHassan16 — upd | CODE |
| MEDIUM | CHANGELOG.md | 543 | - **`SPARQLReasoner.execute_query()` claimed to run a query but always returned an empty result** (#1087, fixes #1083) b | CODE |
| MEDIUM | README.md | 347 | | [Multi-Agent (Agno)](#multi-agent-shared-context-with-agno) | One shared context graph across every agent on a team | | CODE |
| MEDIUM | README.md | 1539 | pip install "semantica[agno]" # Agno multi-agent integration | STRING |
| MEDIUM | tests/test_pipeline_orchestration.py | 257 | # This simulates a complete pipeline orchestration workflow | COMMENT |
| MEDIUM | tests/context/test_pr1548_review_fixes.py | 185 | # LLM hallucinates comm_999 alongside comm_1 | COMMENT |
| MEDIUM⚡ | tests/context/test_global_retriever.py | 518 | # Verify to_retrieved_contexts returns empty list to prevent RAG pollution | COMMENT |
| MEDIUM | semantica_mcp/mcp/session.py | 130 | # default embedding model (all-MiniLM-L6-v2 = 384, hash fallback | COMMENT |
| MEDIUM | docs/choose-your-module.md | 115 | # GraphRAG query with multi-hop reasoning trace | COMMENT |
| MEDIUM | docs/guides/agent-memory.md | 69 | # AgentContext orchestrates everything | COMMENT |
| MEDIUM | semantica/pipeline/pipeline_usage.md | 623 | ### RAG Pipeline Template | COMMENT |
| MEDIUM | semantica/pipeline/pipeline_usage.md | 630 | # Create RAG pipeline | COMMENT |
| MEDIUM | semantica/pipeline/pipeline_usage.md | 1121 | # Create RAG pipeline from template | COMMENT |
| MEDIUM | semantica/pipeline/pipeline_templates.py | 129 | # RAG Pipeline Template | COMMENT |
| MEDIUM | semantica/context/context_retriever.py | 3040 | >>> # Combine with TemporalQueryRewriter for end-to-end temporal RAG | STRING |
| MEDIUM | semantica/context/agent_memory.py | 828 | # This would use an embedding model | COMMENT |
| MEDIUM | semantica/context/context_graph.py | 2912 | # The link marker node is scaffolding reachable only from the node | COMMENT |
| MEDIUM | semantica/context/agent_context.py | 609 | # Simple RAG: Use AgentMemory (vector + memory) | COMMENT |
| MEDIUM | semantica/context/agent_context.py | 562 | >>> # Auto-detects RAG vs GraphRAG | STRING |
| MEDIUM | semantica/core/core_usage.md | 14 | 8. [Orchestration Methods](#orchestration-methods) | CODE |
| MEDIUM | semantica/graph_store/graph_store_usage.md | 617 | ### Knowledge Graph for RAG | STRING |
| MEDIUM | integrations/crewai/__init__.py | 6 | the `CrewAI <https://github.com/crewAIInc/crewAI>`_ agentic framework. | STRING |
| MEDIUM | integrations/agno/__init__.py | 6 | the `Agno <https://github.com/agno-agi/agno>`_ agentic framework. | STRING |
| MEDIUM | examples/capability_gap_context_graphs_example.py | 261 | # Logical orchestration path declared with Semantica PipelineBuilder. | COMMENT |
| MEDIUM | .github/full-suite-known-failures.txt | 101 | # because the real embedding model is offline, and two expectation drifts in | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/test_030_context_graph_realworld_extended.py | 272 | # A. ContextGraph Advanced Decision Methods (NOT covered in comprehensive file) | COMMENT |
| MEDIUM | tests/context/test_context_retriever_hybrid.py | 160 | """Test getting comprehensive decision context.""" | STRING |
| MEDIUM | tests/context/test_end_to_end_context_integration.py | 117 | # Test comprehensive retrieval | COMMENT |
| MEDIUM | tests/context/test_end_to_end_context_integration.py | 574 | # Test comprehensive context retrieval | COMMENT |
| LOW | tests/parse/test_parser.py | 80 | # OR just use a real file or a string that doesn't exist but bypass the check if possible? | COMMENT |
| LOW | tests/parse/test_parser.py | 88 | # OR just pass a string and let it be treated as content if file missing. | COMMENT |
| LOW | tests/triplet_store/test_oxigraph_store.py | 241 | # on-disk path, not just set the attribute) | COMMENT |
| LOW⚡ | tests/semantic_extract/test_robustness_fallback.py | 79 | ner = NERExtractor() # We'll just pass entities directly | CODE |
| LOW⚡ | tests/ontology/test_ontology_advanced.py | 62 | # Given it's a manager, it might just return a structure. | COMMENT |
| MEDIUM | tests/vector_store/test_end_to_end_decision_tracking.py | 260 | # Test comprehensive explanation | COMMENT |
| MEDIUM | tests/vector_store/test_performance_benchmarks.py | 450 | """Run comprehensive performance benchmark.""" | STRING |
| MEDIUM⚡ | tests/normalize/test_integration.py | 58 | # Note: clean_data default duplicate_criteria key_fields might need setting if we want robust test | COMMENT |
| MEDIUM⚡ | tests/kg/test_registry.py | 401 | # Register with comprehensive metadata | COMMENT |
| MEDIUM | tests/kg/test_provenance_workflows_simple.py | 321 | """Test comprehensive workflow with all available methods.""" | STRING |
| MEDIUM | tests/kg/test_provenance_workflows.py | 531 | """Test comprehensive provenance workflow combining all algorithms.""" | STRING |
| MEDIUM⚡ | tests/kg/test_enhanced_algorithms_e2e.py | 476 | """Test comprehensive workflow combining all algorithms.""" | STRING |
| MEDIUM⚡ | tests/kg/test_community_summarizer.py | 983 | """Tests for edge cases, sanitization, deep copy, and robust fallbacks.""" | STRING |
| MEDIUM | tests/kg/test_kg.py | 214 | """Test comprehensive analysis""" | STRING |
| LOW | semantica/seed/seed_manager.py | 1012 | # For now, just return the foundation | COMMENT |
| MEDIUM | semantica/context/context_retriever.py | 811 | # Generate comprehensive content from entity and relationships | COMMENT |
| MEDIUM | semantica/context/context_graph.py | 4140 | # Enhanced methods for comprehensive context graphs | COMMENT |
| MEDIUM⚡ | semantica/context/decision_query.py | 1167 | # Advanced methods for comprehensive context graphs | STRING |
| MEDIUM | semantica/context/agent_context.py | 2289 | # Enhanced methods for comprehensive context graphs | STRING |
| LOW | semantica/core/methods.py | 254 | # Minimal initialization - just create instance, don't initialize | COMMENT |
| LOW | semantica/graph_store/amazon_neptune.py | 121 | # Use AuthManager base class if available, otherwise just use object | COMMENT |
| MEDIUM | semantica/semantic_extract/methods.py | 2224 | # Convert back to internal Relation format (robust across providers) | COMMENT |
| MEDIUM | semantica/benchmarks/datasets/locomo.py | 107 | # enter the gold list, or the harness would credit a system for | COMMENT |
| MEDIUM | semantica/kg/graph_analyzer.py | 157 | # Compile comprehensive results | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/reference/llms.md | 228 | llm = Groq(api_key="your-api-key-here", model="llama-3.1-8b-instant") | CODE |
| HIGH | semantica/seed/seed_usage.md | 129 | api_key="your-api-key", | CODE |
| HIGH | semantica/seed/seed_manager.py | 492 | ... api_key="your-api-key", | STRING |
| HIGH | semantica/embeddings/embeddings_usage.md | 328 | api_key="your-api-key", | CODE |
| HIGH | semantica/embeddings/embeddings_usage.md | 379 | api_key="your-api-key" | CODE |
| HIGH | semantica/vector_store/vector_store_usage.md | 828 | store = PineconeStore(api_key="your-api-key") | CODE |
| HIGH | semantica/vector_store/pinecone_store.py | 25 | >>> store = PineconeStore(api_key="your-api-key") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | semantica/context/global_retriever.py | 338 | CODE | |
| LOW | semantica/context/decision_methods.py | 218 | CODE | |
| LOW | semantica/context/drift_search.py | 400 | CODE | |
| LOW | semantica/context/context_graph.py | 3800 | CODE | |
| LOW | semantica/context/agent_context.py | 125 | CODE | |
| LOW | semantica/context/agent_context.py | 397 | CODE | |
| LOW | semantica/context/agent_context.py | 518 | CODE | |
| LOW | semantica/ingest/sap_ingestor.py | 152 | CODE | |
| LOW | semantica/ingest/sap_ingestor.py | 433 | CODE | |
| LOW | semantica/ingest/databricks_ingestor.py | 334 | CODE | |
| LOW | semantica/ingest/snowflake_ingestor.py | 100 | CODE | |
| LOW | semantica/ingest/snowflake_ingestor.py | 361 | CODE | |
| LOW | semantica/ingest/tableau_ingestor.py | 321 | CODE | |
| LOW | semantica/ingest/powerbi_ingestor.py | 166 | CODE | |
| LOW | semantica/ingest/powerbi_ingestor.py | 535 | CODE | |
| LOW | semantica/ingest/web_ingestor.py | 503 | CODE | |
| LOW | semantica/ingest/public_api_ingestor.py | 419 | CODE | |
| LOW | semantica/ingest/looker_ingestor.py | 1180 | CODE | |
| LOW | semantica/ingest/servicenow_ingestor.py | 354 | CODE | |
| LOW | semantica/ingest/redshift_ingestor.py | 242 | CODE | |
| LOW | semantica/ingest/redshift_ingestor.py | 634 | CODE | |
| LOW | semantica/ingest/salesforce_ingestor.py | 373 | CODE | |
| LOW | semantica/ingest/salesforce_ingestor.py | 764 | CODE | |
| LOW | semantica/graph_store/amazon_neptune.py | 514 | CODE | |
| LOW | semantica/deduplication/duplicate_detector.py | 97 | CODE | |
| LOW | semantica/semantic_extract/methods.py | 2674 | CODE | |
| LOW | semantica/ontology/engine.py | 200 | CODE | |
| LOW | semantica/ontology/ontology_generator.py | 837 | CODE | |
| LOW | semantica/vector_store/decision_embedding_pipeline.py | 80 | CODE | |
| LOW | semantica/vector_store/decision_vector_methods.py | 98 | CODE | |
| LOW | semantica/vector_store/decision_vector_methods.py | 248 | CODE | |
| LOW | semantica/kg/community_summarizer.py | 559 | CODE | |
| LOW | semantica/kg/community_summarizer.py | 692 | CODE | |
| LOW | semantica/kg/node_embeddings.py | 94 | CODE | |
| LOW | semantica/kg/link_predictor.py | 110 | CODE | |
| LOW | semantica/kg/graph_builder.py | 57 | CODE | |
| LOW | semantica/kg/community_hierarchy.py | 569 | CODE | |
| LOW | integrations/crewai/decision_tool.py | 237 | CODE | |
| LOW | integrations/agno/knowledge_graph.py | 120 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/core/test_core.py | 132 | def my_method(): return "ok" | CODE |
| LOW | tests/ingest/test_notebook_02.py | 147 | tmp.write("class MyClass:\n def my_method(self):\n pass") | CODE |
| LOW | semantica/utils/logging.py | 39 | ... def my_function(): | STRING |
| LOW | semantica/utils/logging.py | 357 | def my_function(): | STRING |
| LOW | semantica/utils/progress_tracker.py | 1638 | def my_function(): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/test_cli_commands.py | 2878 | CODE | |
| MEDIUM | tests/vector_store/test_vector_manager_persistent.py | 282 | CODE |