Repository Analysis

apache/ossie

Apache Ossie, industry wide specification effort to standardize how we exchange semantic metadata across analytics, AI and BI platforms, providing a vendor neutral, single source of truth for semantic data

29.3 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of apache/ossie, a Python project with 1,753 GitHub stars. SynthScan v2.0 examined 50,218 lines of code across 208 source files, recording 1090 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 29.3 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

29.3
Adjusted Score
29.3
Raw Score
100%
Time Factor
2026-07-31
Last Push
1.8K
Stars
Python
Language
50.2K
Lines of Code
208
Files
1.1K
Pattern Hits
2026-08-02
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 7MEDIUM 184LOW 899

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1090 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers599 hits · 588 pts
SeverityFileLineSnippetContext
LOWpython/tests/test_models.py74def test_data_type_enum_matches_core_schema() -> None:CODE
LOWpython/tests/test_models.py89def test_field_and_metric_datatypes_survive_serialization() -> None:CODE
LOWpython/tests/test_models.py105def test_invalid_datatype_is_rejected() -> None:CODE
LOWpython/tests/test_models.py125def test_effective_time_dimension_role(CODE
LOWconverters/gsf/tests/test_converter.py519def test_gsf_requires_one_represented_table_per_term() -> None:CODE
LOWconverters/gsf/tests/test_converter.py528def test_duplicate_gsf_term_names_are_rejected() -> None:CODE
LOWconverters/gsf/tests/test_converter.py536def test_duplicate_gsf_field_names_across_attribute_kinds_are_rejected() -> None:CODE
LOWconverters/gsf/tests/test_converter.py544def test_catalog_only_gsf_has_no_representable_terms() -> None:CODE
LOWconverters/gsf/tests/test_converter.py628def test_any_release_in_the_supported_series_is_accepted(version: str) -> None:CODE
LOWconverters/gsf/tests/test_converter.py638def test_versions_outside_the_supported_series_are_rejected(version: str) -> None:CODE
LOWconverters/gsf/tests/test_converter.py646def test_dialect_specific_native_sql_survives_a_round_trip() -> None:CODE
LOWconverters/gsf/tests/test_converter.py92def test_checked_in_fixture_is_exact_native_contract() -> None:CODE
LOWconverters/gsf/tests/test_converter.py110def test_ossie_ids_are_deterministic_and_references_resolve() -> None:CODE
LOWconverters/gsf/tests/test_converter.py130def test_generated_ossie_passes_official_validation(tmp_path: Path) -> None:CODE
LOWconverters/gsf/tests/test_converter.py145def test_round_trip_preserves_ossie_semantics_and_global_metrics() -> None:CODE
LOWconverters/gsf/tests/test_converter.py168def test_edited_ossie_expressions_replace_preserved_native_sql() -> None:CODE
LOWconverters/gsf/tests/test_converter.py194def test_native_round_trip_preserves_ids_catalog_sql_source_and_zones() -> None:CODE
LOWconverters/gsf/tests/test_converter.py251def test_relationship_edits_replace_preserved_native_records() -> None:CODE
LOWconverters/gsf/tests/test_converter.py276def test_relationship_deletion_removes_preserved_native_records() -> None:CODE
LOWconverters/gsf/tests/test_converter.py289def test_relationship_reconciliation_preserves_catalog_only_records() -> None:CODE
LOWconverters/gsf/tests/test_converter.py338def test_multiple_databases_are_supported_and_name_falls_back() -> None:CODE
LOWconverters/gsf/tests/test_converter.py359def test_shared_physical_source_uses_one_catalog_table_and_valid_ossie(CODE
LOWconverters/gsf/tests/test_converter.py416def test_cross_database_ossie_metric_is_rejected() -> None:CODE
LOWconverters/gsf/tests/test_converter.py424def test_cross_database_full_query_field_is_rejected() -> None:CODE
LOWconverters/gsf/tests/test_converter.py452def test_cross_database_gsf_sql_objects_are_rejected(kind: str) -> None:CODE
LOWconverters/gsf/tests/test_converter.py503def test_relationships_emit_join_physical_fk_and_semantic_fk() -> None:CODE
LOWconverters/gsf/tests/test_converter.py563def test_date_part_keywords_do_not_become_catalog_columns(CODE
LOWconverters/gsf/tests/test_converter.py598def test_gsf_sourced_catalog_is_never_widened_by_sql_identifiers() -> None:CODE
LOWconverters/gsf/tests/test_converter.py661def test_native_sql_no_dialect_can_parse_is_carried_through_verbatim() -> None:CODE
LOWconverters/gsf/tests/test_converter.py682def test_columns_named_like_units_survive_outside_the_unit_slot(CODE
LOWconverters/gsf/tests/test_converter.py708def test_malformed_native_snapshot_fails_alike_in_both_paths() -> None:CODE
LOWconverters/gsf/tests/test_converter.py728def test_expression_dialect_follows_the_gsf_connection() -> None:CODE
LOWconverters/gsf/tests/test_converter.py748def test_dialects_ossie_cannot_name_stay_ansi() -> None:CODE
LOWconverters/gsf/tests/test_converter.py766def test_every_mappable_datatype_survives_a_round_trip(datatype: str) -> None:CODE
LOWconverters/gsf/tests/test_converter.py790def test_the_physical_type_chosen_for_each_datatype_maps_back_to_it() -> None:CODE
LOWconverters/gsf/tests/test_converter.py796def test_mapping_covers_the_specs_datatype_vocabulary() -> None:CODE
LOWconverters/gsf/tests/test_converter.py823def test_physical_types_map_onto_the_ossie_vocabulary(CODE
LOWconverters/gsf/tests/test_converter.py830def test_gsf_column_types_reach_the_ossie_field() -> None:CODE
LOWconverters/gsf/tests/test_converter.py856def test_a_live_gsf_column_type_outranks_an_ossie_datatype() -> None:CODE
LOWconverters/gsf/tests/test_converter.py892def test_old_fictional_gsf_root_is_rejected() -> None:CODE
LOWconverters/gsf/tests/test_converter.py947def test_simple_source_column(expression: str, expected: str | None) -> None:CODE
LOWconverters/gsf/tests/test_converter.py951def test_cli_converts_native_files(CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1106def _validate_gsf_sql_databases(CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1581def _validate_single_database_refs(CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1635def _collect_expression_columns(CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1752def _first_resolvable_column_ids(CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py2007def _reconcile_native_relationships(CODE
LOWconverters/dbt/tests/test_osi_to_msi.py317 def test_metric_description_carried_over(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py326 def test_no_metrics_produces_empty_list(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py332 def test_dataset_qualified_column_reference(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py41 def test_empty_document_produces_empty_manifest(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py47 def test_single_dataset_becomes_semantic_model(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py58 def test_description_carried_over(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py87 def test_multiple_datasets_become_multiple_models(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py96 def test_primary_key_field_becomes_primary_entity(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py112 def test_unique_key_field_becomes_unique_entity(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py128 def test_relationship_from_column_becomes_foreign_entity(self) -> None:CODE
LOWconverters/dbt/tests/test_osi_to_msi.py150 def test_field_becomes_dimension_by_is_time(CODE
LOWconverters/dbt/tests/test_osi_to_msi.py168 def test_field_becomes_dimension_by_effective_time_role(CODE
LOWconverters/dbt/tests/test_osi_to_msi.py183 def test_field_referenced_in_metric_stays_as_dimension(self) -> None:CODE
539 more matches not shown…
Decorative Section Separators172 hits · 539 pts
SeverityFileLineSnippetContext
MEDIUMconverters/dbt/tests/test_msi_to_osi.py83# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/test_msi_to_osi.py85# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/test_msi_to_osi.py59# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/test_msi_to_osi.py61# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/helpers.py62# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/helpers.py64# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/helpers.py155# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/tests/helpers.py157# ---------------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py118 # ------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py120 # ------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py256 # ------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py258 # ------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py356 # ------------------------------------------------------------------COMMENT
MEDIUMconverters/dbt/src/ossie_dbt/osi_to_msi.py358 # ------------------------------------------------------------------COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py159# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py161# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py246# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py248# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py289# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py291# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py324# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py326# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py542 # ── subquery source → dataset_type sql ───────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py552 # ── composite primary key ─────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py999# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1001# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1004 # ── entity name + keys ────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1013 # ── dataset source ────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1022 # ── column attributes ─────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1249# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1251# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1356# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1358# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1388# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1390# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1432# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py1434# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py46# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py48# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py341# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py343# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py356 # ── minimal model ──────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py384 # ── complex expression → calculated attribute ──────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py407 # ── label → labels in attr ────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py427 # ── ai_context string → description merged ────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py444 # ── ai_context dict → labels + description + metadata ────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py467 # ── unique_keys → entity metadata ─────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py483 # ── non-HONEYDEW custom_extensions → entity metadata ──────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py498 # ── relationship on from-entity; nothing on to-entity ────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py516 # ── model-level ai_context → workspace metadata ───────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py530 # ── metric ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py606# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py608# ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py619 # ── basic entity with two dataset attributes ──────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py644 # ── field types ───────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py680 # ── labels → label + ai_context + custom_extension ───────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py701 # ── many-to-one relationship ──────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py725 # ── one-to-many (direction flipped) ──────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py749 # ── metric ────────────────────────────────────────────────────────────────COMMENT
MEDIUM…nverters/honeydew/tests/test_honeydew_osi_converter.py766 # ── calculated attribute → OSI field with HONEYDEW extension ─────────────COMMENT
112 more matches not shown…
Over-Commented Block139 hits · 132 pts
SeverityFileLineSnippetContext
LOW.asf.yaml1#COMMENT
LOWpython/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWpython/tests/test_models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWpython/src/ossie/models.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWpython/src/ossie/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/gsf/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/gsf/tests/test_converter.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/gsf/src/ossie_gsf/native_converter.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/gsf/src/ossie_gsf/converter.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/gsf/src/ossie_gsf/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/tests/test_osi_to_msi.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/tests/test_msi_to_osi.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/tests/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/tests/helpers.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/filter_utils.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/expression_utils.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/converter_issues.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/cli.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/msi_to_osi.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/dbt/src/ossie_dbt/osi_to_msi.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/honeydew/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/honeydew/tests/test_honeydew_osi_converter.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/honeydew/src/honeydew_osi/converter.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/honeydew/src/honeydew_osi/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/tests/conftest.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/databricks/tests/test_ossie_to_metric_view.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/databricks/tests/test_roundtrip_properties.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/databricks/tests/test_metric_view_to_ossie.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/tests/test_roundtrip.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/tests/_util.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/tests/_roundtrip_helpers.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/src/ossie_databricks/_common.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/src/ossie_databricks/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/databricks/src/ossie_databricks/cli.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…atabricks/src/ossie_databricks/metric_view_to_ossie.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…atabricks/src/ossie_databricks/ossie_to_metric_view.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/pyproject.toml1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…rters/orionbelt/tests/test_osi_converter_properties.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/orionbelt/tests/test_osi_converter_filters.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…rionbelt/tests/test_osi_converter_measure_overrides.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…verters/orionbelt/tests/test_osi_converter_ontology.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/tests/test_osi_converter_pop.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…erters/orionbelt/tests/test_osi_converter_trend_v26.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…rters/orionbelt/tests/test_osi_converter_cumulative.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nverters/orionbelt/tests/test_osi_converter_vendors.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/tests/test_osi_v02_compat.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/tests/test_osi_tpcds_baseline.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…nbelt/tests/test_osi_converter_roundtrip_robustness.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOW…ters/orionbelt/tests/test_osi_metric_no_silent_loss.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/_common.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/_common.py41_SQL_PARSEABLE_DIALECTS = ("ANSI_SQL", "SNOWFLAKE", "DATABRICKS")COMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py1#!/usr/bin/env python3COMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/__init__.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/cli.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/ontology.py1# Licensed to the Apache Software Foundation (ASF) under oneCOMMENT
79 more matches not shown…
Unused Imports103 hits · 97 pts
SeverityFileLineSnippetContext
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWpython/src/ossie/__init__.py18CODE
LOWconverters/gsf/tests/test_converter.py20CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py20CODE
LOWconverters/gsf/src/ossie_gsf/converter.py20CODE
LOWconverters/gsf/src/ossie_gsf/converter.py20CODE
LOWconverters/gsf/src/ossie_gsf/converter.py20CODE
LOWconverters/gsf/src/ossie_gsf/__init__.py20CODE
LOWconverters/gsf/src/ossie_gsf/__init__.py20CODE
LOWconverters/gsf/src/ossie_gsf/__init__.py20CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py18CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py18CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py18CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py19CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py20CODE
LOWconverters/dbt/src/ossie_dbt/cli.py26CODE
LOW…nverters/honeydew/tests/test_honeydew_osi_converter.py20CODE
LOW…nverters/databricks/tests/test_ossie_to_metric_view.py26CODE
LOWconverters/databricks/tests/test_roundtrip.py22CODE
LOWconverters/databricks/src/ossie_databricks/__init__.py24CODE
LOWconverters/databricks/src/ossie_databricks/__init__.py25CODE
LOWconverters/databricks/src/ossie_databricks/__init__.py26CODE
LOW…atabricks/src/ossie_databricks/metric_view_to_ossie.py34CODE
LOW…rters/orionbelt/tests/test_osi_converter_properties.py24CODE
LOW…nverters/orionbelt/tests/test_osi_converter_filters.py24CODE
LOW…rionbelt/tests/test_osi_converter_measure_overrides.py24CODE
LOW…verters/orionbelt/tests/test_osi_converter_ontology.py26CODE
LOWconverters/orionbelt/tests/test_osi_converter_pop.py24CODE
LOW…erters/orionbelt/tests/test_osi_converter_trend_v26.py28CODE
LOW…rters/orionbelt/tests/test_osi_converter_cumulative.py24CODE
LOW…nverters/orionbelt/tests/test_osi_converter_vendors.py27CODE
LOWconverters/orionbelt/tests/test_osi_v02_compat.py31CODE
LOWconverters/orionbelt/tests/test_osi_tpcds_baseline.py31CODE
LOW…nbelt/tests/test_osi_converter_roundtrip_robustness.py32CODE
LOW…ters/orionbelt/tests/test_osi_metric_no_silent_loss.py34CODE
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py24CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py24CODE
LOWconverters/orionbelt/src/ossie_orionbelt/_common.py26CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py43CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py51CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py54CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py57CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py60CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py63CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py66CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py69CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py72CODE
43 more matches not shown…
Deep Nesting43 hits · 40 pts
SeverityFileLineSnippetContext
LOWconverters/gsf/src/ossie_gsf/native_converter.py779CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py913CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py970CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1059CODE
LOWconverters/gsf/src/ossie_gsf/native_converter.py1765CODE
LOWconverters/dbt/src/ossie_dbt/msi_to_osi.py217CODE
LOWconverters/dbt/src/ossie_dbt/msi_to_osi.py427CODE
LOWconverters/honeydew/src/honeydew_osi/converter.py166CODE
LOWconverters/honeydew/src/honeydew_osi/converter.py615CODE
LOWconverters/honeydew/src/honeydew_osi/converter.py679CODE
LOWconverters/honeydew/src/honeydew_osi/converter.py955CODE
LOW…atabricks/src/ossie_databricks/ossie_to_metric_view.py601CODE
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py166CODE
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py296CODE
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py541CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py62CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py107CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py239CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py356CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py557CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py623CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py836CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py1042CODE
LOWconverters/orionbelt/src/ossie_orionbelt/osi_to_obml.py1189CODE
LOWconverters/orionbelt/src/ossie_orionbelt/ontology.py100CODE
LOWconverters/orionbelt/src/ossie_orionbelt/validation.py143CODE
LOWconverters/orionbelt/src/ossie_orionbelt/validation.py195CODE
LOWconverters/orionbelt/src/ossie_orionbelt/validation.py287CODE
LOWconverters/snowflake/src/ossie_snowflake/converter.py185CODE
LOW…erters/gooddata/src/ossie_gooddata/datatype_mapping.py43CODE
LOW…verters/gooddata/src/ossie_gooddata/osi_to_gooddata.py126CODE
LOWconverters/wisdom/src/ossie_wisdom/osi_to_wisdom.py338CODE
LOWconverters/wisdom/src/ossie_wisdom/wisdom_to_osi.py247CODE
LOWconverters/omni/tests/_util.py74CODE
LOWconverters/omni/tests/_roundtrip_helpers.py118CODE
LOWconverters/omni/tests/_roundtrip_helpers.py150CODE
LOWconverters/omni/src/osi_omni/omni_to_osi.py573CODE
LOWconverters/omni/src/osi_omni/cli.py89CODE
LOWconverters/omni/src/osi_omni/osi_to_omni.py115CODE
LOWconverters/omni/src/osi_omni/osi_to_omni.py240CODE
LOWconverters/omni/src/osi_omni/osi_to_omni.py522CODE
LOWconverters/omni/src/osi_omni/osi_to_omni.py613CODE
LOWvalidation/validate.py177CODE
Excessive Try-Catch Wrapping11 hits · 22 pts
SeverityFileLineSnippetContext
MEDIUMconverters/gsf/src/ossie_gsf/native_converter.py2163 print(f"Error: {exc}", file=sys.stderr)CODE
MEDIUMconverters/honeydew/src/honeydew_osi/converter.py1041 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMconverters/honeydew/src/honeydew_osi/converter.py1047 print(f"Error: refusing to write outside output directory: {rel_path}", file=sys.stderr)CODE
MEDIUMconverters/honeydew/src/honeydew_osi/converter.py1059 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMconverters/databricks/src/ossie_databricks/cli.py66 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMconverters/orionbelt/src/ossie_orionbelt/cli.py54 print(f"Error: {input_path} is not a YAML mapping", file=sys.stderr)CODE
MEDIUMconverters/snowflake/src/ossie_snowflake/converter.py536 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMconverters/omni/src/osi_omni/cli.py112 print(f"Error: {e}", file=sys.stderr)CODE
MEDIUMvalidation/validate.py239 print(f"Error: File not found: {yaml_path}")CODE
MEDIUMvalidation/validate.py243 print(f"Error: Schema not found: {schema_path}")CODE
MEDIUMvalidation/validate.py254 print(f"Error: Invalid YAML: {e}")CODE
Cross-Language Confusion4 hits · 18 pts
SeverityFileLineSnippetContext
HIGH…nverters/databricks/tests/test_ossie_to_metric_view.py577 "fields": [_cfield("r_name", "r_name"), _cfield("rfull", "r_a || r_b")]},CODE
HIGH…nverters/databricks/tests/test_metric_view_to_ossie.py104 "dimensions:\n- name: full\n expr: cust.a || cust.b\n"CODE
HIGHconverters/databricks/src/ossie_databricks/_common.py84 `0` or `False` is returned; a missing key, a null, or an empty/whitespace string isSTRING
HIGHconverters/omni/src/osi_omni/_common.py86 as `0` or `False` is returned; a missing key, a null, or an empty/whitespaceSTRING
Docstring Block Structure3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHconverters/honeydew/src/honeydew_osi/converter.py57Convert an OSI YAML string to a Honeydew workspace file tree. Returns a dict mapping relative file paths to their YSTRING
HIGHconverters/honeydew/src/honeydew_osi/converter.py532Convert a Honeydew workspace directory to an OSI YAML string. Reads workspace.yml and all entity subdirectories undSTRING
HIGHconverters/snowflake/src/ossie_snowflake/converter.py81Top-level entry point. Parses Ossie YAML, validates, converts, returns Snowflake YAML string. Expects the standSTRING
Modern Structural Boilerplate10 hits · 10 pts
SeverityFileLineSnippetContext
LOWpython/src/ossie/__init__.py36__all__ = [CODE
LOWconverters/gsf/src/ossie_gsf/converter.py27__all__ = [CODE
LOWconverters/gsf/src/ossie_gsf/__init__.py26__all__ = [CODE
LOWconverters/dbt/src/ossie_dbt/__init__.py22__all__ = [CODE
LOWconverters/databricks/src/ossie_databricks/__init__.py28__all__ = [CODE
LOWconverters/orionbelt/src/ossie_orionbelt/converter.py116__all__ = [CODE
LOWconverters/orionbelt/src/ossie_orionbelt/__init__.py49__all__ = [CODE
LOWconverters/gooddata/src/ossie_gooddata/__init__.py23__all__ = ["gooddata_to_osi", "osi_to_gooddata"]CODE
LOWconverters/wisdom/src/ossie_wisdom/__init__.py22__all__ = [CODE
LOWconverters/omni/src/osi_omni/__init__.py29__all__ = [CODE
Self-Referential Comments1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUMconverters/salesforce/src/main/resources/mappings.yaml22# This file defines ONLY straightforward property mappings between Ossie YAMLCOMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…nverters/honeydew/tests/test_honeydew_osi_converter.py290# Assign metrics to entitiesCOMMENT
LOWconverters/orionbelt/src/ossie_orionbelt/obml_to_osi.py314 # Check if this column is used as a dimensionCOMMENT
LOW…verters/gooddata/src/ossie_gooddata/osi_to_gooddata.py136 # Check if this is a date dimension via custom_extensionsCOMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWconverters/orionbelt/tests/test_osi_tpcds_baseline.py82 # Step 7: SALESFORCE / DBT extensions are not applied to OBML but mustCOMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWconverters/orionbelt/tests/test_osi_tpcds_baseline.py82 # Step 7: SALESFORCE / DBT extensions are not applied to OBML but mustCOMMENT