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
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).
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.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_models.py | 74 | def test_data_type_enum_matches_core_schema() -> None: | CODE |
| LOW | python/tests/test_models.py | 89 | def test_field_and_metric_datatypes_survive_serialization() -> None: | CODE |
| LOW | python/tests/test_models.py | 105 | def test_invalid_datatype_is_rejected() -> None: | CODE |
| LOW | python/tests/test_models.py | 125 | def test_effective_time_dimension_role( | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 519 | def test_gsf_requires_one_represented_table_per_term() -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 528 | def test_duplicate_gsf_term_names_are_rejected() -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 536 | def test_duplicate_gsf_field_names_across_attribute_kinds_are_rejected() -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 544 | def test_catalog_only_gsf_has_no_representable_terms() -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 628 | def test_any_release_in_the_supported_series_is_accepted(version: str) -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 638 | def test_versions_outside_the_supported_series_are_rejected(version: str) -> None: | CODE |
| LOW⚡ | converters/gsf/tests/test_converter.py | 646 | def test_dialect_specific_native_sql_survives_a_round_trip() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 92 | def test_checked_in_fixture_is_exact_native_contract() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 110 | def test_ossie_ids_are_deterministic_and_references_resolve() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 130 | def test_generated_ossie_passes_official_validation(tmp_path: Path) -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 145 | def test_round_trip_preserves_ossie_semantics_and_global_metrics() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 168 | def test_edited_ossie_expressions_replace_preserved_native_sql() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 194 | def test_native_round_trip_preserves_ids_catalog_sql_source_and_zones() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 251 | def test_relationship_edits_replace_preserved_native_records() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 276 | def test_relationship_deletion_removes_preserved_native_records() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 289 | def test_relationship_reconciliation_preserves_catalog_only_records() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 338 | def test_multiple_databases_are_supported_and_name_falls_back() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 359 | def test_shared_physical_source_uses_one_catalog_table_and_valid_ossie( | CODE |
| LOW | converters/gsf/tests/test_converter.py | 416 | def test_cross_database_ossie_metric_is_rejected() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 424 | def test_cross_database_full_query_field_is_rejected() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 452 | def test_cross_database_gsf_sql_objects_are_rejected(kind: str) -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 503 | def test_relationships_emit_join_physical_fk_and_semantic_fk() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 563 | def test_date_part_keywords_do_not_become_catalog_columns( | CODE |
| LOW | converters/gsf/tests/test_converter.py | 598 | def test_gsf_sourced_catalog_is_never_widened_by_sql_identifiers() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 661 | def test_native_sql_no_dialect_can_parse_is_carried_through_verbatim() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 682 | def test_columns_named_like_units_survive_outside_the_unit_slot( | CODE |
| LOW | converters/gsf/tests/test_converter.py | 708 | def test_malformed_native_snapshot_fails_alike_in_both_paths() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 728 | def test_expression_dialect_follows_the_gsf_connection() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 748 | def test_dialects_ossie_cannot_name_stay_ansi() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 766 | def test_every_mappable_datatype_survives_a_round_trip(datatype: str) -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 790 | def test_the_physical_type_chosen_for_each_datatype_maps_back_to_it() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 796 | def test_mapping_covers_the_specs_datatype_vocabulary() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 823 | def test_physical_types_map_onto_the_ossie_vocabulary( | CODE |
| LOW | converters/gsf/tests/test_converter.py | 830 | def test_gsf_column_types_reach_the_ossie_field() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 856 | def test_a_live_gsf_column_type_outranks_an_ossie_datatype() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 892 | def test_old_fictional_gsf_root_is_rejected() -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 947 | def test_simple_source_column(expression: str, expected: str | None) -> None: | CODE |
| LOW | converters/gsf/tests/test_converter.py | 951 | def test_cli_converts_native_files( | CODE |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1106 | def _validate_gsf_sql_databases( | CODE |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1581 | def _validate_single_database_refs( | CODE |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1635 | def _collect_expression_columns( | CODE |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1752 | def _first_resolvable_column_ids( | CODE |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 2007 | def _reconcile_native_relationships( | CODE |
| LOW⚡ | converters/dbt/tests/test_osi_to_msi.py | 317 | def test_metric_description_carried_over(self) -> None: | CODE |
| LOW⚡ | converters/dbt/tests/test_osi_to_msi.py | 326 | def test_no_metrics_produces_empty_list(self) -> None: | CODE |
| LOW⚡ | converters/dbt/tests/test_osi_to_msi.py | 332 | def test_dataset_qualified_column_reference(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 41 | def test_empty_document_produces_empty_manifest(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 47 | def test_single_dataset_becomes_semantic_model(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 58 | def test_description_carried_over(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 87 | def test_multiple_datasets_become_multiple_models(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 96 | def test_primary_key_field_becomes_primary_entity(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 112 | def test_unique_key_field_becomes_unique_entity(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 128 | def test_relationship_from_column_becomes_foreign_entity(self) -> None: | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 150 | def test_field_becomes_dimension_by_is_time( | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 168 | def test_field_becomes_dimension_by_effective_time_role( | CODE |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 183 | def test_field_referenced_in_metric_stays_as_dimension(self) -> None: | CODE |
| 539 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | converters/dbt/tests/test_msi_to_osi.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | converters/dbt/tests/test_msi_to_osi.py | 85 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/test_msi_to_osi.py | 59 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/test_msi_to_osi.py | 61 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/helpers.py | 62 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/helpers.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/helpers.py | 155 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/tests/helpers.py | 157 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 118 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 120 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 256 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 258 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 356 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | converters/dbt/src/ossie_dbt/osi_to_msi.py | 358 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 159 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 161 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 246 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 248 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 289 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 291 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 324 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 326 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 542 | # ── subquery source → dataset_type sql ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 552 | # ── composite primary key ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 999 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1001 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1004 | # ── entity name + keys ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1013 | # ── dataset source ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1022 | # ── column attributes ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1249 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1251 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1356 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1358 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1388 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1390 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1432 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1434 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 46 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 48 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 341 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 343 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 356 | # ── minimal model ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 384 | # ── complex expression → calculated attribute ────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 407 | # ── label → labels in attr ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 427 | # ── ai_context string → description merged ──────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 444 | # ── ai_context dict → labels + description + metadata ──────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 467 | # ── unique_keys → entity metadata ───────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 483 | # ── non-HONEYDEW custom_extensions → entity metadata ────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 498 | # ── relationship on from-entity; nothing on to-entity ──────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 516 | # ── model-level ai_context → workspace metadata ─────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 530 | # ── metric ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 606 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 608 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 619 | # ── basic entity with two dataset attributes ────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 644 | # ── field types ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 680 | # ── labels → label + ai_context + custom_extension ─────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 701 | # ── many-to-one relationship ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 725 | # ── one-to-many (direction flipped) ────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 749 | # ── metric ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 766 | # ── calculated attribute → OSI field with HONEYDEW extension ───────────── | COMMENT |
| 112 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .asf.yaml | 1 | # | COMMENT |
| LOW | python/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | python/tests/test_models.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | python/src/ossie/models.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | python/src/ossie/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/gsf/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/gsf/tests/test_converter.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/gsf/src/ossie_gsf/converter.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/gsf/src/ossie_gsf/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/tests/test_osi_to_msi.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/tests/test_msi_to_osi.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/tests/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/tests/helpers.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/filter_utils.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/expression_utils.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/converter_issues.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/cli.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/msi_to_osi.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/dbt/src/ossie_dbt/osi_to_msi.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/honeydew/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/honeydew/src/honeydew_osi/converter.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/honeydew/src/honeydew_osi/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/tests/conftest.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/databricks/tests/test_ossie_to_metric_view.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/databricks/tests/test_roundtrip_properties.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/databricks/tests/test_metric_view_to_ossie.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/tests/test_roundtrip.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/tests/_util.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/tests/_roundtrip_helpers.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/src/ossie_databricks/_common.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/src/ossie_databricks/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/databricks/src/ossie_databricks/cli.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …atabricks/src/ossie_databricks/metric_view_to_ossie.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …atabricks/src/ossie_databricks/ossie_to_metric_view.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/pyproject.toml | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …rters/orionbelt/tests/test_osi_converter_properties.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/orionbelt/tests/test_osi_converter_filters.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …rionbelt/tests/test_osi_converter_measure_overrides.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …verters/orionbelt/tests/test_osi_converter_ontology.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/tests/test_osi_converter_pop.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …erters/orionbelt/tests/test_osi_converter_trend_v26.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …rters/orionbelt/tests/test_osi_converter_cumulative.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nverters/orionbelt/tests/test_osi_converter_vendors.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/tests/test_osi_v02_compat.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/tests/test_osi_tpcds_baseline.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …nbelt/tests/test_osi_converter_roundtrip_robustness.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …ters/orionbelt/tests/test_osi_metric_no_silent_loss.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/_common.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/_common.py | 41 | _SQL_PARSEABLE_DIALECTS = ("ANSI_SQL", "SNOWFLAKE", "DATABRICKS") | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/__init__.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/cli.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/ontology.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| 79 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | python/src/ossie/__init__.py | 18 | CODE | |
| LOW | converters/gsf/tests/test_converter.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/converter.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/converter.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/converter.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/__init__.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/__init__.py | 20 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/__init__.py | 20 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 18 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 18 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 18 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 19 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 20 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/cli.py | 26 | CODE | |
| LOW | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 20 | CODE | |
| LOW | …nverters/databricks/tests/test_ossie_to_metric_view.py | 26 | CODE | |
| LOW | converters/databricks/tests/test_roundtrip.py | 22 | CODE | |
| LOW | converters/databricks/src/ossie_databricks/__init__.py | 24 | CODE | |
| LOW | converters/databricks/src/ossie_databricks/__init__.py | 25 | CODE | |
| LOW | converters/databricks/src/ossie_databricks/__init__.py | 26 | CODE | |
| LOW | …atabricks/src/ossie_databricks/metric_view_to_ossie.py | 34 | CODE | |
| LOW | …rters/orionbelt/tests/test_osi_converter_properties.py | 24 | CODE | |
| LOW | …nverters/orionbelt/tests/test_osi_converter_filters.py | 24 | CODE | |
| LOW | …rionbelt/tests/test_osi_converter_measure_overrides.py | 24 | CODE | |
| LOW | …verters/orionbelt/tests/test_osi_converter_ontology.py | 26 | CODE | |
| LOW | converters/orionbelt/tests/test_osi_converter_pop.py | 24 | CODE | |
| LOW | …erters/orionbelt/tests/test_osi_converter_trend_v26.py | 28 | CODE | |
| LOW | …rters/orionbelt/tests/test_osi_converter_cumulative.py | 24 | CODE | |
| LOW | …nverters/orionbelt/tests/test_osi_converter_vendors.py | 27 | CODE | |
| LOW | converters/orionbelt/tests/test_osi_v02_compat.py | 31 | CODE | |
| LOW | converters/orionbelt/tests/test_osi_tpcds_baseline.py | 31 | CODE | |
| LOW | …nbelt/tests/test_osi_converter_roundtrip_robustness.py | 32 | CODE | |
| LOW | …ters/orionbelt/tests/test_osi_metric_no_silent_loss.py | 34 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 24 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 24 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/_common.py | 26 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 43 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 51 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 54 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 57 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 60 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 63 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 66 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 69 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 72 | CODE | |
| 43 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 779 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 913 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 970 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1059 | CODE | |
| LOW | converters/gsf/src/ossie_gsf/native_converter.py | 1765 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/msi_to_osi.py | 217 | CODE | |
| LOW | converters/dbt/src/ossie_dbt/msi_to_osi.py | 427 | CODE | |
| LOW | converters/honeydew/src/honeydew_osi/converter.py | 166 | CODE | |
| LOW | converters/honeydew/src/honeydew_osi/converter.py | 615 | CODE | |
| LOW | converters/honeydew/src/honeydew_osi/converter.py | 679 | CODE | |
| LOW | converters/honeydew/src/honeydew_osi/converter.py | 955 | CODE | |
| LOW | …atabricks/src/ossie_databricks/ossie_to_metric_view.py | 601 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 166 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 296 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 541 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 62 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 107 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 239 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 356 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 557 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 623 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 836 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 1042 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/osi_to_obml.py | 1189 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/ontology.py | 100 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/validation.py | 143 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/validation.py | 195 | CODE | |
| LOW | converters/orionbelt/src/ossie_orionbelt/validation.py | 287 | CODE | |
| LOW | converters/snowflake/src/ossie_snowflake/converter.py | 185 | CODE | |
| LOW | …erters/gooddata/src/ossie_gooddata/datatype_mapping.py | 43 | CODE | |
| LOW | …verters/gooddata/src/ossie_gooddata/osi_to_gooddata.py | 126 | CODE | |
| LOW | converters/wisdom/src/ossie_wisdom/osi_to_wisdom.py | 338 | CODE | |
| LOW | converters/wisdom/src/ossie_wisdom/wisdom_to_osi.py | 247 | CODE | |
| LOW | converters/omni/tests/_util.py | 74 | CODE | |
| LOW | converters/omni/tests/_roundtrip_helpers.py | 118 | CODE | |
| LOW | converters/omni/tests/_roundtrip_helpers.py | 150 | CODE | |
| LOW | converters/omni/src/osi_omni/omni_to_osi.py | 573 | CODE | |
| LOW | converters/omni/src/osi_omni/cli.py | 89 | CODE | |
| LOW | converters/omni/src/osi_omni/osi_to_omni.py | 115 | CODE | |
| LOW | converters/omni/src/osi_omni/osi_to_omni.py | 240 | CODE | |
| LOW | converters/omni/src/osi_omni/osi_to_omni.py | 522 | CODE | |
| LOW | converters/omni/src/osi_omni/osi_to_omni.py | 613 | CODE | |
| LOW | validation/validate.py | 177 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | converters/gsf/src/ossie_gsf/native_converter.py | 2163 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| MEDIUM | converters/honeydew/src/honeydew_osi/converter.py | 1041 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | converters/honeydew/src/honeydew_osi/converter.py | 1047 | print(f"Error: refusing to write outside output directory: {rel_path}", file=sys.stderr) | CODE |
| MEDIUM | converters/honeydew/src/honeydew_osi/converter.py | 1059 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | converters/databricks/src/ossie_databricks/cli.py | 66 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | converters/orionbelt/src/ossie_orionbelt/cli.py | 54 | print(f"Error: {input_path} is not a YAML mapping", file=sys.stderr) | CODE |
| MEDIUM | converters/snowflake/src/ossie_snowflake/converter.py | 536 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | converters/omni/src/osi_omni/cli.py | 112 | print(f"Error: {e}", file=sys.stderr) | CODE |
| MEDIUM | validation/validate.py | 239 | print(f"Error: File not found: {yaml_path}") | CODE |
| MEDIUM | validation/validate.py | 243 | print(f"Error: Schema not found: {schema_path}") | CODE |
| MEDIUM | validation/validate.py | 254 | print(f"Error: Invalid YAML: {e}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …nverters/databricks/tests/test_ossie_to_metric_view.py | 577 | "fields": [_cfield("r_name", "r_name"), _cfield("rfull", "r_a || r_b")]}, | CODE |
| HIGH⚡ | …nverters/databricks/tests/test_metric_view_to_ossie.py | 104 | "dimensions:\n- name: full\n expr: cust.a || cust.b\n" | CODE |
| HIGH | converters/databricks/src/ossie_databricks/_common.py | 84 | `0` or `False` is returned; a missing key, a null, or an empty/whitespace string is | STRING |
| HIGH | converters/omni/src/osi_omni/_common.py | 86 | as `0` or `False` is returned; a missing key, a null, or an empty/whitespace | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | converters/honeydew/src/honeydew_osi/converter.py | 57 | Convert an OSI YAML string to a Honeydew workspace file tree. Returns a dict mapping relative file paths to their Y | STRING |
| HIGH | converters/honeydew/src/honeydew_osi/converter.py | 532 | Convert a Honeydew workspace directory to an OSI YAML string. Reads workspace.yml and all entity subdirectories und | STRING |
| HIGH | converters/snowflake/src/ossie_snowflake/converter.py | 81 | Top-level entry point. Parses Ossie YAML, validates, converts, returns Snowflake YAML string. Expects the stand | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/src/ossie/__init__.py | 36 | __all__ = [ | CODE |
| LOW | converters/gsf/src/ossie_gsf/converter.py | 27 | __all__ = [ | CODE |
| LOW | converters/gsf/src/ossie_gsf/__init__.py | 26 | __all__ = [ | CODE |
| LOW | converters/dbt/src/ossie_dbt/__init__.py | 22 | __all__ = [ | CODE |
| LOW | converters/databricks/src/ossie_databricks/__init__.py | 28 | __all__ = [ | CODE |
| LOW | converters/orionbelt/src/ossie_orionbelt/converter.py | 116 | __all__ = [ | CODE |
| LOW | converters/orionbelt/src/ossie_orionbelt/__init__.py | 49 | __all__ = [ | CODE |
| LOW | converters/gooddata/src/ossie_gooddata/__init__.py | 23 | __all__ = ["gooddata_to_osi", "osi_to_gooddata"] | CODE |
| LOW | converters/wisdom/src/ossie_wisdom/__init__.py | 22 | __all__ = [ | CODE |
| LOW | converters/omni/src/osi_omni/__init__.py | 29 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | converters/salesforce/src/main/resources/mappings.yaml | 22 | # This file defines ONLY straightforward property mappings between Ossie YAML | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …nverters/honeydew/tests/test_honeydew_osi_converter.py | 290 | # Assign metrics to entities | COMMENT |
| LOW | converters/orionbelt/src/ossie_orionbelt/obml_to_osi.py | 314 | # Check if this column is used as a dimension | COMMENT |
| LOW | …verters/gooddata/src/ossie_gooddata/osi_to_gooddata.py | 136 | # Check if this is a date dimension via custom_extensions | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | converters/orionbelt/tests/test_osi_tpcds_baseline.py | 82 | # Step 7: SALESFORCE / DBT extensions are not applied to OBML but must | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | converters/orionbelt/tests/test_osi_tpcds_baseline.py | 82 | # Step 7: SALESFORCE / DBT extensions are not applied to OBML but must | COMMENT |