AI Slop Code RIsk Monitor

yifanfeng97/Hyper-Extract

Hypergraph is more powerful. Transform unstructured text into structured knowledge with LLMs. Graphs, hypergraphs, and spatio-temporal extractions — with one command.

26.1 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for yifanfeng97/Hyper-Extract, a Python project with 4,157 GitHub stars. SynthScan examined 93,339 lines of code across 519 source files, recording 1340 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 26.1 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

26.1
Adjusted Signal
26.1
Raw Pattern Score
100%
Time Factor
2026-09-29
Last Push
4.2K
Stars
Python
Language
93.3K
Lines of Code
519
Files
1.3K
Pattern Hits
2026-10-12
Scan Date
0.25
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 43.0/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 766 finding(s).

Hallucinated Dependency & Supply Chain Risk 23.4/100 · LOW

Are imports declared and package/API names verified? 199 finding(s).

Agent Over-Engineering Ratio 54.4/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 948 finding(s).

PR Review Velocity Impact 73.2/100 · HIGH

Which changes need focused human review? 1340 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 1HIGH 127MEDIUM 238LOW 974

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1340 distinct pattern matches across 19 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.

Hyper-Verbose Identifiers563 hits · 569 pts
SeverityFileLineSnippetContext
LOWdocs_hooks.py19def _suppress_autorefs_duplicates():CODE
LOW⚡tests/test_mcp_server.py55def test_list_templates_returns_json():CODE
LOW⚡tests/test_mcp_server.py62def test_list_templates_includes_methods_by_default():CODE
LOW⚡tests/test_mcp_server.py69def test_list_templates_can_hide_methods():CODE
LOW⚡tests/test_mcp_server.py165def test_search_returns_nodes_and_edges(monkeypatch):CODE
LOW⚡tests/test_mcp_server.py174def test_search_graph_rag_triple_includes_community_context(monkeypatch):CODE
LOW⚡tests/test_mcp_server.py590def test_build_server_registers_tools():CODE
LOWtests/test_mcp_server.py95def test_info_counts_items_for_list_and_set_kas(tmp_path):CODE
LOWtests/test_mcp_server.py112def test_info_includes_chunks_and_optional_sources(tmp_path):CODE
LOWtests/test_mcp_server.py190def test_search_graph_rag_triple_writes_null_community(monkeypatch):CODE
LOWtests/test_mcp_server.py202def test_search_list_wraps_results(monkeypatch):CODE
LOWtests/test_mcp_server.py213def test_search_dict_recursively_dumps_models(monkeypatch):CODE
LOWtests/test_mcp_server.py229def test_search_without_index_is_handled(monkeypatch):CODE
LOWtests/test_mcp_server.py248def test_search_and_ask_without_index_is_handled_for_list_and_model(CODE
LOWtests/test_mcp_server.py317def test_export_graphml_requires_overwrite(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py340def test_export_graphml_rejects_non_graph(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py352def test_export_csv_rejects_non_graph_with_same_message(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py366def test_export_to_directory_returns_message(monkeypatch, tmp_path, tool):CODE
LOWtests/test_mcp_server.py396def test_export_cypher_nary_is_hyperedge_not_clique(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py422def test_export_cypher_requires_overwrite(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py444def test_export_jsonld_requires_overwrite(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py457def test_export_jsonld_rejects_non_graph(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py470def test_export_cypher_rejects_non_graph(monkeypatch, tmp_path):CODE
LOWtests/test_mcp_server.py524def test_load_missing_path_returns_string(tmp_path, tool_name):CODE
LOWtests/test_mcp_server.py543def test_load_dir_without_data_json_returns_string(tmp_path, tool_name):CODE
LOWtests/test_mcp_server.py565def test_load_client_error_returns_string(tmp_path, monkeypatch, tool_name):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py61 def test_default_source_target_mapping(self):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py68 def test_direction_is_preserved(self):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py75 def test_custom_field_mapping(self):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py82 def test_custom_field_mapping_preserves_direction(self):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py89 def test_missing_mapped_field_raises(self):CODE
LOW⚡tests/template_engine/test_parser_identifiers.py97 def test_non_string_values_coerced_to_str(self):CODE
LOWtests/template_engine/test_parser_identifiers.py108 def test_string_members_returns_sorted_participants(self):CODE
LOWtests/template_engine/test_parser_identifiers.py120 def test_list_members_returns_sorted_groups(self):CODE
LOW⚡tests/template_engine/test_factory.py14 def test_get_existing_template(self):CODE
LOW⚡tests/template_engine/test_factory.py22 def test_get_nonexistent_template(self):CODE
LOW⚡tests/template_engine/test_factory.py32 def test_create_with_language(self, llm_client, embedder):CODE
LOW⚡tests/template_engine/test_factory.py44 def test_create_without_source_raises(self, llm_client, embedder):CODE
LOW⚡tests/template_engine/test_factory.py52 def test_create_from_templatecfg_instance(self, llm_client, embedder):CODE
LOW⚡tests/template_engine/test_factory.py62 def test_create_method_template(self, llm_client, embedder):CODE
LOWtests/template_engine/test_factory.py136 def test_unknown_type_yaml_raises_valueerror(self, tmp_path, llm_client, embedder):CODE
LOWtests/template_engine/test_factory.py187 def test_create_document_yaml_type(self, tmp_path, llm_client, embedder):STRING
LOWtests/template_engine/test_factory.py205 def test_public_import_autodocument(self):STRING
LOWtests/template_engine/test_factory.py211 def test_create_gallery_base_document_preset(self, llm_client, embedder):STRING
LOWtests/template_engine/test_parser_guideline.py12def test_labels_follow_language():CODE
LOWtests/template_engine/test_parser_guideline.py23def test_unknown_language_falls_back_to_en():CODE
LOW⚡tests/template_engine/test_parser_loader.py14 def test_missing_language_falls_back_to_en(self):CODE
LOW⚡tests/template_engine/test_parser_loader.py17 def test_missing_language_and_no_en_returns_empty(self):CODE
LOW⚡tests/template_engine/test_parser_loader.py20 def test_present_language_used(self):CODE
LOW⚡tests/template_engine/test_parser_loader.py27 def test_load_nonexistent_file_raises(self):CODE
LOW⚡tests/template_engine/test_parser_loader.py32 def test_load_existing_template(self):CODE
LOWtests/template_engine/test_parser_options.py23 def test_every_valid_strategy_resolves(self, strategy):CODE
LOWtests/template_engine/test_parser_options.py34 def test_multiword_llm_strategies_map_to_llm_member(self, strategy):CODE
LOW⚡tests/template_engine/test_parser_options.py45 def test_valid_chunk_size_and_overlap_enter_kwargs(self):CODE
LOW⚡tests/template_engine/test_parser_options.py51 def test_overlap_equal_to_size_fails(self):CODE
LOW⚡tests/template_engine/test_parser_options.py56 def test_overlap_greater_than_size_fails(self):CODE
LOW⚡tests/template_engine/test_parser_options.py62 def test_chunk_size_not_positive_fails(self, chunk_size):CODE
LOW⚡tests/template_engine/test_parser_options.py67 def test_negative_overlap_fails(self):CODE
LOW⚡tests/template_engine/test_parser_options.py72 def test_size_only_with_overlap_none_passes(self):CODE
LOW⚡tests/template_engine/test_parser_options.py78 def test_both_chunk_fields_default_pass(self):CODE
503 more matches not shown…
Decorative Section Separators186 hits · 554 pts
SeverityFileLineSnippetContext
MEDIUM⚡tests/test_mcp_server.py50# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py52# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py75# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py77# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py160# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py162# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py585# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/test_mcp_server.py587# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_server.py483# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/test_mcp_server.py485# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py17# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py19# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py37# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py39# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py54# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py56# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py74# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py76# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py111# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py113# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py126# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_anthropic.py128# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py115# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py117# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py221# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py223# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py303# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py305# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py825# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py827# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py943# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_exporters.py945# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_exporters.py397# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_exporters.py399# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_exporters.py1037# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_exporters.py1039# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py57# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py59# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py85# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py87# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py122# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py124# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py171# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py173# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py217# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py219# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py263# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py265# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py284# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_obsidian.py286# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_obsidian.py20# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/utils/test_obsidian.py22# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/utils/test_client.py258# =============================================================================COMMENT
MEDIUM⚡tests/utils/test_client.py260# =============================================================================COMMENT
MEDIUM⚡tests/utils/test_client.py306# =============================================================================COMMENT
MEDIUM⚡tests/utils/test_client.py308# =============================================================================COMMENT
MEDIUM⚡tests/utils/test_client.py522# =============================================================================COMMENT
MEDIUM⚡tests/utils/test_client.py524# =============================================================================COMMENT
MEDIUMtests/utils/test_client.py21# =============================================================================COMMENT
MEDIUMtests/utils/test_client.py23# =============================================================================COMMENT
126 more matches not shown…
Magic Placeholder Names54 hits · 345 pts
SeverityFileLineSnippetContext
HIGHdocs/zh/python/quickstart.md24os.environ["OPENAI_API_KEY"] = "your-api-key"CODE
HIGHdocs/zh/python/index.md199os.environ["OPENAI_API_KEY"] = "your-api-key"CODE
HIGH⚡docs/zh/resources/troubleshooting.md46 he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/zh/resources/troubleshooting.md55 export OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/zh/resources/troubleshooting.md56 export ANTHROPIC_API_KEY=your-api-key # 用于 AnthropicCODE
HIGH⚡docs/zh/resources/troubleshooting.md57 export DEEPSEEK_API_KEY=your-api-key # 用于 DeepSeekCODE
HIGH⚡docs/zh/resources/faq.md64he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/zh/resources/faq.md65he config init -p bailian -k YOUR_API_KEYCODE
HIGH⚡docs/zh/resources/faq.md75export OPENAI_API_KEY=your-api-key # OpenAI/百炼CODE
HIGH⚡docs/zh/resources/faq.md76export ANTHROPIC_API_KEY=your-api-key # AnthropicCODE
HIGH⚡docs/zh/resources/faq.md77export DEEPSEEK_API_KEY=your-api-key # DeepSeekCODE
HIGH⚡docs/zh/resources/faq.md82OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/zh/resources/faq.md91he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/zh/resources/faq.md100he config llm --base-url https://your-provider.com/v1 -k YOUR_API_KEYCODE
HIGHdocs/zh/resources/faq.md244he config init -p openai -k YOUR_API_KEYCODE
HIGHdocs/zh/cli/configuration.md240 api_key = "sk-your-api-key"CODE
HIGHdocs/zh/cli/configuration.md272 api_key = "sk-your-api-key"CODE
HIGHdocs/zh/cli/configuration.md324 he config init -p bailian -k YOUR_API_KEYCODE
HIGHdocs/zh/cli/commands/config.md53he config init -p openai -k sk-your-api-key-hereCODE
HIGHdocs/zh/cli/commands/config.md56he config init -p bailian -k sk-your-api-key-hereCODE
HIGHdocs/zh/cli/commands/config.md212 api_key = "sk-your-api-key"CODE
HIGH⚡docs/zh/cli/commands/config.md254he config init -k your-api-keyCODE
HIGH⚡docs/zh/cli/commands/config.md260export OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/zh/cli/commands/config.md266he config init -k your-api-keyCODE
HIGHdocs/zh/getting-started/python-quickstart.md38echo "OPENAI_API_KEY=your-api-key" > .envCODE
HIGHdocs/en/python/quickstart.md24os.environ["OPENAI_API_KEY"] = "your-api-key"CODE
HIGHdocs/en/python/index.md199os.environ["OPENAI_API_KEY"] = "your-api-key"CODE
HIGH⚡docs/en/resources/troubleshooting.md48 he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/en/resources/troubleshooting.md57 export OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/en/resources/troubleshooting.md58 export ANTHROPIC_API_KEY=your-api-key # for AnthropicCODE
HIGH⚡docs/en/resources/troubleshooting.md59 export DEEPSEEK_API_KEY=your-api-key # for DeepSeekCODE
HIGH⚡docs/en/resources/faq.md64he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/en/resources/faq.md65he config init -p bailian -k YOUR_API_KEYCODE
HIGH⚡docs/en/resources/faq.md75export OPENAI_API_KEY=your-api-key # OpenAI/BailianCODE
HIGH⚡docs/en/resources/faq.md76export ANTHROPIC_API_KEY=your-api-key # AnthropicCODE
HIGH⚡docs/en/resources/faq.md77export DEEPSEEK_API_KEY=your-api-key # DeepSeekCODE
HIGH⚡docs/en/resources/faq.md82OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/en/resources/faq.md91he config init -p openai -k YOUR_API_KEYCODE
HIGH⚡docs/en/resources/faq.md100he config llm --base-url https://your-provider.com/v1 -k YOUR_API_KEYCODE
HIGHdocs/en/resources/faq.md244he config init -p openai -k YOUR_API_KEYCODE
HIGHdocs/en/cli/configuration.md240 api_key = "sk-your-api-key"CODE
HIGHdocs/en/cli/configuration.md272 api_key = "sk-your-api-key"CODE
HIGHdocs/en/cli/configuration.md324 he config init -p bailian -k YOUR_API_KEYCODE
HIGHdocs/en/cli/commands/config.md53he config init -p openai -k sk-your-api-key-hereCODE
HIGHdocs/en/cli/commands/config.md56he config init -p bailian -k sk-your-api-key-hereCODE
HIGHdocs/en/cli/commands/config.md212 api_key = "sk-your-api-key"CODE
HIGH⚡docs/en/cli/commands/config.md254he config init -k your-api-keyCODE
HIGH⚡docs/en/cli/commands/config.md260export OPENAI_API_KEY=your-api-keyCODE
HIGH⚡docs/en/cli/commands/config.md266he config init -k your-api-keyCODE
HIGHdocs/en/getting-started/python-quickstart.md38echo "OPENAI_API_KEY=your-api-key" > .envCODE
HIGHhyperextract/cli/README.md36he config init --api-key YOUR_API_KEYCODE
HIGHhyperextract/cli/README.md69export OPENAI_API_KEY=your_api_keyCODE
HIGHhyperextract/cli/README_ZH.md36he config init --api-key YOUR_API_KEYCODE
HIGHhyperextract/cli/README_ZH.md69export OPENAI_API_KEY=your_api_keyCODE
Docstring Block Structure41 hits · 205 pts
SeverityFileLineSnippetContext
HIGHdocs/zh/resources/contributing.md58处理输入文本并返回结构化数据。 Args: text: 要处理的输入文本 max_length: 最大处理长度 Returns: 包含处理后数据的字STRING
HIGHdocs/en/resources/contributing.md58Process input text and return structured data. Args: text: Input text to process max_length: MaSTRING
HIGHhyperextract/types/list.py406Support index access and slicing. Args: key: Integer index or slice object. Returns: STRING
HIGHhyperextract/types/list.py440Support index assignment. Args: index: Position to set (supports negative indexing). itSTRING
HIGHhyperextract/types/list.py464Operator overload for '+' to combine knowledge instances. Supports multiple combination patterns: - AutSTRING
HIGHhyperextract/types/list.py529Support del operation for removing items by index. Args: index: Position to delete (supports negatiSTRING
HIGHhyperextract/types/list.py565Support 'in' operator for membership testing. Args: item: The item to check for membership. STRING
HIGHhyperextract/types/list.py615Append a single item to the end of the list. Args: item: The item to append. Raises: STRING
HIGHhyperextract/types/list.py636Extend the list by appending multiple items. Args: items: Iterable of items to append. Can be: STRING
HIGHhyperextract/types/list.py677Insert an item at a specific position. Args: index: Position to insert at (supports negative indexiSTRING
HIGHhyperextract/types/list.py700Remove the first occurrence of an item from the list. Args: item: The item to remove. RaisSTRING
HIGHhyperextract/types/list.py729Remove and return an item at the given position. Args: index: Position to pop (default: -1, last itSTRING
HIGHhyperextract/types/list.py759Return the index of the first occurrence of item. Args: item: The item to find. start: STRING
HIGHhyperextract/types/list.py787Return the number of times item appears in the list. Args: item: The item to count. ReturnSTRING
HIGHhyperextract/types/list.py848Sort the items in place. Args: key: Function to extract comparison key from each item. STRING
HIGHhyperextract/types/model.py385Operator overload for '+' to combine AutoModel instances into AutoList. Supports multiple combination patterns:STRING
HIGHhyperextract/types/set.py678Removes and returns an arbitrary item from the set. Returns: The removed item. Raises: STRING
HIGHhyperextract/types/set.py913Equality comparison: set1 == set2. Two sets are equal if they have the same schema and key set. Note: DSTRING
HIGHhyperextract/types/set.py944Subset comparison: set1 <= set2. Args: other: Another AutoSet instance. Returns: STRING
HIGHhyperextract/types/set.py970Proper subset comparison: set1 < set2. Args: other: Another AutoSet instance. Returns: STRING
HIGHhyperextract/types/set.py987Superset comparison: set1 >= set2. Args: other: Another AutoSet instance. Returns: STRING
HIGHhyperextract/types/set.py1010Proper superset comparison: set1 > set2. Args: other: Another AutoSet instance. Returns: STRING
HIGHhyperextract/types/set.py1027Test whether every key in the set is in other. Args: other: Another AutoSet instance. RetuSTRING
HIGHhyperextract/types/set.py1041Test whether every key in other is in the set. Args: other: Another AutoSet instance. RetuSTRING
HIGHhyperextract/types/set.py1055Test whether the set has no keys in common with other. Args: other: Another AutoSet instance. STRING
HIGHhyperextract/types/base.py827Operator overload for '+' to merge two knowledge instances. Creates a new knowledge instance by merging the datSTRING
HIGHhyperextract/utils/client.py360Create an LLM client from a specification string or dict. Args: spec: String shorthand (e.g. "bailian:qwen-STRING
HIGHhyperextract/utils/client.py455Create an Embedder client from a specification string or dict. Args: spec: String shorthand (e.g. "bailian:STRING
HIGHhyperextract/utils/client.py587Get OpenAI LLM client and Embedder from config. Backward-compatible: reads ~/.he/config.toml. Args: coSTRING
HIGHhyperextract/utils/obsidian.py398Export graph-structured knowledge to an Obsidian vault. Each node is written as a Markdown note whose YAML front-maSTRING
HIGHhyperextract/utils/template_engine/factory.py65Create method template instance. Note: Method templates use English prompts only. Language is hardcodedSTRING
HIGHhyperextract/utils/template_engine/factory.py451Create template instance based on configuration. Supports both knowledge templates and method templates: STRING
HIGHhyperextract/utils/template_engine/template.py47Create template instance. Args: source: Template path (e.g., "general/graph", "method/light_rag") oSTRING
HIGHhyperextract/utils/template_engine/parsers/loader.py129Convert multilingual template config to single-language config. Args: config: Original multilingual config STRING
HIGHhyperextract/utils/exporters/jsonld.py44Export a graph to a JSON-LD file. Args: nodes: Node/entity models to export. edges: Edge models to STRING
HIGHhyperextract/utils/exporters/csv_export.py53Export nodes and edges to CSV files in ``folder_path``. Args: nodes: Node/entity models to export. STRING
HIGHhyperextract/utils/exporters/graphml.py57Export a graph to a GraphML file. Args: nodes: Node/entity models to export. edges: Edge models to STRING
HIGHhyperextract/utils/exporters/cypher.py59Export a graph to a Cypher MERGE script. Args: nodes: Node/entity models to export. edges: Edge modSTRING
HIGHhyperextract/cli/utils.py163Validate Knowledge Abstract path. Args: ka_path: Knowledge Abstract directory path Returns: PaSTRING
HIGHhyperextract/cli/utils.py188Validate Knowledge Abstract path with data.json. Args: ka_path: Knowledge Abstract directory path RetuSTRING
HIGHhyperextract/cli/utils.py212Validate Knowledge Abstract path with index. Args: ka_path: Knowledge Abstract directory path Returns:STRING
Unused Imports142 hits · 141 pts
SeverityFileLineSnippetContext
LOWtests/mocks.py3CODE
LOWtests/mocks.py5CODE
LOWtests/types/test_graph_extraction.py3CODE
LOWtests/types/test_graph_extraction.py5CODE
LOWtests/types/test_graph_extraction.py5CODE
LOWtests/types/test_model_basic.py5CODE
LOWtests/types/test_model_basic.py6CODE
LOWtests/types/test_model_basic.py6CODE
LOWtests/types/test_model_basic.py7CODE
LOWtests/types/test_set_operations.py3CODE
LOWtests/types/test_set_operations.py4CODE
LOWtests/types/test_set_dedup.py6CODE
LOWtests/types/test_set_dedup.py11CODE
LOWtests/types/test_hypergraph_search_scope.py5CODE
LOWtests/types/test_faiss_load.py3CODE
LOWtests/types/test_graph_dangling.py3CODE
LOWtests/types/test_graph_dangling.py5CODE
LOWtests/types/test_graph_dangling.py5CODE
LOWtests/types/test_list_slicing.py4CODE
LOWtests/types/test_graph_search.py3CODE
LOWtests/types/test_graph_search.py5CODE
LOWtests/types/test_graph_search.py5CODE
LOWtests/types/test_list_operations.py4CODE
LOWtests/types/test_list_operations.py8CODE
LOWtests/types/test_model_merge.py5CODE
LOWtests/types/test_extraction_logging.py6CODE
LOWtests/types/test_model_serialization.py10CODE
LOWtests/types/test_model_serialization.py10CODE
LOWtests/types/test_model_serialization.py11CODE
LOWtests/types/test_list_iteration.py6CODE
LOWtests/types/test_set_operators.py3CODE
LOWtests/types/test_set_operators.py4CODE
LOWtests/types/test_extraction_failures.py12CODE
LOWtests/methods/test_search_scope_forwarding.py8CODE
LOWtests/utils/test_client.py3CODE
LOWtests/utils/test_client.py5CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py27CODE
LOWhyperextract/__init__.py41CODE
LOWhyperextract/__init__.py41CODE
LOWhyperextract/__init__.py41CODE
LOWhyperextract/__init__.py41CODE
LOWhyperextract/__init__.py44CODE
LOWhyperextract/__init__.py44CODE
LOWhyperextract/__init__.py44CODE
LOWhyperextract/__init__.py47CODE
LOWhyperextract/mcp_server.py29CODE
LOWhyperextract/types/spatio_temporal_graph.py9CODE
LOWhyperextract/types/_faiss.py3CODE
LOWhyperextract/types/list.py3CODE
LOWhyperextract/types/temporal_graph.py9CODE
LOWhyperextract/types/spatial_graph.py8CODE
82 more matches not shown…
Excessive Try-Catch Wrapping119 hits · 136 pts
SeverityFileLineSnippetContext
LOWdocs/zh/tutorials/document-analysis/index.md184 except Exception as e:CODE
LOWdocs/zh/tutorials/knowledge-base/step2-ingest.md243except Exception as e:CODE
LOWdocs/zh/tutorials/knowledge-base/step2-ingest.md260 except Exception as e:CODE
LOWdocs/en/tutorials/document-analysis/index.md184 except Exception as e:CODE
LOWdocs/en/tutorials/knowledge-base/step2-ingest.md243except Exception as e:CODE
MEDIUMdocs/en/tutorials/knowledge-base/step2-ingest.md244 print(f"Error processing {doc}: {e}")CODE
LOWdocs/en/tutorials/knowledge-base/step2-ingest.md260 except Exception as e:CODE
LOWhyperextract/types/list.py307 except Exception as e:CODE
LOWhyperextract/types/graph.py128 except Exception as e:CODE
LOWhyperextract/types/graph.py140 except Exception as e:CODE
LOWhyperextract/types/graph.py1352 except Exception as e:CODE
LOWhyperextract/types/graph.py1360 except Exception as e:CODE
LOWhyperextract/types/graph.py1372 except Exception as e:CODE
LOWhyperextract/types/graph.py1380 except Exception as e:CODE
LOWhyperextract/types/model.py299 except Exception as e:CODE
LOWhyperextract/types/document.py199 except Exception as e:CODE
LOWhyperextract/types/document.py208 except Exception as e:CODE
LOWhyperextract/types/set.py331 except Exception as e:CODE
LOWhyperextract/types/set.py340 except Exception as e:CODE
LOWhyperextract/types/base.py378 except Exception as e:CODE
LOWhyperextract/types/base.py449 except Exception:CODE
LOWhyperextract/types/base.py684 except Exception as e:CODE
LOWhyperextract/types/base.py715 except Exception as e:CODE
LOWhyperextract/types/hypergraph.py761 except Exception as e:CODE
LOWhyperextract/types/hypergraph.py769 except Exception as e:CODE
LOWhyperextract/types/hypergraph.py781 except Exception as e:CODE
LOWhyperextract/types/hypergraph.py789 except Exception as e:CODE
LOWhyperextract/methods/typical/itext2kg_star.py292 except Exception as e:STRING
LOWhyperextract/methods/typical/kg_gen.py194 except Exception as e:STRING
LOWhyperextract/methods/typical/atom.py573 except Exception as e:STRING
LOW⚡hyperextract/methods/rag/graph_rag.py526 except Exception as e:CODE
LOWhyperextract/methods/rag/graph_rag.py469 except Exception as e:CODE
LOWhyperextract/methods/rag/cog_rag.py550 except Exception as e:CODE
MEDIUMhyperextract/methods/rag/cog_rag.py551 print(f"Error visualizing {layer_name}: {e}")CODE
LOWhyperextract/utils/readers.py114 except Exception as e: # pragma: no cover - broken installCODE
LOWhyperextract/utils/readers.py119 except Exception as e:CODE
LOWhyperextract/utils/obsidian.py149 except Exception as exc:CODE
LOWhyperextract/utils/obsidian.py209 except Exception as exc:CODE
LOWhyperextract/utils/obsidian.py245 except Exception as exc:CODE
LOWhyperextract/utils/template_engine/validator.py254 except Exception as exc:CODE
LOWhyperextract/utils/template_engine/gallery.py109 except Exception as e:CODE
LOWhyperextract/utils/template_engine/parsers/loader.py176 except Exception as e:CODE
LOWhyperextract/utils/exporters/jsonld.py149 except Exception as exc:CODE
LOWhyperextract/utils/exporters/common.py94 except Exception as exc:CODE
LOWhyperextract/utils/exporters/common.py113 except Exception as exc:CODE
LOWhyperextract/utils/exporters/common.py133 except Exception as exc:CODE
LOWhyperextract/utils/exporters/cypher.py203 except Exception as exc:CODE
LOWhyperextract/cli/cli.py479 except Exception as e:CODE
LOWhyperextract/cli/cli.py489 except Exception as e:CODE
LOWhyperextract/cli/cli.py549 except Exception as e:CODE
LOWhyperextract/cli/cli.py568 except Exception as e:CODE
LOWhyperextract/cli/cli.py592 except Exception as e:CODE
LOWhyperextract/cli/cli.py664 except Exception as e:CODE
LOWhyperextract/cli/cli.py723 except Exception as e:CODE
LOWhyperextract/cli/cli.py780 except Exception as e:CODE
LOWhyperextract/cli/cli.py838 except Exception as e:CODE
LOWhyperextract/cli/cli.py935 except Exception as e:CODE
LOWhyperextract/cli/cli.py1087 except Exception as e:CODE
LOWhyperextract/cli/cli.py1151 except Exception as e:CODE
LOWhyperextract/cli/cli.py1266 except Exception as e:CODE
59 more matches not shown…
Cross-File Repetition26 hits · 130 pts
SeverityFileLineSnippetContext
HIGHhyperextract/types/spatio_temporal_graph.py0you are a professional entity extraction specialist. your task is to extract all important entities (nodes) from the texSTRING
HIGHhyperextract/types/temporal_graph.py0you are a professional entity extraction specialist. your task is to extract all important entities (nodes) from the texSTRING
HIGHhyperextract/types/spatial_graph.py0you are a professional entity extraction specialist. your task is to extract all important entities (nodes) from the texSTRING
HIGHhyperextract/types/spatio_temporal_graph.py0you are a professional spatial knowledge graph extraction specialist. your task is to extract entities (nodes) and spatiSTRING
HIGHhyperextract/types/temporal_graph.py0you are a professional spatial knowledge graph extraction specialist. your task is to extract entities (nodes) and spatiSTRING
HIGHhyperextract/types/spatial_graph.py0you are a professional spatial knowledge graph extraction specialist. your task is to extract entities (nodes) and spatiSTRING
HIGHhyperextract/types/graph.py0return the recorded content hash of a source (none if unknown).STRING
HIGHhyperextract/types/document.py0return the recorded content hash of a source (none if unknown).STRING
HIGHhyperextract/types/set.py0return the recorded content hash of a source (none if unknown).STRING
HIGHhyperextract/types/graph.py0return the tags of one source (empty if unknown/untagged).STRING
HIGHhyperextract/types/document.py0return the tags of one source (empty if unknown/untagged).STRING
HIGHhyperextract/types/set.py0return the tags of one source (empty if unknown/untagged).STRING
HIGHhyperextract/methods/typical/itext2kg.py0atom implementation using autograph as the core engine. this module provides a specialized implementation of the atom alSTRING
HIGHhyperextract/methods/typical/itext2kg_star.py0atom implementation using autograph as the core engine. this module provides a specialized implementation of the atom alSTRING
HIGHhyperextract/methods/typical/atom.py0atom implementation using autograph as the core engine. this module provides a specialized implementation of the atom alSTRING
HIGHhyperextract/methods/rag/hyper_rag.py0represents an entity extracted from the source text.STRING
HIGHhyperextract/methods/rag/light_rag.py0represents an entity extracted from the source text.STRING
HIGHhyperextract/methods/rag/graph_rag.py0represents an entity extracted from the source text.STRING
HIGHhyperextract/methods/rag/cog_rag.py0represents an entity extracted from the source text.STRING
HIGHhyperextract/methods/rag/hyper_rag.py0you are an intelligent data merging assistant. you will receive a list of objects representing the same entity. your tasSTRING
HIGHhyperextract/methods/rag/light_rag.py0you are an intelligent data merging assistant. you will receive a list of objects representing the same entity. your tasSTRING
HIGHhyperextract/methods/rag/graph_rag.py0you are an intelligent data merging assistant. you will receive a list of objects representing the same entity. your tasSTRING
HIGHhyperextract/methods/rag/cog_rag.py0you are an intelligent data merging assistant. you will receive a list of objects representing the same entity. your tasSTRING
HIGHhyperextract/methods/rag/hyper_rag.py0initialize graph_rag engine. args: llm_client (basechatmodel): llm client for text generation. embedder (embeddings): emSTRING
HIGHhyperextract/methods/rag/light_rag.py0initialize graph_rag engine. args: llm_client (basechatmodel): llm client for text generation. embedder (embeddings): emSTRING
HIGHhyperextract/methods/rag/graph_rag.py0initialize graph_rag engine. args: llm_client (basechatmodel): llm client for text generation. embedder (embeddings): emSTRING
Structural Annotation Overuse75 hits · 120 pts
SeverityFileLineSnippetContext
LOWdocs/en/python/guides/working-with-autotypes.md53# Step 1: Define custom schemasCOMMENT
LOWdocs/en/python/guides/working-with-autotypes.md67# Step 2: Configure LLM clientsCOMMENT
LOWdocs/en/python/guides/working-with-autotypes.md73# Step 3: Create configured AutoGraphCOMMENT
LOW⚡docs/en/python/guides/working-with-autotypes.md87# Step 4: ExtractCOMMENT
LOW⚡docs/en/python/guides/working-with-autotypes.md96# Step 5: Access resultsSTRING
LOW⚡docs/en/python/guides/working-with-autotypes.md106# Step 6: Use built-in featuresSTRING
LOWdocs/en/cli/workflow.md13## Step 1: Prepare Your DocumentCOMMENT
LOWdocs/en/cli/workflow.md23## Step 2: Extract KnowledgeCOMMENT
LOWdocs/en/cli/workflow.md46## Step 3: Explore the KnowledgeCOMMENT
LOWdocs/en/cli/workflow.md83## Step 4: Search for InformationCOMMENT
LOWdocs/en/cli/workflow.md121## Step 5: Chat with Your KnowledgeCOMMENT
LOWdocs/en/cli/workflow.md162## Step 6: Expand Your Knowledge AbstractCOMMENT
LOWdocs/en/cli/workflow.md184## Step 7: Rebuild Index (If Needed)COMMENT
LOW⚡docs/en/cli/workflow.md216# Step 1: ParseCOMMENT
LOW⚡docs/en/cli/workflow.md221# Step 2: InfoCOMMENT
LOW⚡docs/en/cli/workflow.md226# Step 3: Search exampleCOMMENT
LOW⚡docs/en/cli/workflow.md231# Step 4: Open visualizationCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md14## Step 1: Configure API KeyCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md66## Step 2: Download Sample DocumentCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md101## Step 3: Extract KnowledgeCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md134## Step 4: Visualize the Knowledge GraphCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md148## Step 5: Search Your Knowledge AbstractCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md169## Step 6: Chat with Your KnowledgeCOMMENT
LOWdocs/en/getting-started/cli-quickstart.md185## Step 7: Incrementally Add KnowledgeCOMMENT
LOWdocs/en/getting-started/python-quickstart.md13## Step 1: Set Up Your ProjectCOMMENT
LOWdocs/en/getting-started/python-quickstart.md31## Step 2: Configure Your ModelCOMMENT
LOWdocs/en/getting-started/python-quickstart.md73## Step 3: Create Your First Extraction ScriptCOMMENT
LOWdocs/en/getting-started/python-quickstart.md134## Step 4: Run the ScriptSTRING
LOWdocs/en/getting-started/python-quickstart.md155## Step 5: Working with ResultsSTRING
LOWdocs/en/getting-started/python-quickstart.md179## Step 6: Save and LoadSTRING
LOWdocs/en/getting-started/python-quickstart.md194## Step 7: Incremental UpdatesSTRING
LOWdocs/en/templates/examples/research-paper.md33### Step 1: Extract KnowledgeCOMMENT
LOWdocs/en/templates/examples/research-paper.md77### Step 2: Explore ResultsCOMMENT
LOWdocs/en/templates/examples/research-paper.md113### Step 3: Build Searchable IndexCOMMENT
LOWdocs/en/templates/examples/research-paper.md125### Step 4: VisualizeCOMMENT
LOWdocs/en/templates/examples/research-paper.md139### Step 5: QueryCOMMENT
LOWdocs/en/templates/examples/financial-report.md62### Step 1: Extract Earnings DataCOMMENT
LOWdocs/en/templates/examples/financial-report.md113### Step 2: Extract Risk FactorsCOMMENT
LOWdocs/en/templates/examples/financial-report.md129### Step 3: Save and CompareCOMMENT
LOWdocs/en/templates/examples/legal-contract.md62### Step 1: Extract ObligationsCOMMENT
LOWdocs/en/templates/examples/legal-contract.md112### Step 2: Extract Defined TermsCOMMENT
LOWdocs/en/templates/examples/legal-contract.md137### Step 3: Build Contract Knowledge BaseCOMMENT
LOWdocs/en/tutorials/research-assistant/step3-chat.md1# Step 3: Q&A SystemCOMMENT
LOWdocs/en/tutorials/research-assistant/step2-search.md1# Step 2: Semantic SearchCOMMENT
LOWdocs/en/tutorials/research-assistant/step1-extract.md1# Step 1: Extract KnowledgeCOMMENT
LOWdocs/en/tutorials/knowledge-base/step2-ingest.md1# Step 2: IngestCOMMENT
LOWdocs/en/tutorials/knowledge-base/step1-setup.md1# Step 1: SetupCOMMENT
LOWdocs/en/tutorials/knowledge-base/step3-query.md1# Step 3: QueryCOMMENT
LOW⚡hyperextract/types/graph.py1315 # Step 4: Combine context or use fallbackCOMMENT
LOW⚡hyperextract/types/graph.py1321 # Step 5: Invoke LLM with structured contextCOMMENT
LOWhyperextract/types/graph.py1287 # Step 2: Retrieve and format nodes contextCOMMENT
LOWhyperextract/types/graph.py1301 # Step 3: Retrieve and format edges contextCOMMENT
LOWhyperextract/types/graph.py1332 # Step 6: Inject retrieved nodes and edges into response metadataCOMMENT
LOW⚡hyperextract/types/base.py604 # Step 1: Retrieve relevant items from knowledge abstractCOMMENT
LOW⚡hyperextract/types/base.py613 # Step 2: Format context from retrieved itemsCOMMENT
LOW⚡hyperextract/types/base.py646 # Step 4: Inject retrieved items into response metadataCOMMENT
LOW⚡hyperextract/types/base.py651 # Step 5: Return the AIMessage responseCOMMENT
LOWhyperextract/types/base.py634 # Step 3: Create QA prompt template and invoke LLMCOMMENT
LOW⚡hyperextract/types/hypergraph.py724 # Step 4: Combine context or use fallbackCOMMENT
LOW⚡hyperextract/types/hypergraph.py730 # Step 5: Invoke LLM with structured contextCOMMENT
15 more matches not shown…
Modern AI Meta-Vocabulary25 hits · 71 pts
SeverityFileLineSnippetContext
MEDIUMdocs/zh/python/core-concepts.md128#### 基于 RAG 的方法COMMENT
MEDIUMdocs/zh/python/api-reference/methods/rag.md1# 基于 RAG 的方法COMMENT
MEDIUMdocs/zh/python/guides/using-methods.md41### 基于 RAG 的方法COMMENT
MEDIUMdocs/zh/python/guides/using-methods.md144## RAG vs 典型方法比较COMMENT
MEDIUMdocs/zh/python/guides/using-methods.md219# - 最快的 RAG 方法COMMENT
MEDIUMdocs/zh/concepts/methods.md30### 基于 RAG 的方法COMMENT
MEDIUMdocs/zh/concepts/methods.md132## 基于 RAG 的方法COMMENT
MEDIUMdocs/zh/templates/examples/research-paper.md244# 选项 1:使用 RAG 方法COMMENT
MEDIUMdocs/en/python/core-concepts.md128#### RAG-Based MethodsCOMMENT
MEDIUMdocs/en/python/api-reference/methods/rag.md1# RAG-Based MethodsCOMMENT
MEDIUMdocs/en/python/guides/using-methods.md41### RAG-Based MethodsCOMMENT
MEDIUMdocs/en/python/guides/using-methods.md144## RAG vs Typical ComparisonCOMMENT
MEDIUMdocs/en/python/guides/using-methods.md219# - Fastest RAG methodCOMMENT
MEDIUMdocs/en/cli/commands/config.md182# Use a larger OpenAI embedding modelCOMMENT
MEDIUMdocs/en/concepts/methods.md30### RAG-Based MethodsCOMMENT
MEDIUMdocs/en/concepts/methods.md144## RAG-Based MethodsCOMMENT
MEDIUMdocs/en/templates/examples/research-paper.md244# Option 1: Use RAG methodCOMMENT
MEDIUMhyperextract/cli/README.md223# Use Light RAG methodCOMMENT
MEDIUMhyperextract/cli/README.md226# Use Hyper RAG methodCOMMENT
MEDIUMhyperextract/cli/README_ZH.md223# 使用 Light RAG 方法COMMENT
MEDIUMhyperextract/cli/README_ZH.md226# 使用 Hyper RAG 方法COMMENT
MEDIUMexamples/README.md72│ ├── methods/ # RAG method demosCODE
MEDIUMexamples/README.md105 ├── methods/ # RAG method demosCODE
MEDIUMexamples/README_ZH.md73│ ├── methods/ # RAG 方法演示CODE
MEDIUMexamples/README_ZH.md106 ├── methods/ # RAG 方法演示CODE
Modern Structural Boilerplate38 hits · 38 pts
SeverityFileLineSnippetContext
LOWhyperextract/__init__.py53__all__ = [CODE
LOWhyperextract/types/_faiss.py8logger = logging.getLogger(__name__)CODE
LOWhyperextract/types/list.py189 def _set_data_state(self, data: AutoListSchema) -> None:CODE
LOWhyperextract/types/list.py197 def _update_data_state(self, incoming_data: AutoListSchema) -> None:CODE
LOWhyperextract/types/graph.py940 def _set_data_state(self, data: AutoGraphSchema[NodeSchema, EdgeSchema]) -> None:CODE
LOWhyperextract/types/__init__.py69__all__ = [CODE
LOWhyperextract/types/model.py192 def _set_data_state(self, data: T) -> None:CODE
LOWhyperextract/types/model.py200 def _update_data_state(self, incoming_data: T) -> None:CODE
LOWhyperextract/types/document.py144 def _set_data_state(self, data: DocumentData) -> None:CODE
LOWhyperextract/types/document.py150 def _update_data_state(self, incoming_data: DocumentData) -> None:CODE
LOWhyperextract/types/set.py284 def _set_data_state(self, data: AutoSetSchema[ItemSchema]) -> None:CODE
LOWhyperextract/types/set.py294 def _update_data_state(self, incoming_data: AutoSetSchema[ItemSchema]) -> None:CODE
LOWhyperextract/types/base.py223 def _set_data_state(self, data: T) -> None:CODE
LOWhyperextract/types/base.py238 def _update_data_state(self, incoming_data: T) -> None:CODE
LOWhyperextract/types/hypergraph.py396 def _set_data_state(self, data: AutoHypergraphSchema) -> None:CODE
LOWhyperextract/types/hypergraph.py408 def _update_data_state(self, incoming_data: AutoHypergraphSchema) -> None:CODE
LOWhyperextract/methods/__init__.py19__all__ = [CODE
LOWhyperextract/methods/typical/__init__.py12__all__ = [CODE
LOWhyperextract/methods/rag/__init__.py14__all__ = [CODE
LOWhyperextract/utils/logging.py84def set_log_level(level: str) -> None:CODE
LOWhyperextract/utils/logging.py94__all__ = ["configure_logging", "get_logger", "set_log_level"]CODE
LOWhyperextract/utils/client.py22logger = logging.getLogger(__name__)CODE
LOWhyperextract/utils/__init__.py7__all__ = [CODE
LOWhyperextract/utils/template_engine/validator.py924__all__ = [CODE
LOWhyperextract/utils/template_engine/__init__.py31__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/options.py186__all__ = [CODE
LOW…erextract/utils/template_engine/parsers/identifiers.py212__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/__init__.py14__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/display.py36__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/loader.py184__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/guideline.py102__all__ = [CODE
LOWhyperextract/utils/template_engine/parsers/output.py91__all__ = [CODE
LOW…ract/utils/template_engine/parsers/schemas/__init__.py21__all__ = [CODE
LOWhyperextract/utils/exporters/__init__.py26__all__ = [CODE
LOWhyperextract/cli/config.py16logger = logging.getLogger(__name__)CODE
LOWhyperextract/cli/__init__.py10__all__ = ["app"]CODE
LOWhyperextract/cli/commands/__init__.py7__all__ = ["config_app", "list_app", "template_app"]CODE
LOWhyperextract/templates/__init__.py19__all__ = []CODE
Empty Error Handlers6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHhyperextract/types/set.py674except (KeyError, Exception):CODE
HIGHhyperextract/types/base.py787except ValueError:CODE
HIGHhyperextract/utils/readers.py82except UnicodeDecodeError:CODE
HIGHhyperextract/utils/readers.py95except ImportError:CODE
HIGHhyperextract/utils/template_engine/validator.py857except ValueError:CODE
HIGHhyperextract/cli/config.py45except OSError:CODE
Verbosity Indicators15 hits · 28 pts
SeverityFileLineSnippetContext
LOW⚡hyperextract/types/graph.py1315 # Step 4: Combine context or use fallbackCOMMENT
LOW⚡hyperextract/types/graph.py1321 # Step 5: Invoke LLM with structured contextCOMMENT
LOWhyperextract/types/graph.py1287 # Step 2: Retrieve and format nodes contextCOMMENT
LOWhyperextract/types/graph.py1301 # Step 3: Retrieve and format edges contextCOMMENT
LOWhyperextract/types/graph.py1332 # Step 6: Inject retrieved nodes and edges into response metadataCOMMENT
LOW⚡hyperextract/types/base.py604 # Step 1: Retrieve relevant items from knowledge abstractCOMMENT
LOW⚡hyperextract/types/base.py613 # Step 2: Format context from retrieved itemsCOMMENT
LOW⚡hyperextract/types/base.py646 # Step 4: Inject retrieved items into response metadataCOMMENT
LOW⚡hyperextract/types/base.py651 # Step 5: Return the AIMessage responseCOMMENT
LOWhyperextract/types/base.py634 # Step 3: Create QA prompt template and invoke LLMCOMMENT
LOW⚡hyperextract/types/hypergraph.py724 # Step 4: Combine context or use fallbackCOMMENT
LOW⚡hyperextract/types/hypergraph.py730 # Step 5: Invoke LLM with structured contextCOMMENT
LOWhyperextract/types/hypergraph.py696 # Step 2: Retrieve and format nodes contextCOMMENT
LOWhyperextract/types/hypergraph.py710 # Step 3: Retrieve and format edges contextCOMMENT
LOWhyperextract/types/hypergraph.py741 # Step 6: Inject retrieved nodes and edges into response metadataCOMMENT
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMhyperextract/types/graph.py793 # Initialize OMem instances (Before super().__init__)COMMENT
MEDIUMhyperextract/types/set.py181 # Initialize OMem instance BEFORE calling super().__init__ so _init_internal_state can use itCOMMENT
MEDIUMhyperextract/types/base.py868 # Create a new instance with the same configurationCOMMENT
MEDIUMhyperextract/types/hypergraph.py282 # Initialize OMem instancesCOMMENT
MEDIUMhyperextract/methods/rag/graph_rag.py419 # Create a subgraph without isolated nodes for Leiden to avoid warningsCOMMENT
MEDIUMhyperextract/cli/config.py211 # Create the parent of the actual target path, not the default dir —COMMENT
Over-Commented Block12 hits · 12 pts
SeverityFileLineSnippetContext
LOWexamples/zh/templates/finance_template.py21# // test for 重大事件时间线COMMENT
LOWexamples/zh/templates/general_template.py21# // test for 基础知识图谱COMMENT
LOWexamples/zh/templates/medicine_template.py21# // test for 解剖结构图COMMENT
LOWexamples/zh/templates/tcm_template.py21# // test for 方剂组成图COMMENT
LOWexamples/zh/templates/industry_template.py21# // test for 设备拓扑图COMMENT
LOWexamples/zh/templates/legal_template.py21# // test for 案例引用图COMMENT
LOWexamples/en/templates/finance_template.py21# // test for Event TimelineCOMMENT
LOWexamples/en/templates/general_template.py21# // test for Base Knowledge GraphCOMMENT
LOWexamples/en/templates/medicine_template.py21# // test for Anatomy Structure GraphCOMMENT
LOWexamples/en/templates/tcm_template.py21# // test for Formula Composition GraphCOMMENT
LOWexamples/en/templates/industry_template.py21# // test for Equipment TopologyCOMMENT
LOWexamples/en/templates/legal_template.py21# // test for Case Citation GraphCOMMENT
Deep Nesting14 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/mocks.py96CODE
LOWtests/docs/test_no_conflict_markers.py9CODE
LOWhyperextract/types/base.py432CODE
LOWhyperextract/types/base.py579CODE
LOWhyperextract/methods/rag/graph_rag.py370CODE
LOWhyperextract/utils/template_engine/gallery.py54CODE
LOW…erextract/utils/template_engine/parsers/identifiers.py92CODE
LOWhyperextract/cli/cli.py194CODE
LOWhyperextract/cli/cli.py855CODE
LOWhyperextract/cli/cli.py1024CODE
LOWhyperextract/cli/cli.py1211CODE
LOWhyperextract/cli/cli.py1382CODE
LOWhyperextract/cli/cli.py1611CODE
LOWhyperextract/cli/utils.py235CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALtests/integration/test_provenance_real.py158 d.metadata["key"] for d in g._node_memory._index.docstore._dict.values()CODE
AI Structural Patterns10 hits · 8 pts
SeverityFileLineSnippetContext
LOWhyperextract/types/spatio_temporal_graph.py146CODE
LOWhyperextract/types/list.py70CODE
LOWhyperextract/types/temporal_graph.py146CODE
LOWhyperextract/types/graph.py671CODE
LOWhyperextract/types/spatial_graph.py131CODE
LOWhyperextract/types/model.py55CODE
LOWhyperextract/types/set.py100CODE
LOWhyperextract/types/hypergraph.py153CODE
LOWhyperextract/cli/cli.py254CODE
LOWhyperextract/cli/cli.py1611CODE
Redundant / Tautological Comments5 hits · 6 pts
SeverityFileLineSnippetContext
LOWhyperextract/types/graph.py1221 # Check if both endpoints existCOMMENT
LOWhyperextract/types/model.py168 # Check if the value is not considered emptyCOMMENT
LOWhyperextract/types/model.py255 # Check if there's data to indexCOMMENT
LOWhyperextract/types/model.py283 # Check if there's data to searchCOMMENT
LOWhyperextract/methods/typical/atom.py523 # Set t_obs to extraction timestampSTRING
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWhyperextract/methods/typical/atom.py260**Input**: "John Doe's marriage is happening on 26-02-2026."CODE
LOWhyperextract/methods/typical/atom.py262- (John Doe, has_status, Married, t_start=["2026-02-26"], t_end=[], atomic_facts=["John Doe's marriage is happening on 2CODE