← Files ClaraARCHIVED FILE

modules/reporting-engine/catalog/adapter_registry.json

20.4 KB · Oct 2, 2026 · 00:29 UTC

↓ Download file

{
  "schema_version": "0.1",
  "owner": "clara.reporting-engine",
  "purpose": "Map chart manifest plugin provenance to Clara-owned reporting-engine adapters and embedded family components.",
  "legacy_plugin_source_policy": "Legacy plugin_source values are provenance only. Clara callers should resolve capabilities through the reporting-engine adapter_id.",
  "runtime_contract": {
    "capability_field": "normalized_invocation_contract.clara_adapter",
    "registry_loader": "scripts/reporting_adapters.py:load_adapter_registry",
    "capability_resolver": "scripts/reporting_adapters.py:resolve_capability_adapter",
    "dataset_profiler": "scripts/profile_dataset.py:profile_dataset",
    "dataset_intake": "scripts/dataset_intake.py:run_dataset_intake",
    "semantic_scaffold": "scripts/semantic_layer.py:build_semantic_layer_scaffold",
    "business_metric_mapping_context": "scripts/semantic_layer.py:build_business_metric_authoring_context",
    "semantic_validator": "scripts/semantic_layer.py:validate_semantic_layer",
    "snapshot_compatibility": "scripts/semantic_layer.py:assess_snapshot_compatibility",
    "snapshot_attachment": "scripts/semantic_layer.py:build_snapshot_attachment",
    "period_rule_resolver": "scripts/semantic_layer.py:resolve_period_rules",
    "compatibility_checker": "scripts/check_compatibility.py:check_capability_compatibility",
    "invocation_planner": "scripts/reporting_adapters.py:prepare_invocation_plan",
    "renderer": "scripts/render_capability.py:render_capability"
  },
  "adapters": {
    "attribute-tables": {
      "adapter_id": "reporting-engine.attributes",
      "family": "attributes",
      "legacy_plugin_source": "attribute-tables",
      "component_name": "attribute-reporting",
      "capability_prefixes": [
        "attributes."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_attribute_table_adapter",
      "recipe_contract": {
        "accepted_parameters": ["package_dir"],
        "accepted_paths": [],
        "verified_by": [
          "plugins/clara/modules/reporting-engine/scripts/render_capability.py:_render_attribute_table"
        ]
      },
      "component_scripts": [
        "scripts/check_dependencies.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": null,
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "distribution-analysis": {
      "adapter_id": "reporting-engine.distribution",
      "family": "distribution",
      "legacy_plugin_source": "distribution-analysis",
      "component_name": "distribution-analysis",
      "capability_prefixes": [
        "distribution."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.date_column",
          "mappings.metric_column",
          "mappings.small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/distribution-analysis/scripts/distribution_core.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.selected_periods",
          "options.period_type",
          "options.period_grain",
          "options.fiscal_start_month",
          "options.rolling_window_months",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/distribution-analysis/scripts/distribution_core.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_distribution.py",
        "scripts/distribution_core.py",
        "scripts/legacy_distribution_charting.py",
        "scripts/inspect_inputs.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_distribution.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "funnel-analysis": {
      "adapter_id": "reporting-engine.funnel",
      "family": "funnel",
      "legacy_plugin_source": "funnel-analysis",
      "component_name": "funnel-analysis",
      "capability_prefixes": [
        "funnel."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "stage_table_mappings.stage_column",
          "stage_table_mappings.start_count_column",
          "stage_table_mappings.pass_count_column"
        ],
        "verified_by": [
          "plugins/funnel-analysis/scripts/funnel_core.py:compute_funnel_rows_from_stage_table"
        ]
      },
      "component_scripts": [
        "scripts/run_funnel_analysis.py",
        "scripts/funnel_core.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_funnel_analysis.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "mix-contribution-analysis": {
      "adapter_id": "reporting-engine.mix",
      "family": "mix",
      "legacy_plugin_source": "mix-contribution-analysis",
      "component_name": "mix-contribution-analysis",
      "capability_prefixes": [
        "mix."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.date_column",
          "mappings.period_column",
          "mappings.amount_column",
          "mappings.units_column",
          "mappings.width_metric_column",
          "mappings.related_marker_metric_column",
          "mappings.dimensions",
          "options.period_selection",
          "options.derived_dimensions",
          "options.like_for_like",
          "options.small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/mix-contribution-analysis/scripts/mix_core.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.period_selection",
          "options.period_type",
          "options.period_grain",
          "options.period_comparison_mode",
          "options.fiscal_start_month",
          "options.rolling_window_months",
          "options.current_period_label",
          "options.previous_period_label",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/mix-contribution-analysis/scripts/mix_core.py",
          "plugins/mix-contribution-analysis/scripts/legacy_mix_charting.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_mix_contribution.py",
        "scripts/mix_core.py",
        "scripts/legacy_mix_charting.py",
        "scripts/inspect_inputs.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_mix_contribution.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "period-comparison": {
      "adapter_id": "reporting-engine.period_comparison",
      "family": "period_comparison",
      "legacy_plugin_source": "period-comparison",
      "component_name": "period-comparison",
      "capability_prefixes": [
        "period_comparison."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.date_column",
          "mappings.amount_column",
          "mappings.dimensions",
          "options.small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/period-comparison/scripts/period_core.py",
          "plugins/period-comparison/scripts/legacy_charting.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.period_type",
          "options.period_grain",
          "options.period_comparison_mode",
          "options.fiscal_start_month",
          "options.rolling_window_months",
          "options.rolling_window_days",
          "options.current_period_label",
          "options.previous_period_label",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/period-comparison/scripts/period_core.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_period_comparison.py",
        "scripts/period_core.py",
        "scripts/legacy_charting.py",
        "scripts/inspect_inputs.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_period_comparison.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "scatter-bubble-analysis": {
      "adapter_id": "reporting-engine.scatter_bubble",
      "family": "scatter_bubble",
      "legacy_plugin_source": "scatter-bubble-analysis",
      "component_name": "scatter-bubble-analysis",
      "capability_prefixes": [
        "scatter."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.date_column",
          "mappings.x_metric_column",
          "mappings.y_metric_column",
          "mappings.bubble_size_metric_column",
          "mappings.dot_dimension",
          "mappings.small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/scatter-bubble-analysis/scripts/scatter_bubble_core.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.period_type",
          "options.period_grain",
          "options.period_comparison_mode",
          "options.fiscal_start_month",
          "options.rolling_window_months",
          "options.rolling_window_days",
          "options.current_period_label",
          "options.previous_period_label",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/scatter-bubble-analysis/scripts/scatter_bubble_core.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_scatter_bubble.py",
        "scripts/scatter_bubble_core.py",
        "scripts/legacy_scatter_bubble_charting.py",
        "scripts/inspect_inputs.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_scatter_bubble.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "set-overlap-analysis": {
      "adapter_id": "reporting-engine.set_overlap",
      "family": "set_overlap",
      "legacy_plugin_source": "set-overlap-analysis",
      "component_name": "set-overlap-analysis",
      "capability_prefixes": [
        "set_overlap."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.item_column",
          "mappings.set_column",
          "mappings.period_column",
          "mappings.dimensions",
          "options.selected_period",
          "options.small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/set-overlap-analysis/scripts/set_overlap_core.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.selected_period",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/set-overlap-analysis/scripts/set_overlap_core.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_set_overlap.py",
        "scripts/set_overlap_core.py",
        "scripts/inspect_inputs.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_set_overlap.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "statement-analysis": {
      "adapter_id": "reporting-engine.statement",
      "family": "statement",
      "legacy_plugin_source": "statement-analysis",
      "component_name": "statement-analysis",
      "capability_prefixes": [
        "statement."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.row_key_column",
          "mappings.period_column",
          "mappings.scenario_column",
          "mappings.value_column",
          "statement_rows",
          "periods",
          "scenarios_by_period"
        ],
        "verified_by": [
          "plugins/statement-analysis/scripts/statement_core.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "periods"
        ],
        "verified_by": [
          "plugins/statement-analysis/scripts/statement_core.py:_validate_recipe"
        ]
      },
      "component_scripts": [
        "scripts/run_statement_analysis.py",
        "scripts/statement_core.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_statement_analysis.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    },
    "variance-analysis": {
      "adapter_id": "reporting-engine.variance",
      "family": "variance",
      "legacy_plugin_source": "variance-analysis",
      "component_name": "variance-analysis",
      "capability_prefixes": [
        "variance."
      ],
      "ownership_status": "embedded_clara_component",
      "adapter_status": "registered",
      "render_api_status": "unified_component_cli_adapter",
      "recipe_contract": {
        "accepted_parameters": [],
        "accepted_paths": [
          "mappings.period_column",
          "mappings.baseline_period",
          "mappings.comparison_period",
          "mappings.amount_column",
          "mappings.units_column",
          "mappings.dimensions",
          "options.exploded_variance_bridge_parent_dimension",
          "options.exploded_variance_bridge_child_dimension",
          "options.exploded_variance_bridge_max_drilldowns",
        "options.root_cause_bridge",
        "options.root_cause_bridge_alternative_result",
        "options.root_cause_bridge_drilldown_rows",
          "options.root_cause_component_bridge",
          "options.total_by_dimension_bridge_dimension",
          "options.waterfall_small_multiples_dimension"
        ],
        "verified_by": [
          "plugins/variance-analysis/scripts/variance_core.py",
          "plugins/variance-analysis/scripts/legacy_adapter.py"
        ]
      },
      "period_scope_contract": {
        "accepted_paths": [
          "options.period_type",
          "options.period_grain",
          "options.period_comparison_mode",
          "options.fiscal_start_month",
          "filters",
          "options.filters"
        ],
        "verified_by": [
          "plugins/variance-analysis/scripts/variance_core.py",
          "plugins/_shared/vendor/modules/chart_harness/recipe_filters.py"
        ]
      },
      "component_scripts": [
        "scripts/run_variance.py",
        "scripts/variance_core.py",
        "scripts/legacy_adapter.py",
        "scripts/legacy_plotting.py",
        "scripts/root_cause_bridge_chart.py",
        "scripts/exploded_variance_bridge_chart.py",
        "scripts/total_by_dimension_bridge_chart.py"
      ],
      "entrypoints": {
        "list_capabilities": "scripts/reporting_adapters.py:list_capabilities",
        "resolve_capability": "scripts/reporting_adapters.py:resolve_capability_adapter",
        "profile_dataset": "scripts/profile_dataset.py:profile_dataset",
        "check_compatibility": "scripts/check_compatibility.py:check_capability_compatibility",
        "prepare_invocation": "scripts/reporting_adapters.py:prepare_invocation_plan",
        "legacy_runner": "scripts/run_variance.py",
        "render_chart": "scripts/render_capability.py:render_capability",
        "prepare_render_recipe": "scripts/render_capability.py:build_render_recipe"
      }
    }
  }
}

SHA-256: 1ba4308be2f04bc8e66568221f738728765bdbc41b8c402e0462d5cd322b3edc