AI Slop Code RIsk Monitor

dgunning/edgartools

Read and analyze SEC EDGAR filings in Python. 10-K, 8-K, XBRL financials, Form 3/4/5, 13F, ADV — clean API, well-typed, MIT-licensed.

17.8 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for dgunning/edgartools, a Python project with 2,783 GitHub stars. SynthScan examined 1,134,858 lines of code across 2147 source files, recording 13629 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 17.8 (Elevated pattern signal); it is not an authorship estimate.

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

17.8
Adjusted Signal
17.8
Raw Pattern Score
100%
Time Factor
2026-10-11
Last Push
2.8K
Stars
Python
Language
1.1M
Lines of Code
2.1K
Files
13.6K
Pattern Hits
2026-10-12
Scan Date
0.21
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 37.1/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 5.9/100 · LOW

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

Agent Over-Engineering Ratio 49.8/100 · MEDIUM

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

PR Review Velocity Impact 58.1/100 · HIGH

Which changes need focused human review? 13629 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 0HIGH 443MEDIUM 1942LOW 11244

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 13629 distinct pattern matches across 24 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 Identifiers7061 hits · 7280 pts
SeverityFileLineSnippetContext
LOW⚡tools/visual_inspector.py539def compare_statements_visually(accession1, accession2, statement_type="cashflow",CODE
LOWtools/investigation_toolkit.py225 def _analyze_cashflow_statement(self, statements) -> Dict[str, Any]:CODE
LOWtools/investigation_toolkit.py287 def _analyze_income_statement(self, statements) -> Dict[str, Any]:CODE
LOWtools/investigation_toolkit.py497 def _generate_markdown_report(self) -> str:CODE
LOWtools/quick_investigate.py33def investigate_empty_periods(issue_number: int, **kwargs):CODE
LOWtools/quick_investigate.py169def investigate_custom_pattern(issue_number: int, **kwargs):CODE
LOWtools/create_reproduction.py67def create_reproduction_script(CODE
LOWtools/templates/xbrl_parsing_reproduction.py25def reproduce_xbrl_parsing_issue():CODE
LOWtools/templates/xbrl_parsing_reproduction.py207def compare_with_working_filing():CODE
LOWtools/templates/empty_periods_reproduction.py24def reproduce_empty_periods_issue():CODE
LOWtools/templates/empty_periods_reproduction.py134def compare_with_working_filing():CODE
LOWtools/templates/entity_facts_reproduction.py26def reproduce_entity_facts_issue():CODE
LOWtools/templates/entity_facts_reproduction.py222def test_specific_financial_concepts():CODE
LOWtests/conftest.py80def reset_local_storage_state():CODE
LOWtests/conftest.py132def _require_vcr_plugin_if_cassettes_are_used(config, items):CODE
LOWtests/conftest.py184def cache_sec_submissions_for_session():CODE
LOWtests/conftest.py250def pytest_collection_modifyitems(config, items):CODE
LOWtests/_offline_harness.py84def _is_saved_socketpair_caller():CODE
LOWtests/test_tables.py118def test_table_with_empty_cells():STRING
LOWtests/test_tables.py274def test_correct_parsing_of_table_headers():STRING
LOWtests/test_tables.py281def test_correct_parsing_of_table_headers_operations():STRING
LOW⚡tests/test_htmltools.py62def test_html_sections_includes_all_tables():CODE
LOW⚡tests/test_htmltools.py72def test_html_sections_from_html_with_table_with_no_tbody():CODE
LOW⚡tests/test_htmltools.py80def test_that_items_are_ordered_in_chunked_document_for_filing():CODE
LOWtests/test_htmltools.py124def test_filing_with_pdf_primary_document():CODE
LOWtests/test_htmltools.py135def test_html_text_works_with_no_failures():CODE
LOWtests/_vcr_safety.py42def install_safe_yaml_deserializer() -> bool:CODE
LOWtests/test_html_headings.py16def test_heading_style_inheritance():CODE
LOWtests/test_html_styles.py69def test_mda_heading_detection():CODE
LOWtests/test_html_styles.py82def test_parse_malformed_style_string():CODE
LOWtests/test_html_tables.py86def test_processed_table_caching():CODE
LOWtests/test_html_tables.py119def test_processed_table_headers():CODE
LOWtests/test_markdown_page_breaks.py9 def test_explicit_page_breaks_with_content(self):CODE
LOWtests/test_markdown_page_breaks.py44 def test_page_div_breaks_with_content(self):STRING
LOWtests/test_markdown_page_breaks.py97 def test_unilever_like_structure(self):STRING
LOWtests/test_markdown_page_breaks.py197 def test_page_break_detection_with_page_divs(self):STRING
LOWtests/test_markdown_page_breaks.py290 def test_brpf_page_break_detection(self):STRING
LOWtests/test_html.py15def test_parse_html_with_table():CODE
LOWtests/test_html.py24def test_parse_html_with_table_inside_div():CODE
LOWtests/test_html.py36def test_handle_spans_inside_divs():CODE
LOWtests/test_html.py393def test_get_text_from_filing_with_no_body_tag():CODE
LOWtests/test_html.py404def test_parse_document_within_just_paragraph_tags():CODE
LOWtests/test_html.py420def test_parse_and_identify_headings():CODE
LOWtests/test_html.py431def test_html_from_old_filings_is_none():CODE
LOWtests/test_html.py438def test_get_html_problem_filing():CODE
LOWtests/test_html.py449def test_parse_html_document_with_pre():CODE
LOW⚡tests/test_html.py304def test_read_html_document_wih_financials():STRING
LOW⚡tests/test_html.py311def test_render_paragraph_block_with_line_breaks():STRING
LOW⚡tests/test_html.py320def test_document_parses_table_inside_ix_elements():STRING
LOWtests/test_html.py53def test_multiple_spans_in_div():STRING
LOWtests/test_html.py181def test_parse_correct_setting_of_widths():STRING
LOWtests/test_html.py193def test_parse_table_from_nextpoint_filing():STRING
LOWtests/test_html.py200def test_order_of_table_in_document():STRING
LOWtests/test_html.py234def test_parse_financial_table_with_two_header_rows():STRING
LOWtests/test_html.py275def test_financial_table_header_displays_line_breaks():STRING
LOWtests/test_html.py291def test_table_processor_process_table():STRING
LOWtests/test_html.py334def test_document_markdown_headings_parsed_correctly():STRING
LOWtests/test_html.py343def test_document_parsed_from_plain_text_returns_plain_text():STRING
LOWtests/test_html.py357def test_document_from_filing_with_plain_text_filing_document():STRING
LOWtests/test_internal_deprecation_silence.py61def test_user_instantiation_of_html_document_warns():CODE
7001 more matches not shown…
Decorative Section Separators1568 hits · 5516 pts
SeverityFileLineSnippetContext
MEDIUMmkdocs.yml52 # ==========================================COMMENT
MEDIUMmkdocs.yml54 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml66 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml68 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml78 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml80 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml90 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml92 # ==========================================COMMENT
MEDIUMmkdocs.yml118 # ==========================================COMMENT
MEDIUMmkdocs.yml120 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml139 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml141 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml150 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml152 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml155 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml157 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml158 # ==========================================COMMENT
MEDIUM⚡mkdocs.yml160 # ==========================================COMMENT
MEDIUMtests/offerings/test_registration_s4.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s4.py20# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py34# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py36# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py78# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py80# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py130# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s4.py132# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s4.py195# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s4.py197# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py62# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py64# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py103# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py105# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py114# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_registration_s1.py116# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s1.py13# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s1.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s1.py317# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_registration_s1.py319# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py13# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py15# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py84# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py86# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/test_drs.py105# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py29# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py31# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py41# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py43# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py99# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py101# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py161# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py163# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py194# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py196# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py239# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tests/offerings/test_offering_consumers.py241# ---------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/eval/run_eval.py42# --------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/eval/run_eval.py46# --------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/eval/run_eval.py69# --------------------------------------------------------------------------COMMENT
MEDIUMtests/offerings/eval/run_eval.py73# --------------------------------------------------------------------------COMMENT
1508 more matches not shown…
Empty Error Handlers266 hits · 1330 pts
SeverityFileLineSnippetContext
HIGHtools/investigation_toolkit.py597except:CODE
HIGHtools/investigation_toolkit.py78except:CODE
HIGHtools/quick_debug.py101except:CODE
HIGHtests/conftest.py59except Exception:CODE
HIGHtests/conftest.py72except Exception:CODE
HIGHtests/core/test_feat005_statement_types.py312except ValidationError:CODE
HIGHtests/core/test_feat004_enhanced_validation.py235except ValidationError:CODE
HIGHtests/core/test_feat004_enhanced_validation.py244except ValidationError:CODE
HIGHtests/core/test_feat004_enhanced_validation.py278except (ValueError, ValidationError):CODE
HIGHtests/entity/test_unit_handling.py449except Exception as e:CODE
HIGHtests/entity/test_entity_core.py279except (ValueError, NoCompanyFactsFound):CODE
HIGHtests/storage/test_filesystem.py272except (ValueError, ImportError):CODE
HIGHtests/xbrl/test_xbrl_statements.py570except Exception:CODE
HIGHtests/xbrl/test_xbrl_statements.py495except Exception:CODE
HIGHtests/xbrl/test_xbrl_statements.py540except Exception:CODE
HIGHtests/xbrl/test_xbrl_unit_pointintime.py480except Exception:CODE
HIGHtests/abs/test_ten_d.py80except Exception:CODE
HIGHtests/evaluation/_test_toc_evaluation.py179except Exception:CODE
HIGH…ts/issues/regression/test_to_context_hint_integrity.py130except (ValueError, TypeError):CODE
HIGH…issues/regression/test_chunked_document_deprecation.py109except Exception:CODE
HIGH…/regression/test_edgartools_3h3q_member_on_two_axes.py108except Exception: # noqa: S110 - render failures are not this test's subjectCODE
HIGH…/issues/regression/test_issue_iirl_cash_flow_naming.py141except Exception:CODE
HIGH…/issues/regression/test_issue_iirl_cash_flow_naming.py118except Exception:CODE
HIGHdocs/examples/feat004_demo_enhanced_validation.py216except ValidationError:CODE
HIGHscripts/images.py233except Exception:CODE
HIGHscripts/diagnose_ssl.py132except Exception:CODE
HIGHscripts/diagnose_ssl.py140except Exception:CODE
HIGHscripts/diagnose_ssl.py232except Exception:CODE
HIGHedgar/httpclient.py16except (locale.Error, ValueError):CODE
HIGHedgar/httpclient.py421except ImportError:CODE
HIGHedgar/httpclient.py480except (PermissionError, OSError):CODE
HIGHedgar/earnings.py412except (OSError, json.JSONDecodeError):CODE
HIGHedgar/earnings.py1902except (ValueError, TypeError):CODE
HIGHedgar/earnings.py731except (ValueError, TypeError):CODE
HIGHedgar/financials.py1091except Exception:CODE
HIGHedgar/filesystem.py869except FileNotFoundError:CODE
HIGHedgar/current_filings.py312except ValueError:CODE
HIGHedgar/__init__.py140except Exception:CODE
HIGHedgar/httprequests.py275except ImportError:CODE
HIGHedgar/httprequests.py746except ValueError:CODE
HIGHedgar/httprequests.py757except (ValueError, TypeError):CODE
HIGHedgar/httprequests.py260except (AttributeError, TypeError):CODE
HIGHedgar/markdown.py943except ValueError:CODE
HIGHedgar/_filings.py998except Exception:CODE
HIGHedgar/_filings.py2491except Exception:CODE
HIGHedgar/_filings.py1019except Exception:CODE
HIGHedgar/_filings.py2519except Exception:CODE
HIGHedgar/offerings/prospectus/registration_s1.py408except Exception:CODE
HIGHedgar/offerings/prospectus/_424b_classifier.py351except Exception:CODE
HIGHedgar/offerings/prospectus/drs.py166except Exception:CODE
HIGHedgar/offerings/crowdfunding/campaign.py381except Exception:CODE
HIGHedgar/beneficial_ownership/amendments.py300except Exception:CODE
HIGHedgar/beneficial_ownership/schedule13.py203except Exception:CODE
HIGHedgar/proxy/contest.py126except Exception:CODE
HIGHedgar/proxy/contest.py67except Exception:CODE
HIGHedgar/proxy/contest.py101except Exception:CODE
HIGHedgar/proxy/core.py929except Exception:CODE
HIGHedgar/proxy/core.py945except Exception:CODE
HIGHedgar/proxy/core.py960except Exception:CODE
HIGHedgar/proxy/core.py972except Exception:CODE
206 more matches not shown…
Unused Imports1503 hits · 1302 pts
SeverityFileLineSnippetContext
LOWtools/visual_inspector.py25CODE
LOWtests/_offline_harness.py47CODE
LOWtests/test_tables.py9CODE
LOWtests/test_htmltools.py9CODE
LOWtests/_vcr_safety.py24CODE
LOWtests/_vcr_safety.py62CODE
LOWtests/test_html_headings.py1CODE
LOWtests/test_html_tables.py1CODE
LOWtests/test_html_tables.py2CODE
LOWtests/test_html.py2CODE
LOWtests/_offline_filings.py31CODE
LOWtests/test_filing_html.py1CODE
LOWtests/test_filing_html.py2CODE
LOWtests/test_filing_html.py5CODE
LOWtests/_vcr_compat.py26CODE
LOWtests/_vcr_compat.py74CODE
LOWtests/test_documents.py11CODE
LOWtests/research/check_instance_value_consistency.py13CODE
LOWtests/research/check_instance_value_consistency.py15CODE
LOWtests/offerings/test_424b_xbrl.py13CODE
LOWtests/offerings/test_formc_offerings.py6CODE
LOWtests/offerings/test_offering_consumers.py8CODE
LOWtests/offerings/test_offering_consumers.py12CODE
LOWtests/offerings/test_registration_s3.py3CODE
LOWtests/offerings/eval/run_eval.py30CODE
LOWtests/offerings/eval/tier_c_judge.py40CODE
LOWtests/offerings/eval/build_corpus.py16CODE
LOWtests/core/test_filing_staleness_warnings.py10CODE
LOWtests/core/test_filer_category.py4CODE
LOWtests/core/test_richtools.py2CODE
LOWtests/core/test_form144.py3CODE
LOWtests/core/test_earnings.py10CODE
LOWtests/core/test_httprequests.py18CODE
LOWtests/core/test_read_filing_indexes.py1CODE
LOWtests/core/test_read_filing_indexes.py3CODE
LOWtests/core/test_paths.py4CODE
LOWtests/core/test_multi_entity_filings.py4CODE
LOWtests/core/test_attachments.py4CODE
LOWtests/core/test_attachments.py5CODE
LOWtests/core/test_attachments.py9CODE
LOWtests/core/test_filing_reports.py1CODE
LOWtests/core/test_has_html_content_bug.py1CODE
LOWtests/core/test_paper_filings.py1CODE
LOWtests/core/test_headers.py5CODE
LOWtests/core/test_headers.py6CODE
LOWtests/proxy/test_proxy_sections.py11CODE
LOWtests/proxy/test_proxy.py18CODE
LOWtests/company_reports/test_eightk_improvements.py10CODE
LOWtests/company_reports/test_company_report_reports.py5CODE
LOWtests/company_reports/test_auditor.py6CODE
LOWtests/company_reports/test_notes.py12CODE
LOWtests/company_reports/test_notes.py13CODE
LOWtests/entity/test_unit_handling.py9CODE
LOWtests/entity/test_unit_handling.py19CODE
LOWtests/entity/test_company.py2CODE
LOWtests/entity/test_company.py5CODE
LOWtests/entity/test_company.py12CODE
LOWtests/entity/test_company.py14CODE
LOWtests/entity/test_entity.py3CODE
LOWtests/entity/test_unit_compatibility_modes.py10CODE
1443 more matches not shown…
Excessive Try-Catch Wrapping901 hits · 930 pts
SeverityFileLineSnippetContext
LOW⚡tools/visual_inspector.py441 except Exception as e:CODE
LOW⚡tools/visual_inspector.py446 except Exception as e:CODE
LOW⚡tools/visual_inspector.py451 except Exception as e:CODE
LOW⚡tools/visual_inspector.py530 except Exception as e:CODE
LOW⚡tools/visual_inspector.py535 except Exception as e:CODE
LOWtools/visual_inspector.py83 except Exception as e:CODE
LOWtools/visual_inspector.py135 except Exception as e:CODE
LOWtools/visual_inspector.py353 except Exception as e:CODE
LOWtools/visual_inspector.py380 except Exception as e:CODE
LOWtools/visual_inspector.py501 except Exception as e:CODE
LOWtools/visual_inspector.py504 except Exception as e:CODE
LOWtools/visual_inspector.py565 except Exception as e:CODE
LOW⚡tools/investigation_toolkit.py380 except Exception as e:CODE
LOW⚡tools/investigation_toolkit.py384 except Exception as e:CODE
LOWtools/investigation_toolkit.py179 except Exception as e:CODE
LOWtools/investigation_toolkit.py219 except Exception as e:CODE
LOWtools/investigation_toolkit.py282 except Exception as e:CODE
LOWtools/investigation_toolkit.py308 except Exception as e:CODE
LOWtools/investigation_toolkit.py328 except Exception as e:CODE
LOWtools/investigation_toolkit.py362 except Exception as e:CODE
LOWtools/investigation_toolkit.py678 except Exception as e:CODE
LOWtools/investigation_toolkit.py712 except Exception as e:CODE
LOWtools/investigation_toolkit.py719 except Exception as e:CODE
LOWtools/investigation_toolkit.py760 except Exception as e:CODE
LOWtools/investigation_toolkit.py767 except Exception as e:CODE
LOWtools/investigation_toolkit.py928 except Exception as e:CODE
LOWtools/quick_debug.py150 except Exception as e:STRING
LOWtools/quick_debug.py198 except Exception as e:CODE
LOWtools/quick_investigate.py267 except Exception as e:CODE
LOWtools/create_reproduction.py188 except Exception as e:CODE
LOWtools/create_reproduction.py265 except Exception as e:CODE
MEDIUMtools/templates/xbrl_parsing_reproduction.py247 print(f"Error: {result.get('error', 'Unknown')}")CODE
LOWtools/templates/xbrl_parsing_reproduction.py92 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py95 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py107 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py120 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py171 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py204 except Exception as e:CODE
LOWtools/templates/xbrl_parsing_reproduction.py232 except Exception as e:CODE
LOWtools/templates/empty_periods_reproduction.py107 except Exception as e:CODE
MEDIUMtools/templates/entity_facts_reproduction.py262 print(f"Error: {result.get('error', 'Unknown')}")CODE
LOW⚡tools/templates/entity_facts_reproduction.py103 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py121 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py128 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py141 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py188 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py219 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py244 except Exception as e:CODE
LOWtools/templates/entity_facts_reproduction.py247 except Exception as e:CODE
LOWtests/conftest.py59 except Exception:CODE
LOWtests/conftest.py72 except Exception:CODE
LOWtests/_offline_harness.py147 except Exception as exc:CODE
LOWtests/research/check_instance_value_consistency.py87 except Exception as e:CODE
LOWtests/research/check_instance_value_consistency.py268 except Exception as e:CODE
LOWtests/offerings/eval/run_eval.py228 except Exception as ex: # noqa: BLE001 — the harness must survive any filingCODE
LOWtests/offerings/eval/tier_c_judge.py292 except Exception as ex: # noqa: BLE001 — evidence is best-effortCODE
LOW⚡tests/core/test_markdown_characterization.py354 except Exception as exc: # noqa: BLE001 -- the exception IS the behaviourCODE
LOWtests/core/test_feat005_statement_types.py348 except Exception as e:CODE
LOWtests/core/test_feat004_enhanced_validation.py362 except Exception as e:CODE
LOWtests/core/test_has_html_content_bug.py137 except Exception as e:CODE
841 more matches not shown…
Self-Referential Comments186 hits · 580 pts
SeverityFileLineSnippetContext
MEDIUMtools/create_reproduction.py55 # Create the directory structureCOMMENT
MEDIUMtools/create_reproduction.py166 # Create the scriptCOMMENT
MEDIUMtests/test_page_breaks.py255 # Create a mock filing with HTML contentCOMMENT
MEDIUMtests/test_page_breaks.py292 # Create a mock attachment with HTML contentCOMMENT
MEDIUMtests/beneficial_ownership/test_beneficial_ownership.py654 # Create a mock Schedule13D with reporting persons where some have excluded sharesCOMMENT
MEDIUMtests/core/test_richtools.py11 # Create a test tableCOMMENT
MEDIUM⚡tests/core/test_httprequests.py536 # Create a truncated gzip file that will cause EOFErrorCOMMENT
MEDIUMtests/core/test_httprequests.py938 # Create a mock client to verify it gets closedCOMMENT
MEDIUMtests/proxy/test_proxy.py296 # Create a mock amendment filing (if available)COMMENT
MEDIUMtests/entity/test_entityfacts_stability.py193 # Create an income statement factCOMMENT
MEDIUM⚡tests/entity/test_periodtype_implementation.py253 # Create a company instance (won't fetch data in this test)COMMENT
MEDIUMtests/entity/test_entity_facts.py1384 # Create a mock statement with abstract headerCOMMENT
MEDIUMtests/entity/test_bug_408_annual_periods.py95 # Create a simple Fact-like object for testingCOMMENT
MEDIUMtests/standardization/test_synonym_groups.py359 # Create a JSON fileCOMMENT
MEDIUMtests/storage/test_thirteenf.py281 # Create a mock filing for Berkshire Hathaway (known company)COMMENT
MEDIUMtests/storage/test_thirteenf.py436 # Create a mock signature with test titleCOMMENT
MEDIUMtests/storage/test_storage_management.py238 # Create a temporary _pcache directory with a test fileCOMMENT
MEDIUMtests/storage/test_storage_management.py293 # Create a test fileCOMMENT
MEDIUMtests/storage/test_storage_management.py346 # Create an uncompressed test fileCOMMENT
MEDIUMtests/storage/test_filesystem.py110 # Create a gzip file directlyCOMMENT
MEDIUM⚡tests/storage/test_datamule_adapter.py575 # Create a Filing that matches the real tarCOMMENT
MEDIUMtests/xbrl/test_xbrl_facts.py129 # Create a mock FactsViewCOMMENT
MEDIUM⚡tests/xbrl/test_xbrl_facts.py151 # Create a query using by_label to search for original labelCOMMENT
MEDIUM⚡tests/xbrl/test_xbrl_facts.py160 # Create a query using by_label to search for standardized labelCOMMENT
MEDIUM⚡tests/xbrl/test_xbrl_facts.py169 # Create a query using by_label with regex pattern matchingCOMMENT
MEDIUMtests/xbrl/test_xbrl_facts.py417 # Create a mock FactsView for testingCOMMENT
MEDIUMtests/xbrl/test_xbrl_statement_error_handling.py11 # Create a mock XBRL object that will raise an exceptionCOMMENT
MEDIUMtests/xbrl/test_xbrl_statement_error_handling.py44 # Create a mock XBRL object that will raise an exceptionCOMMENT
MEDIUMtests/xbrl/test_xbrl_statement_error_handling.py77 # Create a mock XBRL object with missing attributesCOMMENT
MEDIUMtests/xbrl/test_xbrl_statement_error_handling.py109 # Create a mock XBRL object that succeedsCOMMENT
MEDIUM⚡tests/xbrl/test_xbrl_rendering.py91 # Create a quarterly period (90 days)COMMENT
MEDIUM⚡tests/xbrl/test_xbrl_statements.py395 # Create a statement with a canonical typeCOMMENT
MEDIUMtests/xbrl/test_xbrl_statement_resolver.py80 # Create a custom concept pattern entryCOMMENT
MEDIUM⚡tests/xbrl/test_xbrl_statement_resolver.py137 # Create a fake statement with a custom namespace to test pattern matchingCOMMENT
MEDIUMtests/xbrl/test_xbrl_stitching.py347 # Create a stitcherCOMMENT
MEDIUMtests/xbrl/test_xbrl_stitching.py421 # Create a stitcherCOMMENT
MEDIUMtests/ai/test_ai_text_methods.py169 # Create a long stringCOMMENT
MEDIUM⚡tests/ai/test_constitution_diagnostics.py673 # Create a minimal report with one failureCOMMENT
MEDIUM⚡tests/thirteenf/test_holdings_aggregation.py177 # Create a mock ThirteenF with no infotableCOMMENT
MEDIUMtests/documents/test_table_max_col_width.py71 # Create a simple mock tableCOMMENT
MEDIUMtests/documents/test_html_parser_regressions.py714 # Create a document just over the old streaming thresholdCOMMENT
MEDIUMtests/documents/test_html_parser_regressions.py990 # Create a document that triggers streamingCOMMENT
MEDIUMtests/funds/test_fund_wrapper.py35 # Create a Fund from a tickerCOMMENT
MEDIUMtests/funds/test_fund_wrapper.py59 # Create a Fund from a series IDCOMMENT
MEDIUMtests/funds/test_fund_wrapper.py78 # Create a Fund from a company CIKCOMMENT
MEDIUM…ns/xbrl-parsing/test_issue_475_cashflow_multiperiod.py92 # Create a stitched view across multiple filingsCOMMENT
MEDIUM…ns/xbrl-parsing/test_issue_475_cashflow_multiperiod.py188 # Create a stitched view across multiple filingsCOMMENT
MEDIUM…es/regression/test_issue_631_save_load_completeness.py144 # Create a mock attachment with None contentCOMMENT
MEDIUMtests/issues/regression/test_filing_text_baseline.py289# This file is the guard on Filing.text(), and while it was `network`-marked itCOMMENT
MEDIUM…sues/regression/test_issue_1ho_8k_section_detection.py96 # Create a minimal HTML document with an 8-K itemCOMMENT
MEDIUM…s/issues/regression/test_issue_5d6_plain_text_items.py61 # Create a mock filing with the same structureCOMMENT
MEDIUM⚡…/issues/regression/test_issue_674_homepage_fallback.py117 # Create a mock XML attachmentCOMMENT
MEDIUM…gression/test_issue_488_footnote_undefined_variable.py26 # Create a minimal XBRL instance document without footnoteLink elementsCOMMENT
MEDIUM…gression/test_issue_488_footnote_undefined_variable.py44 # Create a parser instance with minimal required argumentsSTRING
MEDIUM…ues/regression/test_issue_574_structured_dimensions.py23 # Create a mock item with dimension_metadataCOMMENT
MEDIUM⚡…s/issues/regression/test_issue_457_locale_cache_fix.py53 # Create a temporary cache directoryCOMMENT
MEDIUM…s/issues/regression/test_issue_457_locale_cache_fix.py81 # Create a temporary cache directory with marker fileCOMMENT
MEDIUM…s/issues/regression/test_issue_457_locale_cache_fix.py106 # Create a path for non-existent cache directoryCOMMENT
MEDIUM⚡…s/issues/regression/test_issue_457_locale_cache_fix.py125 # Create a read-only cache directory to simulate permission errorCOMMENT
MEDIUM⚡…s/issues/regression/test_issue_457_locale_cache_fix.py129 # Create a cache fileCOMMENT
126 more matches not shown…
Deep Nesting700 hits · 544 pts
SeverityFileLineSnippetContext
LOWtools/visual_inspector.py31CODE
LOWtools/visual_inspector.py141CODE
LOWtools/visual_inspector.py231CODE
LOWtools/visual_inspector.py385CODE
LOWtools/visual_inspector.py455CODE
LOWtools/visual_inspector.py539CODE
LOWtools/investigation_toolkit.py686CODE
LOWtools/investigation_toolkit.py727CODE
LOWtools/investigation_toolkit.py877CODE
LOWtools/investigation_toolkit.py87CODE
LOWtools/investigation_toolkit.py225CODE
LOWtools/investigation_toolkit.py333CODE
LOWtools/investigation_toolkit.py447CODE
LOWtools/quick_debug.py47CODE
LOWtools/quick_debug.py155CODE
LOWtools/quick_investigate.py33CODE
LOWtools/templates/xbrl_parsing_reproduction.py25CODE
LOWtools/templates/xbrl_parsing_reproduction.py142CODE
LOWtools/templates/xbrl_parsing_reproduction.py174CODE
LOWtests/_offline_harness.py152CODE
LOWtests/research/check_instance_value_consistency.py44CODE
LOWtests/offerings/eval/run_eval.py215CODE
LOWtests/core/test_httprequests.py117CODE
LOWtests/core/test_filing.py639CODE
LOWtests/entity/test_entity_statements.py99CODE
LOWtests/meta/test_assertion_strength_ratchet.py163CODE
LOWtests/xbrl/test_xbrl_facts.py315CODE
LOWtests/xbrl/test_xbrl_statements.py470CODE
LOWtests/xbrl/test_xbrl_statements.py511CODE
LOWtests/xbrl/test_xbrl_statements.py636CODE
LOWtests/xbrl/test_xbrl_footnotes.py10CODE
LOWtests/xbrl/test_period_selector.py503CODE
LOWtests/xbrl/test_period_selector.py544CODE
LOWtests/xbrl/test_period_selector.py698CODE
LOWtests/evaluation/_test_toc_evaluation.py119CODE
LOWtests/evaluation/_test_toc_evaluation.py267CODE
LOWtests/display/test_to_context.py520CODE
LOWtests/funds/test_fundreports_derivatives.py127CODE
LOWtests/funds/test_fundreports_derivatives.py299CODE
LOWtests/perf/benchmark_html_parser.py209CODE
LOW…ts/issues/regression/test_data_sec_gov_cache_domain.py68CODE
LOW…egression/test_issue_506_income_statement_selection.py65CODE
LOWtests/issues/regression/test_exceptions_tree.py228CODE
LOWtests/issues/regression/test_issue_439_order_parsing.py121CODE
LOW…ts/issues/regression/test_to_context_hint_integrity.py68CODE
LOW…ts/issues/regression/test_to_context_hint_integrity.py177CODE
LOW…ts/issues/regression/test_to_context_hint_integrity.py194CODE
LOW…ssues/regression/test_issue_1488_mcp_prompt_metrics.py262CODE
LOW…es/regression/test_issue_633_earnings_data_accuracy.py83CODE
LOWtests/issues/regression/test_51xd_period_identity.py42CODE
LOWtests/issues/regression/test_51xd_period_identity.py119CODE
LOWtests/issues/regression/test_uetp_divide_units.py81CODE
LOW…s/issues/regression/test_issue_440_currency_display.py21CODE
LOW…s/issues/regression/test_issue_440_currency_display.py78CODE
LOW…/regression/test_edgartools_3h3q_member_on_two_axes.py88CODE
LOWtests/issues/regression/test_raw_valueerror_ratchet.py39CODE
LOW…ues/regression/test_j7iz_merge_keeps_concepts_apart.py120CODE
LOW…/issues/regression/test_vaau_presentation_sign_gate.py176CODE
LOW…s/regression/test_07lk101_no_xbrl_hollow_financials.py112CODE
LOW…/issues/regression/test_issue_iirl_cash_flow_naming.py208CODE
640 more matches not shown…
Redundant / Tautological Comments346 hits · 523 pts
SeverityFileLineSnippetContext
LOWtools/templates/xbrl_parsing_reproduction.py124 # Check if this matches the reported errorCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py50 if cik and cik != "COMPANY_CIK": # Check if CIK was providedCODE
LOWtools/templates/entity_facts_reproduction.py145 # Check if this matches the reported errorCOMMENT
LOWtests/conftest.py506 # Check if test is in any regression folder (supports nested paths)COMMENT
LOWtests/core/test_form144.py280 # Check if is_10b5_1_plan is a booleanCOMMENT
LOW⚡tests/entity/test_unit_handling.py459 # Check if any facts have scale factorsCOMMENT
LOW⚡tests/xbrl/test_xbrl_statement_resolver.py140 # Check if the pattern matches our fake conceptCOMMENT
LOWtests/documents/test_html_parser_regressions.py902 # Check if Part I sections existCOMMENT
LOW…/issues/regression/test_issue_68lp_gh577_validation.py34 # Check if any dimensional rows have non-NaN valuesCOMMENT
LOW…/issues/regression/test_issue_68lp_gh577_validation.py82 # Check if definition linkbase is availableCOMMENT
LOW…ues/regression/test_issue_463_value_transformations.py239 # Check if balance is available in factsCOMMENT
LOW…ues/regression/test_issue_504_dimensional_filtering.py70 # Check if value matches (within $1000)COMMENT
LOWtests/issues/regression/test_issue_513_data_accuracy.py188 # Check if items have dimensional differencesCOMMENT
LOWscripts/debug_find_statement_518.py32# Check if found_role is in presentation_treesCOMMENT
LOWscripts/reproduce_issue_518.py57 # Check if these are cash flow conceptsCOMMENT
LOWscripts/test_monkey_patch_applied.py23# Check if it's the patched versionCOMMENT
LOWscripts/debug_henryschein_sections.py35# Check if 'business' or 'Item 1' is in sectionsCOMMENT
LOWscripts/debug_document_period_end_date.py27# Check if DocumentPeriodEndDate exists in raw XBRLCOMMENT
LOWscripts/capture_rich_to_png.py50 # Set viewport to capture full contentCOMMENT
LOWscripts/capture_rich_to_png.py69 # Set viewport to content sizeCOMMENT
LOWscripts/test_13f_shares_dtype.py30# Check if it's int64COMMENT
LOWscripts/debug_issue_107.py49# Check if sections have contentCOMMENT
LOWscripts/test_ssl_verify_debug.py13# Check if the method is patchedCOMMENT
LOWscripts/debug_henryschein_crossref.py19# Check if Cross Reference Index is detectedCOMMENT
LOWscripts/harness/cli.py166 # Display results summaryCOMMENT
LOWscripts/manual/check_problematic_html.py47 # Check if content was extractedCOMMENT
LOWscripts/manual/check_problematic_html.py186 # Check if XBRL data was preservedCOMMENT
LOWscripts/manual/compare_parsers.py112 # Check if it's a company shortcutCOMMENT
LOWscripts/manual/compare_parsers.py116 # Check if it's a filing typeCOMMENT
LOWscripts/manual/check_parser_comparison.py67 # Read fileCOMMENT
LOWscripts/manual/compare_section_detection.py271 # Check if we already have HTMLCOMMENT
LOWscripts/manual/check_html_parser_real_files.py92 # Read fileCOMMENT
LOWscripts/manual/check_html_parser_real_files.py369 # Check if data directory existsCOMMENT
LOWscripts/manual/check_html_files_simple.py49 # Read fileCOMMENT
LOWscripts/mcp-testing/watch-mcp-logs.sh62# Check if log directory existsCOMMENT
LOWscripts/mcp-testing/configure-claude-mcp.sh34# Check if Python path existsCOMMENT
LOWscripts/mcp-testing/test-mcp-tools.sh30# Check if Python path existsCOMMENT
LOWedgar/earnings.py1607 # Check if this row contains dates but no numeric valuesCOMMENT
LOWedgar/earnings.py1637 # Check if next row contains only years (4-digit numbers starting with 19 or 20)COMMENT
LOWedgar/earnings.py1791 # Check if it looks like a date (contains year pattern)COMMENT
LOWedgar/earnings.py1852 # Check if this is a currency symbol that should be mergedCOMMENT
LOW⚡edgar/filesystem.py932 # Check if file already exists to avoid re-uploadingCOMMENT
LOWedgar/core.py345 # Check if we're in an IPython environmentCOMMENT
LOWedgar/httprequests.py114 # Check if any httpx/httpcore exception wraps an SSL errorCOMMENT
LOWedgar/httprequests.py244 # Check if client exists and try to get its actual settingCOMMENT
LOWedgar/httprequests.py1207 # Check if the content is gzip-compressedCOMMENT
LOWedgar/httprequests.py1256 # Check if the content is gzip-compressedCOMMENT
LOWedgar/attachments.py224 # Check if it's an XBRL exhibit (EX-101.*)COMMENT
LOWedgar/attachments.py228 # Check if it's a regular exhibit (starts with EX-)COMMENT
LOWedgar/attachments.py504 # Check if this is a reportCOMMENT
LOWedgar/attachments.py527 # Check if this is a reportCOMMENT
LOWedgar/attachments.py569 # Check if content has HTML structureCOMMENT
LOWedgar/attachments.py1086 # Add the attachment to the listCOMMENT
LOW⚡edgar/markdown.py500 # Check if it's actual financial data (has $ and years)COMMENT
LOW⚡edgar/markdown.py1331 # Check if numericCOMMENT
LOWedgar/markdown.py305 # Check if next text is "Table of Contents"COMMENT
LOWedgar/markdown.py424 # Check if this div contains a single span as subsectionCOMMENT
LOWedgar/markdown.py431 # Check if span text matches the div text (meaning it's the only content)COMMENT
LOWedgar/markdown.py939 # Check if it's a pure number (possibly with decimal)COMMENT
LOWedgar/markdown.py946 # Check if it's mostly digits (more than 50% digits)COMMENT
286 more matches not shown…
Docstring Block Structure101 hits · 505 pts
SeverityFileLineSnippetContext
HIGHdocs/guides/entity-api-guide.md155 Download an icon for a given ticker as a PNG image, if available. Args: ticker: Stock ticker symbol (eSTRING
HIGHedgar/enums.py490 Enhanced parameter validation with intelligent error messages. Args: value: The parameter value to valSTRING
HIGHedgar/enums.py574 Validate and normalize form type parameter using enhanced validation. Args: form: Form type as FormTypSTRING
HIGHedgar/enums.py597 Validate and normalize period type parameter using enhanced validation. Args: period: Period type as PSTRING
HIGHedgar/enums.py620 Validate and normalize statement type parameter using enhanced validation. Args: statement: Statement STRING
HIGHedgar/filesystem.py59 Configure cloud storage for EdgarTools. Once configured, all file operations (reading filings, storing data) STRING
HIGHedgar/filesystem.py765 Sync local filing data to configured cloud storage. This function uploads files from local storage to cloud stSTRING
HIGHedgar/httprequests.py844 Sends a GET request with retry functionality and identity handling. Args: url (str): The URL to send tSTRING
HIGHedgar/httprequests.py912 Sends an asynchronous GET request with retry functionality and identity handling. Args: url (str): TheSTRING
HIGHedgar/httprequests.py953 Sends a streaming GET request with retry functionality and identity handling. Args: url (str): The URLSTRING
HIGHedgar/httprequests.py1000 Sends a POST request with retry functionality and identity handling. Args: url (str): The URL to send STRING
HIGHedgar/httprequests.py1043 Sends an asynchronous POST request with retry functionality and identity handling. Args: url (str): ThSTRING
HIGHedgar/httprequests.py1114 Download and decompress a gzip file with retry logic. This handles cases where SEC serves corrupted gzip filesSTRING
HIGHedgar/httprequests.py1479 Download and extract bulk data from zip or tar.gz archives Args: client: The httpx.AsyncClient instancSTRING
HIGHedgar/context.py31Compose one or more edgartools objects into a single LLM-ready context string. Takes any objects that satisfy the HSTRING
HIGHedgar/_filings.py2186 Grep for exact text matches across all filing documents. Like `grep -ri` on a directory — searches theSTRING
HIGHedgar/dates.py44 Split a date or a date range into start_date and end_date Examples: extract_dates("2022-03-04") -> 2022STRING
HIGHedgar/offerings/crowdfunding/campaign.py107 Initialize a Campaign from a filing or file number. Optimization: Converts Filing→EntityFiling and parSTRING
HIGHedgar/beneficial_ownership/schedule13.py271 Parse Schedule 13D XML and return dict of all fields. Args: xml: XML content as string STRING
HIGHedgar/beneficial_ownership/schedule13.py482 Create Schedule13D instance from a Filing object. Args: filing: Filing object with form 'SSTRING
HIGHedgar/beneficial_ownership/schedule13.py788 Parse Schedule 13G XML and return dict of all fields. Args: xml: XML content as string STRING
HIGHedgar/beneficial_ownership/schedule13.py1016 Create Schedule13G instance from a Filing object. Args: filing: Filing object with form 'SSTRING
HIGHedgar/ttm/calculator.py140Calculate TTM value as of a specific date. Selects the 4 most recent consecutive quarters ending on or before STRING
HIGHedgar/ttm/calculator.py236Calculate rolling TTM values for multiple periods. Creates a time series of TTM values, with each row representSTRING
HIGHedgar/company_reports/_base.py143 Grep for exact text matches across the filing. Delegates to the underlying Filing.grep(). Case-insensiSTRING
HIGHedgar/company_reports/_base.py288 Get item or part text from the filing. Args: item_or_part: Item identifier (e.g., "Item 1"STRING
HIGHedgar/company_reports/_structures.py74 Extract item numbers from filing sections using a regex pattern. This is a shared utility to eliminate code duSTRING
HIGHedgar/diagnose_ssl/__init__.py37 Run SSL diagnostics and optionally display results. This function checks your environment's ability to connectSTRING
HIGHedgar/entity/query.py270 Filter by date range. Args: start: Start date (inclusive). Can be a date object or string STRING
HIGHedgar/entity/entity_facts.py108 Get company facts for a given CIK. Args: cik: The company CIK Returns: CompanyFacts: The STRING
HIGHedgar/entity/core.py1082 Get balance sheet data for this company. Args: periods: Number of periods to retrieve (defSTRING
HIGHedgar/entity/core.py1290Calculate Trailing Twelve Months value for a concept. Args: concept: XBRL concept name (e.g., 'ReveSTRING
HIGHedgar/entity/core.py1317Get Trailing Twelve Months revenue. Tries common revenue concepts in order of preference. Args: STRING
HIGHedgar/entity/core.py1336Get Trailing Twelve Months net income. Tries common net income concepts in order of preference. Args: STRING
HIGHedgar/entity/utils.py99 Normalize a CIK to an integer by removing leading zeros. Args: cik_or_identifier: CIK as string or intSTRING
HIGHedgar/entity/enhanced_statement.py1175 Validate that fiscal_year is reasonable given period_end and the company's FYE. This handles SEC Facts API datSTRING
HIGHedgar/entity/enhanced_statement.py1246 Validate that period_end matches the expected month for the fiscal_period. This filters out comparative periodSTRING
HIGHedgar/entity/enhanced_statement.py1362 Calculate the fiscal year label for a period based on the dominant convention: fiscal years are named by the caSTRING
HIGHedgar/sgml/sgml_common.py42 Read content from a URL, file path, or EdgarPath, yielding lines as strings. Automatically handles gzip-compresSTRING
HIGHedgar/sgml/sgml_common.py98 Read content from either a URL or file path into a string. Uses existing read_content generator function. STRING
HIGHedgar/sgml/sgml_common.py126 Stream SGML documents from either a URL or file path, yielding parsed documents. Args: source: Either STRING
HIGHedgar/sgml/sgml_common.py173 Parses the raw submission text and returns the filing header along with a dictionary mapping document sequence STRING
HIGHedgar/sgml/sgml_common.py472 Create FilingSGML instance from either a URL or file path. Parses both header and documents. ISTRING
HIGHedgar/sgml/sgml_common.py511 Create FilingSGML instance from either full text submission. Parses both header and documents. STRING
HIGHedgar/storage/_local.py74 Enable or disable local storage, optionally setting the storage path. This function supports multiple calling STRING
HIGHedgar/storage/_local.py586 Reads an SEC EDGAR file listing directory and returns file information as a DataFrame. Args: url (str)STRING
HIGHedgar/storage/_local.py687 Reads the SEC EDGAR filing feed directory and returns file information as a DataFrame. Args: url (str)STRING
HIGHedgar/storage/_local.py751 Compress a filing file using gzip and optionally delete the original. Args: file_path: Path to the filSTRING
HIGHedgar/storage/_local.py790 Decompress a gzip-compressed filing file. Args: file_path: Path to the compressed file output_STRING
HIGHedgar/search/efts.py515 Full-text search across SEC filing content via EDGAR EFTS. Searches the actual text of filings — not just metaSTRING
HIGHedgar/xbrl/abstract_detection.py83 Determine if an XBRL concept should be marked as abstract using multiple fallback strategies. Strategy prioritSTRING
HIGHedgar/xbrl/facts.py495 Filter facts by dimension with flexible matching. This method provides intelligent matching for dimensSTRING
HIGHedgar/xbrl/current_period.py430 Internal method to get statement data as DataFrame for current period. Args: statement_typSTRING
HIGHedgar/xbrl/current_period.py569 Internal method to get statement as a Statement object for current period. Args: statementSTRING
HIGHedgar/xbrl/core.py488 Convert unit_ref to human-readable unit name. Maps XBRL unit references to standard display names: - 'U-MoSTRING
HIGHedgar/xbrl/core.py553 Determine if a period type represents a point-in-time value. Args: period_type: XBRL period type ('insSTRING
HIGHedgar/xbrl/notes.py538 Look up a note by number or exact title. Args: key: int (note number, 1-based) or str (exaSTRING
HIGHedgar/xbrl/notes.py562 Search notes by keyword. Returns all matches, best first. Ranking: exact title > title starts with keySTRING
HIGHedgar/xbrl/notes.py609 Grep note content for exact text matches. Unlike search() which matches note titles, grep() searches tSTRING
HIGHedgar/xbrl/presentation.py59Convert string or enum to StatementView. Args: view: A StatementView enum value or string ('standard', 'detSTRING
41 more matches not shown…
Structural Annotation Overuse173 hits · 341 pts
SeverityFileLineSnippetContext
LOW⚡tools/templates/xbrl_parsing_reproduction.py45 # Step 1: Get the filingCOMMENT
LOW⚡tools/templates/xbrl_parsing_reproduction.py50 # Step 2: Load XBRLCOMMENT
LOW⚡tools/templates/xbrl_parsing_reproduction.py55 # Step 3: Check basic XBRL propertiesCOMMENT
LOWtools/templates/xbrl_parsing_reproduction.py70 # Step 4: Test specific functionality mentioned in issueCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py47 # Step 1: Get the company objectCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py57 # Step 2: Access factsCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py62 # Step 3: Test basic facts propertiesCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py71 # Step 4: Test statement accessCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py110 # Step 5: Test specific functionality mentioned in issueCOMMENT
LOW⚡tests/ai/test_ai_native_context.py250 # Step 1: Company (Company now has .to_context() for consistency)COMMENT
LOW⚡tests/ai/test_ai_native_context.py253 # Step 2: Filings hints at .latest()COMMENT
LOW⚡tests/ai/test_ai_native_context.py261 # Step 3: Filing hints at .obj()COMMENT
LOW⚡tests/ai/test_ai_native_context.py266 # Step 4: FormC hints at .get_offering()COMMENT
LOW⚡tests/ai/test_ai_native_context.py271 # Step 5: Offering provides lifecycle (already tested in other tests)COMMENT
LOW.claude/agents/issue-handler.md155### Step 1: Quick Visual Inspection (30 seconds)COMMENT
LOW.claude/agents/issue-handler.md166### Step 2: Pattern-Based Analysis (2-5 minutes)COMMENT
LOW.claude/agents/issue-handler.md184### Step 3: Auto-Generated Reproduction (1-2 minutes)COMMENT
LOW.claude/agents/issue-handler.md200### Step 4: Known Pattern DetectionCOMMENT
LOW.claude/agents/issue-handler.md208### Step 5: Knowledge Check (Integrated)COMMENT
LOW.claude/commands/checkpoint.md9## Step 1: Determine ContextCOMMENT
LOW.claude/commands/checkpoint.md15## Step 2: Create Checkpoint DocumentCOMMENT
LOW.claude/commands/checkpoint.md72## Step 3: Quality CheckCOMMENT
LOW.claude/commands/checkpoint.md81## Step 4: Save and InstructCOMMENT
LOWdocs/advanced-search.md295# Step 1: Find relevant sectionsCOMMENT
LOWdocs/advanced-search.md302# Step 2: Investigate full sectionsCOMMENT
LOW⚡docs/invalid-return-type-phase2-analysis.md189### Step 1: Safe Fixes (Start here)COMMENT
LOW⚡docs/invalid-return-type-phase2-analysis.md193### Step 2: Medium Risk (After testing)COMMENT
LOW⚡docs/invalid-return-type-phase2-analysis.md198### Step 3: Defer to Phase 3COMMENT
LOWdocs/quickstart.md11## Step 1: Install EdgarToolsCOMMENT
LOWdocs/quickstart.md23## Step 2: Set Your IdentityCOMMENT
LOWdocs/quickstart.md36## Step 3: Get a CompanyCOMMENT
LOWdocs/quickstart.md58## Step 4: Get Financial StatementsCOMMENT
LOWdocs/quickstart.md80## Step 5: Get Specific ValuesCOMMENT
LOWdocs/quickstart.md92## Step 6: Export to DataFrameCOMMENT
LOWdocs/quickstart.md107## Step 7: Browse Company FilingsCOMMENT
LOWdocs/quickstart.md161## Step 8: Next StepsCOMMENT
LOW⚡docs/invalid-return-type-comprehensive-report.md133### Step 1: Quick Wins (Est. 15-20 errors)COMMENT
LOW⚡docs/invalid-return-type-comprehensive-report.md142### Step 2: Utility Functions (Est. 10 errors)COMMENT
LOW⚡docs/invalid-return-type-comprehensive-report.md150### Step 3: Financial Core (Est. 15 errors)COMMENT
LOW⚡docs/invalid-return-type-comprehensive-report.md158### Step 4: Defer Deprecated Code (12 errors)COMMENT
LOWdocs/guides/local-storage.md233# Step 1: Download metadata (company info, filing indexes, facts API data)COMMENT
LOWdocs/guides/local-storage.md236# Step 2: Download actual filing documents for XBRL parsingCOMMENT
LOW⚡docs/guides/full-text-search.md264# Step 1: Find filings across EDGARCOMMENT
LOW⚡docs/guides/full-text-search.md268# Step 2: Triage from metadataCOMMENT
LOW⚡docs/guides/full-text-search.md272# Step 3: Check who shows up mostCOMMENT
LOW⚡docs/guides/full-text-search.md276# Step 4: Deep dive on an interesting hitCOMMENT
LOW⚡docs/guides/full-text-search.md280# Step 5: Grep the 10-K for related termsCOMMENT
LOW⚡docs/guides/stock-splits-eps-normalization.md224# Step 1: Get NVIDIA dataCOMMENT
LOW⚡docs/guides/stock-splits-eps-normalization.md228# Step 2: Detect splitsCOMMENT
LOW⚡docs/guides/stock-splits-eps-normalization.md234# Step 3: Filter to EPS factsCOMMENT
LOW⚡docs/guides/stock-splits-eps-normalization.md243# Step 4: Apply split adjustmentsCOMMENT
LOW⚡docs/guides/stock-splits-eps-normalization.md246# Step 5: Compare pre-split periodsCOMMENT
LOWdocs/guides/cloud-storage.md55#### Step 1: Create and Configure S3 BucketCOMMENT
LOWdocs/guides/cloud-storage.md67#### Step 2: Set Bucket Policy for Public ReadCOMMENT
LOWdocs/guides/cloud-storage.md94#### Step 3: Upload Your DataCOMMENT
LOWdocs/guides/cloud-storage.md101#### Step 4: Configure EdgarToolsCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py104 # Step 1: Browse general documentationCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py109 # Step 2: Search for specific functionalityCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py118 # Step 3: Try the codeCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py125 # Step 4: Learn about the result objectCOMMENT
113 more matches not shown…
Cross-File Repetition63 hits · 315 pts
SeverityFileLineSnippetContext
HIGHtests/core/test_markdown_characterization.py0a divergence that stopped diverging is an entry to delete, not to keep.STRING
HIGHtests/abs/test_ten_d_characterization.py0a divergence that stopped diverging is an entry to delete, not to keep.STRING
HIGHtests/funds/test_fund_listing_characterization.py0a divergence that stopped diverging is an entry to delete, not to keep.STRING
HIGHtests/funds/test_funds_pages_characterization.py0a divergence that stopped diverging is an entry to delete, not to keep.STRING
HIGH…ettes/TestDeal.test_bofa_structured_note_graceful.yaml0ggemn3qd\\\"kipj1>kt$vc[t\\>?\"/q1\nm\\-/v/_be\\-;?p;k*6gav+1=0o=6_lj81zgj#32rzc<0r[!ymo!&d$8?&%6(l\nm3alux]j'q \\6_p##)STRING
HIGH…eringTypeClassification.test_bofa_structured_note.yaml0ggemn3qd\\\"kipj1>kt$vc[t\\>?\"/q1\nm\\-/v/_be\\-;?p;k*6gav+1=0o=6_lj81zgj#32rzc<0r[!ymo!&d$8?&%6(l\nm3alux]j'q \\6_p##)STRING
HIGH…tes/TestObjDispatch.test_424b2_returns_prospectus.yaml0ggemn3qd\\\"kipj1>kt$vc[t\\>?\"/q1\nm\\-/v/_be\\-;?p;k*6gav+1=0o=6_lj81zgj#32rzc<0r[!ymo!&d$8?&%6(l\nm3alux]j'q \\6_p##)STRING
HIGH…ructuredNoteTerms.test_bofa_structured_note_terms.yaml0ggemn3qd\\\"kipj1>kt$vc[t\\>?\"/q1\nm\\-/v/_be\\-;?p;k*6gav+1=0o=6_lj81zgj#32rzc<0r[!ymo!&d$8?&%6(l\nm3alux]j'q \\6_p##)STRING
HIGH…verPageExtraction.test_bofa_424b2_structured_note.yaml0ggemn3qd\\\"kipj1>kt$vc[t\\>?\"/q1\nm\\-/v/_be\\-;?p;k*6gav+1=0o=6_lj81zgj#32rzc<0r[!ymo!&d$8?&%6(l\nm3alux]j'q \\6_p##)STRING
HIGH…regression/test_07lk3_currentreport_doc_deprecation.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGH…ts/issues/regression/test_ha11_toc_anchor_collision.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGH…ts/issues/regression/test_3dp_bare_textnode_headers.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHtests/issues/regression/test_dt1f1_item_9at.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHtests/issues/regression/test_dt1f1_long_item_titles.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGH…ssues/regression/test_07lk23_items_fallback_deleted.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHtests/issues/regression/test_yrrh_get_item_with_part.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHtests/issues/regression/test_dt1f1_era_item_titles.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHtests/issues/regression/test_dt1f1_10q_part_boundary.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGH…s/issues/regression/test_dt1f1_wrapped_item_headers.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGH…ts/issues/regression/test_3dp_groupb_fixture_corpus.py0the minimum surface the report classes touch, backed by a local file.STRING
HIGHdocs/to-context-guidelines.md0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/offerings/effect.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/offerings/exempt/formd.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/beneficial_ownership/schedule13.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/proxy/core.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/company_reports/sixk.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/company_reports/current_report.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/company_reports/twenty_f.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/ownership/form144.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/ownership/forms.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/xbrl/statements.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/abs/ten_d.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/thirteenf/models.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/muniadvisors/core.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/funds/nmfp3.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/funds/ncen.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/funds/ncsr.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/funds/reports.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/funds/prospectus497k.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/npx/npx.py0ai-optimized context string. args: detail: 'minimal' (~100 tokens), 'standard' (~300 tokens), 'full' (~500+ tokens)STRING
HIGHedgar/offerings/prospectus/registration_s3.py0primary entry point. extracts cover page, fee table, and offering type.STRING
HIGHedgar/offerings/prospectus/registration_s1.py0primary entry point. extracts cover page, fee table, and offering type.STRING
HIGHedgar/offerings/prospectus/registration_s4.py0primary entry point. extracts cover page, fee table, and offering type.STRING
HIGHedgar/offerings/prospectus/registration_s3.py0all filings under the same registration file number.STRING
HIGHedgar/offerings/prospectus/registration_s1.py0all filings under the same registration file number.STRING
HIGHedgar/offerings/prospectus/registration_s4.py0all filings under the same registration file number.STRING
HIGHedgar/xbrl/facts.py0filter by fiscal period (fy, q1, q2, q3, q4). args: fiscal_period: fiscal period identifier returns: self for method chaSTRING
HIGHedgar/xbrl/design/XBRLS_Query_Design.md0filter by fiscal period (fy, q1, q2, q3, q4). args: fiscal_period: fiscal period identifier returns: self for method chaSTRING
HIGHedgar/xbrl/stitching/query.py0filter by fiscal period (fy, q1, q2, q3, q4). args: fiscal_period: fiscal period identifier returns: self for method chaSTRING
HIGHedgar/xbrl/statement_resolver.py0initialize with an xbrl object. args: xbrl: xbrl object containing parsed dataSTRING
HIGHedgar/xbrl/fund_statements.py0initialize with an xbrl object. args: xbrl: xbrl object containing parsed dataSTRING
HIGHedgar/xbrl/statements.py0initialize with an xbrl object. args: xbrl: xbrl object containing parsed dataSTRING
HIGHedgar/xbrl/design/xbrl-instance-parser-design.md0extract and register all namespaces from the document.STRING
HIGHedgar/xbrl/design/xbrl-definition-parser-design.md0extract and register all namespaces from the document.STRING
HIGHedgar/xbrl/design/xbrl-calculation-parser-design.md0extract and register all namespaces from the document.STRING
HIGHedgar/xbrl/design/xbrl-presentation-parser-design.md0extract and register all namespaces from the document.STRING
HIGHedgar/xbrl/design/xbrl-definition-parser-design.md0remove relationships that are effectively prohibited.STRING
HIGHedgar/xbrl/design/xbrl-calculation-parser-design.md0remove relationships that are effectively prohibited.STRING
HIGHedgar/xbrl/design/xbrl-presentation-parser-design.md0remove relationships that are effectively prohibited.STRING
HIGHedgar/funds/nmfp3.py0the source filing object, if this report was created via from_filing().STRING
3 more matches not shown…
AI Slop Vocabulary113 hits · 282 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml101 "click>=8.0.0", # CLI interface for test harnessCODE
MEDIUMpyproject.toml286# Regression tests (run separately/on-demand for comprehensive bug prevention)COMMENT
MEDIUM⚡tools/investigation_toolkit.py391 """Generate comprehensive investigation report"""STRING
MEDIUMtests/conftest.py429 # The measurement is a committed harness, so it does not have to be rebuiltCOMMENT
MEDIUMtests/conftest.py435 # harness before adding it below: failing offline and being broken lookCOMMENT
MEDIUMtests/offerings/eval/run_eval.py228 except Exception as ex: # noqa: BLE001 — the harness must survive any filingCODE
MEDIUMtests/core/test_feat005_statement_types.py42 # Test comprehensive incomeCOMMENT
MEDIUMtests/core/test_feat005_statement_types.py120 # Test COMPREHENSIVE_STATEMENTS (includes comprehensive income)COMMENT
MEDIUM⚡tests/core/test_feat005_statement_types.py217 # Test comprehensive analysis workflowCOMMENT
MEDIUM⚡tests/core/test_feat005_statement_types.py219 """Mock comprehensive statement analysis."""STRING
MEDIUM…estAgencyDealAgentExtraction.test_atm_sales_agent.yaml4541 holder&#8217;s depositary shares. The depositary will endeavor, insofar asCODE
MEDIUMtests/meta/test_section_parity_ratchet.py93# harness was asking. Before triaging any remaining entry, check what a userCOMMENT
MEDIUMtests/meta/test_markdown_parity_ratchet.py62# numbers is the next refinement to the harness, and would likely drop thisCOMMENT
MEDIUMtests/meta/test_markdown_parity_ratchet.py81# So the harness refinement is still worth doing, and is now known to be theCOMMENT
MEDIUMtests/meta/test_markdown_parity_ratchet.py137 # will not reach zero by fixing the parser — only by teaching the harnessCOMMENT
MEDIUMtests/meta/test_offline_audit_ratchet.py50# A real short-summary block, including the harness's own `ERROR edgar.core:`COMMENT
MEDIUMtests/meta/test_vcr_interception_guard.py96 # NetworkBlockedError under the offline harness, and never vcr's refusal.COMMENT
MEDIUMtests/storage/test_thirteenf.py357 """Test comprehensive manager information summary"""STRING
MEDIUM⚡tests/xbrl/test_xbrl_unit_pointintime.py315# Local fixture tests provide comprehensive coverage of real-world XBRL dataCOMMENT
MEDIUM⚡tests/xbrl/test_current_period.py244 # Verify it's a comprehensive income statementCOMMENT
MEDIUM⚡tests/xbrl/test_current_period.py237 """Test comprehensive income statement retrieval."""STRING
MEDIUM⚡tests/xbrl/test_standardization.py545 """ComprehensiveIncome should still list IFRS comprehensive concepts."""STRING
LOWtests/abs/test_ten_d.py410 # Should not raise, just return empty dataCOMMENT
MEDIUM⚡tests/ai/test_mcp_registry_entry.py91 # edgar-test pointed at tests.harness.cli, which is in neither the wheel nor the repo.COMMENT
MEDIUMtests/documents/test_fast_table_renderer.py317 # Run comprehensive test suiteCOMMENT
MEDIUMtests/funds/test_fundreports_derivatives.py201 # Test with both samples to ensure robust NA handlingCOMMENT
MEDIUM…gression/test_issue_3n9t_comprehensive_income_merge.py22 """AAPL comprehensive income should preserve all concept names.STRING
MEDIUM…ression/test_issue_486_comprehensive_income_zerodiv.py2Regression test for GitHub issue #486: ZeroDivisionError in comprehensive income accessSTRING
MEDIUM⚡…ression/test_issue_486_comprehensive_income_zerodiv.py25 """Test cases for comprehensive income access without ZeroDivisionError"""STRING
MEDIUM⚡…ression/test_issue_486_comprehensive_income_zerodiv.py29 """Test that accessing comprehensive income does not raise ZeroDivisionError.STRING
MEDIUM⚡…ression/test_issue_486_comprehensive_income_zerodiv.py36 # Test with Apple which has comprehensive incomeCOMMENT
MEDIUM…ression/test_issue_486_comprehensive_income_zerodiv.py54 # Apple files a comprehensive income statement in every 10-K; treatingCOMMENT
MEDIUM…ression/test_issue_486_comprehensive_income_zerodiv.py144 # Not every small filer presents comprehensive incomeCOMMENT
MEDIUM…egression/test_issue_506_income_statement_selection.py91 # Should NOT be dominated by comprehensive income conceptsCOMMENT
MEDIUM⚡…gression/test_issue_429_statement_period_regression.py69 """Test that comprehensive income uses duration periods"""STRING
MEDIUM⚡tests/issues/regression/test_viewer_corpus.py267# Test harnessCOMMENT
LOW…issues/regression/test_issue_706_missing_statements.py105 # Should not raise an exception - just return NoneCOMMENT
MEDIUM…regression/test_issue_518_income_statement_fallback.py107 # Definitely should NOT be CashFlowStatement or BalanceSheetCOMMENT
MEDIUMtests/issues/regression/test_3dp_groupc_items_union.py44# Group B's harness, imported rather than copied. ``_forbidding_legacy`` is aCOMMENT
MEDIUM…issues/regression/test_0q0d_multi_root_presentation.py38# UNP FY2012 10-K, statement of comprehensive income.COMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py62 # Should NOT have comprehensive columnsCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py82 # Should have comprehensive columnsCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py111 # Should have comprehensive columnsCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py241 # Should auto-enable comprehensive modeCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py256 # Should auto-enable comprehensive modeCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py415 # Should return comprehensive datasetCOMMENT
MEDIUMtests/reference/test_company_subsets_metadata.py196 # Should have comprehensive columnsCOMMENT
MEDIUMtests/reference/test_company_subsets_metadata.py509 # Should not have comprehensive columnsCOMMENT
MEDIUM⚡tests/reference/test_company_subsets_metadata.py453 """Test that comprehensive mode uses caching on subsequent calls."""STRING
MEDIUMdocs/examples/plot_revenue.py79 """Create a comprehensive financial chart showing Revenue, Gross Profit, and Net Income with detailed annotations.STRING
MEDIUM⚡docs/examples/feat005_demo_statement_types.py180 """Mock comprehensive financial analysis function."""STRING
LOWdocs/examples/crowdfunding.py189# Instead of accessing 10+ nested attributes, just call one methodCOMMENT
MEDIUMexamples/scripts/ai/ai_context.py82 """Build comprehensive context for an LLM."""STRING
MEDIUMscripts/check_offline_audit.py96# Only lines whose node id starts with `tests/` — the harness also logs anCOMMENT
MEDIUMscripts/text_boundary/variants.py157 # Shipped behaviour, to confirm the harness reproduces it: expect 0 changed.COMMENT
MEDIUM.github/workflows/regression-tests.yml51 # The four test-harness files are here because they decide what this laneCOMMENT
MEDIUM⚡edgar/paths.py222# Test Directory (test harness data)COMMENT
MEDIUMedgar/httprequests.py543# the offline audit harness over the network-marked regression tests: six testsCOMMENT
MEDIUMedgar/_filings.py1148 # Show filings: all if ≤100 total, otherwise 50 (matches pager page size for seamless next())COMMENT
MEDIUMedgar/offerings/crowdfunding/formc/core.py308 >>> formc.docs # Display comprehensive documentationSTRING
53 more matches not shown…
Modern Structural Boilerplate250 hits · 251 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py9logger = logging.getLogger(__name__)CODE
LOWtests/paths.py36__all__ = ["TESTS_DIR", "REPO_ROOT", "FIXTURES_DIR", "CASSETTES_DIR", "DATA_DIR"]CODE
LOWtests/_vcr_compat.py30__all__ = ["install_null_reason_phrase_fix"]CODE
LOW⚡tests/issues/regression/test_mcp_fpi_support.py22logger = logging.getLogger(__name__)CODE
LOWscripts/harness/__init__.py26__all__ = [CODE
LOW⚡edgar/xmlfiling.py34__all__ = ['XmlFiling']CODE
LOWedgar/enums.py43__all__ = [CODE
LOWedgar/config.py27__all__ = ['SEC_BASE_URL', 'SEC_DATA_URL', 'SEC_XBRL_URL', 'SEC_ARCHIVE_URL', 'VERBOSE_EXCEPTIONS']CODE
LOWedgar/shelfofferings.py3__all__ = [CODE
LOWedgar/earnings.py36logger = logging.getLogger(__name__)CODE
LOWedgar/earnings.py49__all__ = [CODE
LOWedgar/paths.py29__all__ = [CODE
LOWedgar/paths.py120def set_data_directory(path: Union[str, Path]) -> None:CODE
LOWedgar/paths.py177def set_cache_directory(path: Union[str, Path]) -> None:CODE
LOWedgar/paths.py252def set_test_directory(path: Union[str, Path]) -> None:CODE
LOWedgar/paths.py305def set_claude_skills_directory(path: Union[str, Path]) -> None:CODE
LOWedgar/xmltools.py34__all__ = [CODE
LOWedgar/filesystem.py33__all__ = [CODE
LOWedgar/current_filings.py24__all__ = [CODE
LOWedgar/__init__.py205__all__ = [CODE
LOWedgar/core.py44__all__ = [CODE
LOWedgar/httprequests.py40__all__ = [CODE
LOWedgar/httprequests.py1461logger = logging.getLogger(__name__)CODE
LOWedgar/attachments.py46__all__ = ['Attachment', 'Attachments', 'FilingHomepage', 'FilerInfo', 'AttachmentServer', 'sec_document_url', 'get_docuCODE
LOWedgar/forms.py16__all__ = [CODE
LOWedgar/_party.py14__all__ = [CODE
LOWedgar/context.py10__all__ = ['HasContext', 'compose_context']CODE
LOWedgar/_markdown.py11__all__ = [CODE
LOWedgar/markdown.py25__all__ = [CODE
LOWedgar/markdown.py144def _set_string(el, value: str) -> None:CODE
LOWedgar/_filings.py81__all__ = [CODE
LOW⚡edgar/correspondence.py31__all__ = ['Correspondence', 'CorrespondenceThread', 'CorrespondenceType']CODE
LOWedgar/settings.py33__all__ = [CODE
LOWedgar/datatools.py9__all__ = [CODE
LOWedgar/exceptions.py43__all__ = [CODE
LOWedgar/dates.py26__all__ = [CODE
LOWedgar/headers.py23__all__ = ['FilingDirectory', 'IndexHeaders', 'ReportingOwner', 'CompanyData', 'FilingValues', 'FormerCompany']CODE
LOWedgar/_compat.py32__all__ = ["deprecated_alias"]CODE
LOWedgar/urls.py9__all__ = [CODE
LOWedgar/richtools.py15__all__ = [CODE
LOWedgar/offerings/__init__.py29__all__ = [CODE
LOWedgar/offerings/effect.py10__all__ = [CODE
LOWedgar/offerings/exempt/__init__.py6__all__ = ["FormD"]CODE
LOWedgar/offerings/exempt/formd.py24__all__ = [CODE
LOW⚡edgar/offerings/prospectus/_s3_cover.py20__all__ = ['S3OfferingType', 'S3CoverPage', '_extract_s3_cover_page',CODE
LOW⚡edgar/offerings/prospectus/registration_s3.py46__all__ = ['RegistrationS3', 'S3OfferingType', 'S3CoverPage']CODE
LOW⚡edgar/offerings/prospectus/_s4_cover.py34__all__ = ['S4OfferingType', 'S4CoverPage', '_extract_s4_cover_page',CODE
LOWedgar/offerings/prospectus/__init__.py48__all__ = [CODE
LOWedgar/offerings/prospectus/_s1_cover.py22__all__ = ['extract_s1_cover_page']CODE
LOW⚡edgar/offerings/prospectus/registration_s1.py41__all__ = ['RegistrationS1', 'S1OfferingType', 'S1CoverPage']CODE
LOWedgar/offerings/prospectus/_424b_classifier.py26__all__ = ['classify_offering_type']CODE
LOWedgar/offerings/prospectus/_424b_xbrl.py24__all__ = ['extract_filing_fees_xbrl']CODE
LOW⚡edgar/offerings/prospectus/registration_s4.py46__all__ = ['RegistrationS4', 'S4OfferingType', 'S4CoverPage']CODE
LOWedgar/offerings/prospectus/_424b_cover.py18__all__ = ['extract_cover_page_fields', 'extract_underwriting_from_text']CODE
LOWedgar/offerings/prospectus/_s1_classifier.py19__all__ = ['classify_s1_offering_type']CODE
LOW⚡edgar/offerings/prospectus/drs.py37__all__ = ['DraftRegistrationStatement']CODE
LOWedgar/offerings/prospectus/_424b_tables/__init__.py67__all__ = [CODE
LOWedgar/offerings/prospectus/_fee_table/__init__.py54__all__ = ['extract_registration_fee_table']CODE
LOWedgar/offerings/crowdfunding/__init__.py23__all__ = [CODE
LOWedgar/offerings/crowdfunding/campaign.py85__all__ = ['Offering', 'Campaign'] # Campaign kept for backwards compatibilityCODE
190 more matches not shown…
Over-Commented Block216 hits · 188 pts
SeverityFileLineSnippetContext
LOWpyproject.toml61 "jinja2>=3.1.6",COMMENT
LOWpyproject.toml161]COMMENT
LOWpyproject.toml221# Run before testing a branch you didn't write: vcrpy loads cassettes withCOMMENT
LOWpyproject.toml241# `python -m pytest`, not `pytest`: -p imports the plugin before collection putsCOMMENT
LOWpyproject.toml261test-parallel-safe = "pytest -n auto -m 'fast' {args}"COMMENT
LOWpyproject.toml281test-ci-fast = "pytest -n auto --cov --cov-report=xml -m 'fast' {args}"COMMENT
LOWpyproject.toml421retry_delay = 4COMMENT
LOW.codefactor.yml1# Test fixtures are third-party documents, not our source.COMMENT
LOW.readthedocs.yaml21 fail_on_warning: falseCOMMENT
LOWtests/conftest.py321 # regressions both resolve filings over the wire, so the namespacedCOMMENT
LOWtests/conftest.py341 # unit tests of StatementStitcher._unaccumulate_cashflow_ytd, which buildCOMMENT
LOWtests/conftest.py381 # fetches. It matched FAST_PATTERNS' 'test_statement' substring and so ranCOMMENT
LOWtests/conftest.py401 # bead edgartools-07lk.24 emptied the tree of regression-marked files:COMMENT
LOWtests/conftest.py421 # Classifying them lets the offline half gate pull requests. Which half isCOMMENT
LOWtests/conftest.py541 unclassified.append(item.nodeid)COMMENT
LOWtests/__init__.py1# SPDX-FileCopyrightText: 2022-present Dwight Gunning <dgunning@gmail.com>COMMENT
LOWtests/meta/test_section_parity_ratchet.py61# CLOSED 2026-08-14, and they were neither two problems nor detectionCOMMENT
LOWtests/meta/test_section_parity_ratchet.py81# wfc/10k WAS IN GROUP 2 AND WAS NEVER BROKEN. Removed 2026-08-14 with itsCOMMENT
LOWtests/meta/test_section_parity_ratchet.py101# effect of edgartools-2vzk. That filing puts its heading — "Item 2.02 Results ofCOMMENT
LOWtests/meta/test_section_parity_ratchet.py121 # remains is era semantics plus one regex detail, not separators: in 1999COMMENT
LOWtests/meta/test_section_parity_ratchet.py141 # tests/issues/regression/test_dt1f1_era_item_titles.py.COMMENT
LOWtests/meta/test_section_parity_ratchet.py161 # CLOSED 2026-08-14, together with axp/bac/cvx/jnj/jpm/tsla andCOMMENT
LOWtests/meta/test_section_parity_ratchet.py181 # ("Item 6. Directors, Senior Management and\nEmployees") and their patternsCOMMENT
LOWtests/meta/test_section_parity_ratchet.py201 # pattern match. Header text is now whitespace-normalized firstCOMMENT
LOWtests/meta/test_section_parity_ratchet.py221 ("20-F", "0001062993-16-008650"),COMMENT
LOWtests/meta/test_markdown_parity_ratchet.py41sys.path.insert(0, str(FIXTURES_DIR / "parser_corpus"))COMMENT
LOWtests/meta/test_markdown_parity_ratchet.py61# the word-gluing that glued() already discounts. Extending that discount toCOMMENT
LOWtests/meta/test_markdown_parity_ratchet.py121 ("10-K", "meta/10k"): 39,COMMENT
LOWtests/meta/test_section_self_consistency_ratchet.py41COMMENT
LOWtests/meta/test_section_self_consistency_ratchet.py61#COMMENT
LOWtests/meta/test_section_self_consistency_ratchet.py161 )COMMENT
LOWtests/meta/test_section_boundary_corpus.py61# undersized substantial item). A mix of genuine boundary bugs and benignCOMMENT
LOWtests/meta/test_assertion_strength_ratchet.py61TESTS_DIR = TESTS_DIRCOMMENT
LOWtests/meta/test_assertion_strength_ratchet.py81# KNOWN_EXISTENCE_ONLY would have made that list stop meaning "outstandingCOMMENT
LOWtests/xbrl/test_period_selector.py781 # This may happen for periods that focus on other statement typesCOMMENT
LOWtests/documents/test_section_size_guardrail.py281@pytest.mark.parametrize("filer,path,form,key,length", [COMMENT
LOW…ts/documents/test_toc_analyzer_form_aware_bare_item.py261 # are NOT applied (Business / Properties / Legal Proceedings /COMMENT
LOWtests/funds/test_funds_company_info_characterization.py221 # Same exception, same place, different words: the message names whicheverCOMMENT
LOW…issues/regression/test_issue_412_historical_periods.py61 f"not just cash. Found {key_items_present} key items."COMMENT
LOW…es/regression/test_issue_631_save_load_completeness.py81COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py21COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py41# -> "foreign jurisdictions". 3 of the 5 filings changed (Apple, Merck, Exelon); 10xCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py61# Merck, Exelon and the BofA 424B2 are byte-identical. Both changed filings were checkedCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py81# call document.text(table_max_col_width=500) directly. Long table cells wereCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py101# did. Trailing per-line padding to the last column's width was dropped in theCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py121# structure -- 9,498 remain.COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py141# block. They now render in the table body, below the rule, which is why theCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py161#COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py181# -file reports pursuant to Section 13 or Section 15(d) of the Act. Yes ☐ No ☒COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py201# -The initial estimated value of the Notes as of theCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py221 # "$98 $204 $269". No value is lost -- every number in the old text is stillCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py241 # stockholders' equity regains "Accumulated", "Shares", "Amount", "Net" andCOMMENT
LOWtests/issues/regression/test_filing_text_baseline.py281 ),COMMENT
LOWtests/issues/regression/test_filing_text_baseline.py301# stores each submission once — 23.5 MB total — and the tests that share aCOMMENT
LOWtests/issues/regression/test_public_api_surface.py41# edgartools-07lk.3), or internal plumbing with a supported entry point in frontCOMMENT
LOWtests/issues/regression/test_ysr8_statement_helpers.py141 "fixture, gross_margin, current_ratio",COMMENT
LOW…es/regression/test_issue_637_ifrs_concept_discovery.py61COMMENT
LOWtests/issues/regression/test_dt1f1_10q_part_boundary.py161 # prose and are untouched.COMMENT
LOW…s/issues/regression/test_dt1f1_wrapped_item_headers.py201 # rendering only and moves no item boundary.COMMENT
LOWdocs/guides/entity-api-guide.md281 }COMMENT
156 more matches not shown…
Verbosity Indicators77 hits · 159 pts
SeverityFileLineSnippetContext
LOW⚡tools/templates/xbrl_parsing_reproduction.py45 # Step 1: Get the filingCOMMENT
LOW⚡tools/templates/xbrl_parsing_reproduction.py50 # Step 2: Load XBRLCOMMENT
LOW⚡tools/templates/xbrl_parsing_reproduction.py55 # Step 3: Check basic XBRL propertiesCOMMENT
LOWtools/templates/xbrl_parsing_reproduction.py70 # Step 4: Test specific functionality mentioned in issueCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py47 # Step 1: Get the company objectCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py57 # Step 2: Access factsCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py62 # Step 3: Test basic facts propertiesCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py71 # Step 4: Test statement accessCOMMENT
LOW⚡tools/templates/entity_facts_reproduction.py110 # Step 5: Test specific functionality mentioned in issueCOMMENT
LOW⚡tests/ai/test_ai_native_context.py250 # Step 1: Company (Company now has .to_context() for consistency)COMMENT
LOW⚡tests/ai/test_ai_native_context.py253 # Step 2: Filings hints at .latest()COMMENT
LOW⚡tests/ai/test_ai_native_context.py261 # Step 3: Filing hints at .obj()COMMENT
LOW⚡tests/ai/test_ai_native_context.py266 # Step 4: FormC hints at .get_offering()COMMENT
LOW⚡tests/ai/test_ai_native_context.py271 # Step 5: Offering provides lifecycle (already tested in other tests)COMMENT
LOW⚡examples/scripts/ai/basic_docs.py104 # Step 1: Browse general documentationCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py109 # Step 2: Search for specific functionalityCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py118 # Step 3: Try the codeCOMMENT
LOW⚡examples/scripts/ai/basic_docs.py125 # Step 4: Learn about the result objectCOMMENT
LOW⚡examples/scripts/ai/skills_usage.py179 # Step 1: Define companiesCOMMENT
LOW⚡examples/scripts/ai/skills_usage.py183 # Step 2: Get revenue trendsCOMMENT
LOW⚡examples/scripts/ai/skills_usage.py187 # Step 3: Analyze resultsCOMMENT
LOW⚡scripts/debug_frontier_masters_10k_hang.py32# Step 1: Download HTMLCOMMENT
LOW⚡scripts/debug_frontier_masters_10k_hang.py42# Step 2: Test with ChunkedDocument (old parser)COMMENT
LOW⚡scripts/debug_frontier_masters_10k_hang.py66# Step 3: Test with new HTMLParserCOMMENT
LOW⚡scripts/capture_rich_to_png.py91 # Step 1: Execute script and get HTMLCOMMENT
LOW⚡scripts/capture_rich_to_png.py94 # Step 2: Convert HTML to PNG using PlaywrightCOMMENT
LOW⚡scripts/benchmark_13f_txt_parser.py219 # Step 1: Get full submission text for summary pageCOMMENT
LOW⚡scripts/benchmark_13f_txt_parser.py228 # Step 2: Extract ground truthCOMMENT
LOW⚡scripts/benchmark_13f_txt_parser.py231 # Step 3: Parse the infotableCOMMENT
LOWscripts/benchmark_13f_txt_parser.py249 # Step 4: ScoreCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh31# Step 1: Clean up old venv if it existsCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh37# Step 2: Build distributionCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh50# Step 3: Create virtual environmentCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh55# Step 4: Install packageCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh61# Step 5: Verify installationCOMMENT
LOW⚡scripts/mcp-testing/install-local-mcp.sh66# Step 6: Show configuration infoCOMMENT
LOW⚡edgar/ttm/calculator.py898 # Step 1: Get Q4 Net Income facts (derived or reported)COMMENT
LOW⚡edgar/ttm/calculator.py907 # Step 2: Get shares by period (FY, YTD9, and quarterly for CV check)COMMENT
LOWedgar/ttm/calculator.py927 # Step 3: Calculate Q4 EPSCOMMENT
LOW⚡edgar/company_reports/current_report.py203 # Step 1: Normalize input to extract item numberCOMMENT
LOW⚡edgar/company_reports/current_report.py210 # Step 2: Find item header in textCOMMENT
LOWedgar/company_reports/current_report.py227 # Step 3: Find end positionCOMMENT
LOWedgar/company_reports/current_report.py249 # Step 4: Extract and clean contentCOMMENT
LOW⚡edgar/entity/categorization.py265 # Step 2: Check investment company forms (primary forms only)COMMENT
LOW⚡edgar/entity/categorization.py272 # Step 3: SPAC name patterns — before BDC to avoid false positivesCOMMENT
LOW⚡edgar/entity/categorization.py276 # Step 4: Check BDC signals (forms only — no name pattern)COMMENT
LOW⚡edgar/entity/categorization.py280 # Step 5: Check investment manager signalsCOMMENT
LOW⚡edgar/entity/categorization.py284 # Step 6: Check holding companyCOMMENT
LOW⚡edgar/entity/categorization.py288 # Step 7: "ETF" in name — catches crypto/commodity ETFsCOMMENT
LOW⚡edgar/entity/categorization.py294 # Step 8: SIC 6200s + fund/trust name → ETFCOMMENT
LOW⚡edgar/entity/categorization.py301 # Step 9: Non-depository credit institutions.COMMENT
LOW⚡edgar/entity/categorization.py308 # Step 10: Default to operating companyCOMMENT
LOW⚡edgar/entity/categorization.py319 # Step 11: Unknown (no SIC and non-operating entity_type)COMMENT
LOWedgar/entity/categorization.py251 # Step 1: Check definitive SIC codesCOMMENT
LOW⚡edgar/xbrl/period_selector.py71 # Step 3: Filter out periods with insufficient dataCOMMENT
LOW⚡edgar/xbrl/period_selector.py74 # Step 4: Re-apply the cap.COMMENT
LOWedgar/xbrl/period_selector.py45 # Step 1: Always filter by document date first (prevents future date bugs)COMMENT
LOWedgar/xbrl/period_selector.py60 # Step 2: Statement-specific logicCOMMENT
LOW⚡edgar/xbrl/stitching/presentation.py70 # Step 1: Create nodes for all conceptsCOMMENT
LOW⚡edgar/xbrl/stitching/presentation.py73 # Step 2: Build parent-child relationships based on levels and contextCOMMENT
17 more matches not shown…
Cross-Language Confusion11 hits · 58 pts
SeverityFileLineSnippetContext
HIGHtools/visual_inspector.py173 # Get sample values (first few non-null)COMMENT
HIGH⚡tests/offerings/eval/test_tier_c_judge.py48 text = '{"verdict": "correct", "judged_value": null, "confidence": "high", "rationale": "named on cover"}'CODE
HIGH⚡tests/core/test_forms_listing.py151 assert values.equals(values.str.strip()), f"{column} carries untrimmed whitespace"CODE
HIGHtests/xbrl/test_xbrl_facts_schema.py44 those few rows left null, and a no-match query returned no columns at all.STRING
HIGH…s/issues/regression/test_issue_548_period_filtering.py107 assert non_null_count > 0, f"Period column '{period_col}' should have data (not all null)"CODE
HIGH⚡…ssues/regression/test_trhe_stitched_declared_schema.py95 """A column no row populated must be null, never False or 0."""STRING
HIGH⚡…issues/regression/test_7wtj_entity_dataframe_schema.py150 """A column no returned row populated comes back null, never False or 0.STRING
HIGH…sues/regression/test_issue_599_pandas_futurewarning.py125 null). Every run took the outermost false branch and asserted nothing.STRING
HIGHtests/reference/test_reference_company_dataset.py396 assert companies1.equals(companies2)CODE
HIGHedgar/entity/utils.py57 total_filings = filings_form_array.length()CODE
HIGHedgar/xbrl/facts.py1936 # index and drops rows whose key is null, so adding a column with gapsCOMMENT
Slop Phrases19 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUM…ion.test_bofa_selling_agents_plural_lead_is_first.yaml3043 9pt Arial, Helvetica, Sans-Serif; margin: 0\">As discussed above, alternativeCODE
MEDIUM…gentExtraction.test_equity_underwriter_unaffected.yaml4429 plans. As discussed above, our board of directors will have the ability toCODE
MEDIUM…ettes/TestDeal.test_bofa_structured_note_graceful.yaml2257 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUM…eringTypeClassification.test_bofa_structured_note.yaml2257 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUM…tes/TestObjDispatch.test_424b2_returns_prospectus.yaml2257 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUM…ructuredNoteTerms.test_bofa_structured_note_terms.yaml2257 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUMtests/cassettes/test_atsn_gs_ua.yaml403 provide coverage.\n\nGSET Engineers - As discussed above, pursuant to an agreementCODE
MEDIUM…action.test_cover_grid_wrapped_name_not_truncated.yaml3341 by\nreference as discussed above, regarding a contract, agreement or otherCODE
MEDIUM…verPageExtraction.test_bofa_424b2_structured_note.yaml2257 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUM…ssettes/filing_text_baseline_0001481057-23-010389.yaml2064 Sans-Serif; margin: 0\">As discussed above, alternative characterizationsCODE
MEDIUM…ssettes/filing_text_baseline_0001481057-23-010389.yaml2069 rate. As discussed above, the IRS has indicated in the Notice that it is consideringCODE
MEDIUM…entExtraction.test_bofa_selling_agent_summary_box.yaml3042 be withheld at the applicable statutory rate. As discussed above, the IRSCODE
MEDIUM…estAgencyDealAgentExtraction.test_atm_sales_agent.yaml3577 As discussed above under &#8220;&#8212;</font><font style=\"color:#000000;font-family:'TimesCODE
MEDIUMscripts/diagnose_ssl.py303 print(" # Now you can use edgartools")CODE
MEDIUMdata/html/HealthPeak.424B2.html7380 <font style="letter-spacing:0.2pt;">that we intentionally accrue or receive exceeds the limits on nonqualifyinCODE
MEDIUMdata/html/HealthPeak.424B2.html8186 <font style="letter-spacing:0.2pt;">the investment in our capital stock is treated as effectively connected wiCODE
MEDIUMdata/nport/samples/N-PORT Sample 1.xml4 <!-- DISCLAIMER: This is a sample XML submission document for demonstration purposes only and should not be copied veCODE
MEDIUMdata/nport/samples/N-PORT Sample 3.xml4 <!-- DISCLAIMER: This is a sample XML submission document for demonstration purposes only and should not be copied veCODE
MEDIUMdata/nport/samples/N-PORT Sample 2.xml4 <!-- DISCLAIMER: This is a sample XML submission document for demonstration purposes only and should not be copied vCODE
Modern AI Meta-Vocabulary10 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMtests/cassettes/test_issue_879_jpm_8k.yaml4076 <8-5-YXB\\):?K4BMIU]HS3@38V7-UB/AL\\,0I\nM8@>ISU JIXFT^RL_#GAW3K'4+FZMH_$]LBRO+N9,R,2BN.RYVCTQCJ*[R\\\\-\nM:)J&ECODE
MEDIUMtests/cassettes/test_search_for_text_with_regex.yaml3201 =J6% (L)>9%?09QZ&,Y, +BR!#*EUX5268U1#%Y?SVM27501N\nM1>N=/%(]$GF)._J/B'54)X0%A]<Z$)O'=3)<HF[4-,8_C2.>D*,*,(R8[\\ICODE
MEDIUM⚡tests/search/test_v530_coverage.py53 # Place the match far enough from the start that the context window is cutCOMMENT
MEDIUMtests/issues/regression/test_lw8r_inline_xbrl.py225 # failure mode the RAG segment cannot detect.COMMENT
MEDIUMdocs/table-column-width.md155### 2. RAG (Retrieval Augmented Generation)COMMENT
MEDIUMdocs/complete-guide.md460### Building RAG SystemsCOMMENT
MEDIUMedgar/entity/training/run_learning.py567 'xbrl_structural': [], # XBRL scaffolding (Axis, Domain, Table, etc.)CODE
MEDIUMedgar/ai/ARCHITECTURE.md928 # Track context window usageCOMMENT
MEDIUMedgar/documents/search.py293 # Build a context window around the actual match withCOMMENT
MEDIUMedgar/documents/extractors/hybrid_section_detector.py317 # Schema-validity and successor-header guardrails — same flag-and-returnCOMMENT
Fake / Example Data26 hits · 26 pts
SeverityFileLineSnippetContext
LOWtests/beneficial_ownership/test_beneficial_ownership.py460 subject.company_information.name = 'Acme Corp'CODE
LOW⚡tests/beneficial_ownership/test_beneficial_ownership.py471 filing.company = 'Acme Corp'CODE
LOW⚡tests/beneficial_ownership/test_beneficial_ownership.py476 assert result.issuer_info.name == 'Acme Corp'CODE
LOW⚡tests/core/test_richtools.py68 table.add_row("John Doe")CODE
LOW⚡tests/core/test_144_notice_contract.py134 assert parsed['contact'].phone_number == "555-0100"CODE
LOW⚡tests/company_reports/test_subsidiaries.py194 assert subs[0].name == "Acme Corp"CODE
LOW⚡tests/entity/test_statement_builder_unit.py307 depth=0, parent_concept=None, source='placeholder'CODE
LOWtests/xbrl/test_statement_view.py61 set_identity('test@test.com')CODE
LOWtests/xbrl/test_statement_view.py119 set_identity('test@test.com')CODE
LOWtests/xbrl/test_statement_view.py203 set_identity('test@test.com')CODE
LOWtests/bdc/test_bdc.py569 assert company == 'Acme Corp'CODE
LOWtests/bdc/test_bdc_nonaccrual.py351 company_name="Acme Corp",CODE
LOWtests/bdc/test_bdc_nonaccrual.py377 company_name="Acme Corp",CODE
LOWtests/funds/test_etf_features_integration.py188 street1="123 Main St",CODE
LOWtests/funds/test_etf_features_integration.py245 street1="123 Main St",CODE
LOWtests/funds/test_etf_features_integration.py330 street1="123 Main St",CODE
LOWtests/funds/test_etf_features_integration.py367 street1="123 Main St",CODE
LOWtests/funds/test_ncen.py538 sig = SignatureInfo(signer="John Doe", title="CEO", signed_date="2025-01-01")CODE
LOWtests/funds/test_ncen.py539 assert "John Doe" in str(sig)CODE
LOWdocs/guides/drs-data-object-guide.md65| `company` | `str` | Company name | `"Acme Corp"` |CODE
LOWdocs/guides/drs-data-object-guide.md66| `company_name` | `str` | Alias for `company` | `"Acme Corp"` |CODE
LOWedgar/entity/entity_facts.py2239 "type": "placeholder",CODE
LOWedgar/entity/statement_builder.py44 source: str = 'fact' # 'fact', 'calculated', 'canonical', 'placeholder'CODE
LOWedgar/entity/statement_builder.py77 elif self.source == 'placeholder':CODE
LOWedgar/entity/statement_builder.py599 source='fact' if fact else ('canonical' if not include_missing else 'placeholder'),CODE
LOWedgar/reference/data/README_PORTFOLIO_MANAGERS.md163 "name": "John Doe",CODE
AI Structural Patterns27 hits · 20 pts
SeverityFileLineSnippetContext
LOWtools/create_reproduction.py67CODE
LOWtests/company_reports/test_notes.py28CODE
LOWtests/xbrl/test_to_markdown.py69CODE
LOWscripts/text_boundary/variants.py88CODE
LOWedgar/filtering.py71CODE
LOWedgar/filtering.py91CODE
LOWedgar/filtering.py103CODE
LOWedgar/_filings.py659CODE
LOWedgar/entity/constants.py282CODE
LOWedgar/entity/core.py386CODE
LOWedgar/entity/enhanced_statement.py1089CODE
LOWedgar/entity/filings.py242CODE
LOWedgar/entity/data.py384CODE
LOWedgar/sgml/filing_summary.py460CODE
LOWedgar/sgml/sgml_header.py74CODE
LOWedgar/storage/_local.py306CODE
LOWedgar/search/efts.py504CODE
LOWedgar/search/efts.py163CODE
LOWedgar/xbrl/rendering.py1587CODE
LOWedgar/xbrl/statements.py1120CODE
LOWedgar/xbrl/statements.py1239CODE
LOWedgar/xbrl/statements.py2196CODE
LOWedgar/xbrl/statements.py3622CODE
LOWedgar/xbrl/xbrl.py2777CODE
LOWedgar/xbrl/stitching/core.py972CODE
LOWedgar/documents/extractors/text_extractor.py25CODE
LOWedgar/funds/prospectus497k.py165CODE
Synthetic Comment Markers2 hits · 12 pts
SeverityFileLineSnippetContext
HIGHCONTRIBUTING.md249# AI-generated documentationCOMMENT
HIGHedgar/funds/reports.py729 "name": investment.name, # Added name field as requestedCODE
Example Usage Blocks8 hits · 12 pts
SeverityFileLineSnippetContext
LOWtools/visual_inspector.py646 # Example usageCOMMENT
LOWtools/investigation_toolkit.py952 # Example usageCOMMENT
LOWtests/test_text.py20 # Example usageCOMMENT
LOWscripts/mcp-testing/watch-mcp-logs.sh8# Usage:COMMENT
LOWscripts/mcp-testing/configure-claude-mcp.sh8# Usage:COMMENT
LOWscripts/mcp-testing/test-mcp-tools.sh8# Usage:COMMENT
LOWscripts/mcp-testing/cleanup-mcp-test.sh8# Usage:COMMENT
LOWscripts/mcp-testing/install-local-mcp.sh8# Usage:COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…ues/regression/test_issue_504_dimensional_filtering.py112# TODO: Add test for include_dimensions=False after implementing that filteringCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtests/perf/perf_download_json_sync.py5def my_function():CODE