This release consolidates work across pipeline observability, a new Azure Data Lake Storage connector, the new Issue and SLA modules, Microsoft Purview integration, AI guardrails, vault-based secrets management, and improvements across Metrics, DBT, Analytics, Governance, and platform navigation.
Features
This section contains the list of new features that are identified as a part of Prizm 1.0.Airflow Pipeline Observability
Prizm now connects directly to Apache Airflow to give data teams full visibility into pipeline health — not just the tables Airflow feeds, but the DAGs, tasks, and runs that produce them. Previously, a failure inside a pipeline was invisible to Prizm until it showed up as a downstream data quality problem. This release closes that gap with a dedicated Airflow connector, a pipeline catalog, lineage-aware root cause analysis, and a circuit breaker that can stop a pipeline before bad data propagates. [Screenshot: Airflow pipeline overview dashboard]Connecting Airflow to Prizm
The Airflow connector supports three connection methods, chosen based on what your environment allows. All three normalize to the same metadata model in Prizm — cataloging, lineage, and monitoring behave identically regardless of which one you pick. Method 1 — API-based connection- Navigate to Settings → Connect → Sources → Add Source → Airflow.
- Select API as the connection method.
- Provide the Airflow REST API base URL and an authentication credential.
- Click Test Connection — Prizm validates the credential and confirms it can reach the Airflow instance before saving.
- Under Run History, set how much history to pull back on first sync (default: 7 days, toggle between “days” and “number of runs”).
- Install the Prizm Airflow Plugin package into your Airflow instance’s plugins directory.
- The plugin hooks into the DAG execution lifecycle via Airflow’s native event listeners — no polling required (push mode).
- Set the environment variable
prizm_include_dag_sourcetotrueif you want compiled DAG source code included (default isfalse— opt-in only). - Store the Prizm ingestion token using your environment/secrets backend rather than plain text, and rotate it periodically.
- Confirm the connection shows Active under Settings → Connect → Sources.
- Install the Prizm Agent on a host machine that has access to the Airflow CLI.
- Configure the agent to run on a schedule; it invokes the Airflow CLI locally and pushes the collected metadata to the Prizm server for processing.
- Confirm connectivity from the agent to both Airflow and Prizm using the agent’s built-in connection check.
Pipeline Catalog
Prizm builds and continuously reconciles a catalog of every in-scope DAG, task group, and task — pipeline identifiers, type, owner, tag mapping, schedule/frequency, last run time, and key metadata — designed to scale to very large Airflow deployments (100k+ workflows). The catalog initializes in two passes: the first job extracts pipeline metadata only, and the second backfills run history per your configured window. The catalog is queryable by domain, product, owner, and criticality once tags/semantics are mapped.Pipeline Monitoring
Alongside the plugin’s push-based model (which needs no external monitoring), Prizm runs a polling monitor for API-based connections:- Checks for new DAG/task activity every 15 minutes by default.
- Adapts refresh frequency automatically based on each pipeline’s schedule — a pipeline with a freshness SLO under 15 minutes gets checked more often.
- Detects failures, tasks stuck or running too long, missed schedules, and silent failures (a pipeline that completes without error but produces no data).
Lineage, Root Cause Analysis & GitHub Integration
- Prizm extracts DAG- and task-level lineage from Airflow’s REST API, building upstream/downstream relationships from task dependencies,
TriggerDagRunOperator,ExternalTaskSensor, and Dataset scheduling. - When an alert fires, Prizm’s investigation flow runs automatically: it walks the lineage graph upstream from the affected asset, identifies Airflow DAGs/Tasks in the upstream path as RCA candidates, pulls the last N runs for each candidate, and compares actual vs. expected schedule. If a failure or abnormal run is detected, Prizm pulls DAG run metadata, task instance states, and relevant failure logs.
- New in this release: if a candidate DAG’s source file lives in a connected GitHub repo, Prizm additionally fetches PRs merged to that file within the alert window, pulls the diff, and bundles the PR title/author/diff into the same LLM context as the alert details — producing a hypothesis such as “Code change in PR #X may have caused this because…”
- The resulting hypothesis, evidence (lineage path, run timeline, log excerpts, and PR diff where applicable), and a confidence ranking are shown directly in the alert’s investigation panel.
Blast Radius / Downstream Impact Analysis
Every incident view now includes an Impact tab showing which downstream data products, reports, and owners are affected — mapped by domain/product/owner, not just by pipeline name.Prizm Circuit Breaker — DQ Gates
Airflow DAGs can call out to Prizm at each medallion layer to validate the DQ score of an asset before continuing execution. Pre-requisites- In Prizm: Airflow connection configured, asset catalog synchronized, DQ Scores available, Circuit Breaker enabled.
- In Airflow: DQLabs Airflow package installed, DQLabs Circuit Breaker Operator configured, Prizm credentials configured.
- Step 1 — Configure the Prizm connection in Airflow.
- Step 2 — Install the DQLabs Circuit Breaker package.
- Step 3 — Add a pre-pipeline DQ gate task that validates the source asset’s DQ Score before ingestion begins.
- Step 4 — Add the ingestion task, configured to run only if Step 3 passes.
- Step 5 — Add a post-ingestion DQ gate validating the Bronze/Raw asset; runs only if Step 4 passes.
- Step 6 — Add the transformation task, running only if Step 5 passes.
- Step 7 — Add a consumption DQ gate validating the Silver/Gold asset before downstream consumption.
- Step 8 — Wire the above into your DAG’s execution flow.
Behavior: if the DQ score meets the threshold the DAG continues; if it’s below threshold the downstream tasks stop; if the asset isn’t found the task fails; if Prizm is unavailable, behavior follows your configured retry/fail policy.
Pipeline Analytics & Detailed Run Metrics
A pipeline health dashboard rolls up success/failure counts, freshness, and trend, filterable by domain, product, owner, or tag. Execution time and freshness are tracked at both the DAG-run and task-instance level —execution_time alerts if greater than 10 minutes by default, and freshness flags a silent failure such as a DAG expected hourly that hasn’t run in 3+ hours.
Log Coverage Model
Prizm formally scopes which Airflow log sources feed which capability: Task Logs (execution logs, exceptions, stack traces) are in scope for DAG/task failure detection and RCA; Scheduler, Worker, and Webserver logs are explicitly out of scope for this release.Customer-Managed Webhook Pattern & Managed Airflow Migration
For customers who prefer push-based over polling-based monitoring, the Plugin connection mode already pushes on Airflow’s native event listeners; where a customer webhook endpoint is preferred instead, configure it under Settings → Connect → Sources → Airflow → Webhook. For customers migrating self-hosted Airflow from EC2 to EKS via theKubernetesPodOperator, no connector reconfiguration is required — point the existing API or Plugin connection at the new EKS-hosted Airflow endpoint.
[Screenshot: Airflow lineage graph with root cause hypothesis panel showing linked GitHub PR]
Azure Data Lake Storage (ADLS) Connector
Prizm now connects directly to Azure Data Lake Storage (ADLS) Gen2 — Microsoft’s hierarchical, cloud-native file system built on Azure Blob Storage — to catalog, validate, and monitor structured, semi-structured, and raw files without ever copying or storing the underlying data. The connector runs as three modular Databricks Spark notebooks (Catalog Discovery, File Observability, and Quality Measures) orchestrated by Prizm, and reads files directly via the ABFS driver with no Unity Catalog table registration required. [Screenshot: ADLS asset catalog with file-level DQ scores]Authentication & Connection Configuration
- Navigate to Settings → Connect → Sources → Add Source → ADLS.
- Choose an authentication method:
- Fill in the connector fields: Connection Name, Storage Account Name, Azure Region, Auth Type, Tenant ID, Client ID / Client Secret (or Storage Account Key), File Type (CSV, Parquet, JSON, XML), and — under Advanced — Databricks Workspace URL, Databricks Cluster ID, and a scoped DQLabs API token.
- Toggle Use Vault if you want credentials pulled from a configured vault instead of entered directly (see Vault & Secrets Management below).
- Click Test Connection — this validates both ADLS access (container listing) and Databricks reachability before save is allowed.
Scope & Path Configuration
Define exactly what Prizm catalogs and monitors:
This scope definition becomes the manifest the Catalog Discovery notebook uses as its starting point — files outside scope are never cataloged, and directory depth limits prevent runaway scans on deeply nested paths.
Asset Discovery & Schema Inference
The Catalog Discovery notebook recursively traverses configured container paths, groups files into logical datasets by folder path and format (e.g. all Parquet files under/silver/orders/ become one asset), and uses Spark’s native readers to infer schema without creating tables. For Delta folders, it reads the transaction log directly to capture schema history, partition columns, and row count without a full data scan. Inferred schema is compared against the previously registered schema to detect drift (new/removed/renamed columns, type changes), and AI-powered classification (PII detection, domain tagging, glossary matching) is applied automatically. An incremental mode option processes only paths where the modification time has advanced since the last run, reducing compute on unchanged data.
File Arrival & Control Checks
Configure an SLA for each expected file feed:
Missing, late, and duplicate files are flagged as separate issue types with distinct default severities (High for missing/late, Medium for duplicates), and full arrival metadata (arrival time, file size, SLA status, duplicate flag) is logged per event.
File Format, Schema & Content Validation
Layered validation runs before deeper checks, so a corrupted file doesn’t produce misleading downstream results:- Format validation — confirms the file matches its configured format and is readable; zero-byte files are flagged as reliability failures; corrupt or unreadable files are marked Critical and the asset is marked REJECTED.
- Header/Trailer/Detail (H/T/D) structure validation — for fixed-structure files, the header and trailer rows must match configured type codes, and the trailer’s declared record count must match the actual detail row count; a mismatch is a Critical structural failure.
- Schema validation — column count, column names, and column types are checked against a baseline (auto-inferred, manually defined, or inherited from an existing catalog asset); missing columns are Critical, extra columns are a configurable Warning, and type changes generate a schema drift event.
- Record count & volume validation — files must contain at least one data record; row counts are read for free from the Delta log, Parquet footer, or ORC statistics where possible (falling back to a Spark scan for CSV/JSON); a 7-day rolling anomaly check flags unexpected volume spikes or drops.
Observability Metrics & Criticality Scoring
Prizm computes and surfaces, per asset: freshness (time since last modification, SLA status, minutes late), volume (row count, size, file count, % change), schema (column count, drift flags, added/removed/renamed columns), reliability (empty files, zero-byte files), and arrival control (arrival time, duplicate flag) — all pushed as time-series snapshots with no raw file content leaving Azure. Each asset also receives a criticality score (Critical / High / Medium / Low), weighted from downstream consumer count, configured arrival frequency, file volume, historical reliability, and data sensitivity classification. Criticality auto-assigns a monitoring mode — Max, Standard, or Chill — that controls how aggressively checks run; the mode is overridable per asset and takes effect on the next job cycle without requiring reconnection.Job Scheduling & Orchestration
All three Databricks jobs are registered automatically on source save via the Databricks Jobs API — no manual job creation required. Retry policy and timeout thresholds are configurable from the connector UI, job health is polled via the Databricks Run Status API (failed runs surface as Prizm Issues), and an on-demand manual trigger is available from the Prizm portal for any of the three modules.
[Screenshot: ADLS file arrival SLA monitor]
Vault & Secrets Management
Building on Prizm’s existing HashiCorp Vault integration (configured under Settings → Integrations → Vaults), the Use Vault option is now available on ADLS source connections, alongside the existing MSSQL and Databricks connectors.- Configure a vault at the tenant level first, under Settings → Integrations → Vaults → Add Vault, using AppRole-based authentication.
- On any supported connector’s configuration page (including ADLS), toggle Use Vault on.
- Provide the secret path/key Prizm should use to pull credentials from the vault at connection time, instead of entering them directly.
- Prizm expects a JSON-formatted secret at that path — for ADLS, this includes the storage account key or service principal client ID/secret depending on the chosen authentication method.
Issue Management
Prizm’s Issue module is the remediation layer between detection (Alerts) and resolution tracking (SLA, Exception Records) — the tracked unit of work for actually fixing a data problem.Issue Creation & Sourcing
- Issues are created automatically from Critical/High severity alerts, with metric, asset, alert message, and severity pre-populated — no manual step required.
- To create one manually: open an asset, metric, or alert detail page (or the Issue module directly) and select New Issue.
- If an open issue already exists for the same asset, Prizm prompts you to link to it instead of creating a duplicate.
- Every issue receives a unique, immutable identifier at creation, and its source type (Structural, Pattern, or another configured category) is captured at that time.
Issue Lifecycle & Status Management
Extends New / In Progress / Resolved with two new states:- Blocked — set this when work is paused on an external dependency; a reason is required, and this automatically pauses the issue’s SLA clock.
- Reopened — if the underlying alert re-fires after an issue was Resolved or Closed, the issue automatically moves to Reopened rather than spawning a new issue.
Alert–Issue Propagation
- If the source metric is deactivated or deleted, all linked issues auto-close with an appropriate reason.
- If threshold configuration changes, linked open issues are revalidated and their priority updated to match current alert severity.
- Resolving an issue updates its triggering alert’s state if the alert hasn’t already auto-resolved.
- A single issue can link to multiple alerts when the same underlying problem triggers repeated alerts on the same asset.
Issue–Exception Record Relationship
- Open the issue detail page — a count of linked exception records appears on the overview.
- If all linked exception records are resolved, the issue is automatically flagged as ready for resolution.
- If all are rejected, the issue status updates to reflect the underlying data wasn’t actually anomalous.
- Use Bulk Resolve from the issue detail page to resolve all linked exception records in a single transaction — logged in the Audit tab.
Assignment & Ownership
- Open the issue and use the Assigned To field to assign it to an individual.
- Prizm shows a suggested default assignee (based on asset ownership or steward configuration) as a one-click option rather than auto-assigning.
- Every reassignment logs the previous assignee, new assignee, timestamp, and the user who made the change.
- Unassigned Critical/High issues older than a configurable threshold surface automatically on the dashboard as a triage gap.
Issue Categorization & Taxonomy
- Set the issue’s Category (Structural, Pattern, or an Admin-configured type) at creation — filterable from the issue list.
- Admins manage the category list under Settings → Issue → Categories.
- Tags are inherited from the triggering alert by default and can be edited independently on the issue.
SLA Binding & Duration Tracking
The old “Issue Duration” field (elapsed time only) is replaced with a full SLA-aware panel showing elapsed time, target, and remaining/overdue time. Moving an issue to Blocked automatically pauses its bound SLA clock; moving out of Blocked resumes it.Comments, Timeline & Audit Trail
External Ticketing Sync
From the issue detail page, select Link External Ticket and choose Jira, ServiceNow, or ADO. Title, description, severity, and the AI summary are pre-populated on creation, and status updates propagate back when the issue is resolved in Prizm.Issue Notifications
Reuses the same channel configuration (Email, Slack, Teams, PagerDuty, Webhook, in-app) already defined for Alerts, configurable per trigger under Settings → Notifications → Issue Events.Search, Filter & Saved Views
Filter the Issue list by status, severity, category, assignee, source, tag, and date range, then click Save View to name and store the combination — privately or shared with your team.Issue Page Revamp
General UI overhaul of the Issue list and detail pages to support the capabilities above in a single, consistent layout. [Screenshot: Issue detail page with AI summary, SLA panel, and linked exception records]SLA Management
A centralized SLA policy engine gives Prizm one reusable way to define and enforce time-based service commitments across Alerts, Issues, and Exception Records, instead of separate logic per module.SLA Policy Configuration & Management
- Navigate to Settings → SLA → Policies → New Policy.
- Set Applies to Entity Type: Alert, Issue, Exception Record, or All.
- Set Severity / Category Match — which severities or categories this policy applies to.
- Set the Acknowledge Target (optional) and Resolve Target (required).
- Set the Warning Threshold — the % of the resolve target elapsed at which a pre-breach warning fires.
- Toggle Active/Inactive and save.
Policies can be cloned without affecting the original, and policy changes only apply to entities whose clock starts after the change.
SLA Clock Engine
The clock moves through Not Started → Running → Paused → Warning → Breached → Stopped, computing remaining time to the second. Pause/resume events are recorded with timestamp and reason and excluded from elapsed-time calculations.SLA Binding — Alert, Issue & Exception Record
- Alert: the clock starts automatically the instant an alert enters Firing state; alert SLA clocks do not support pause (continuous accumulation while Firing).
- Issue: supported pause reasons include Waiting on Customer, Blocked — Dependency, Waiting on Change Approval, and On Hold.
- Exception Record: individual records can carry their own SLA clock, independent of the parent alert or issue — useful when one alert produces many exception records with different resolution timelines. Bulk-resolving stops all associated clocks in one transaction.
SLA Breach Notification Workflow
Warning-threshold crossings, acknowledge/resolve breaches, and clock resumptions each notify the assignee (with configurable escalation), reusing the same channel setup as Alerts under Settings → SLA → Notifications.Jira SLA Integration
Since Jira has no native SLA construct, Prizm auto-provisions custom fields the first time an SLA-bound issue is linked: SLA Policy, SLA Status, and SLA Time Remaining, alongside the native Due Date field. A Jira status transition mapped to a configured pause reason (e.g., moving to “Blocked”) automatically pauses the Prizm SLA clock within one sync cycle. [Screenshot: SLA policy configuration screen with tiered thresholds]Microsoft Purview Integration
Prizm now integrates bi-directionally with Microsoft Purview, positioning Prizm as the data quality and observability layer that both enriches and is enriched by Purview’s governance catalog.Authentication & Connection Configuration
- Navigate to Settings → Connect → Sources → Add Source → Microsoft Purview.
- Enter Connection Name, Purview Account Name, Tenant ID, Client ID, Client Secret, and Scope (auto-populated as
https://purview.azure.net/.default). - In Purview, assign the service principal Purview Data Reader (read access), Purview Data Curator (required for push), and Collection Admin (only if using custom metadata types).
- Click Test Connection to acquire a token and validate against a Purview search API before saving.
Metadata Extraction, Classification & Push
Once connected, Prizm extracts entity metadata (tables, columns, databases/schemas, Power BI assets, ADLS paths) on the regular Catalog Job cycle, usingqualifiedName for stable deduplication and incremental extraction after the first crawl. Purview classifications and Microsoft Information Protection sensitivity labels are pulled and mapped to Prizm tags (customizable under the connection’s Classification Mapping page). Curated metadata — summaries, alerts, issues, and measures — is pushed back into Purview at the Asset, Attribute, and Domain level; an AI-generated description is only pushed once a human user has accepted it.
Custom Metadata Types & DQ Score Push
Prizm defines custom Purview attribute types (prizm_dq_score, prizm_criticality, prizm_rule_count, prizm_rules_passing, prizm_freshness_hours, prizm_last_assessed, prizm_alert_count, prizm_asset_url) via the Purview type-definition API, requiring the Collection Admin role. DQ scores and quality metrics push automatically whenever an asset’s score changes by ≥1 point, plus a full daily sync, with an on-demand push also available from the connector settings page.
Governance Alignment & Glossary Sync
Prizm extracts Purview governance domains and data products and surfaces them on the corresponding asset page; conflicts with Prizm’s own domain assignment are flagged for steward review rather than silently overwritten. Purview glossary terms and critical data elements are pulled in to enrich asset descriptions and guide AI-generated descriptions, and assets containing a critical data element receive a criticality-score boost. [Screenshot: Purview integration health dashboard]AI Guardrails & Platform Controls
As Prizm’s AI footprint has grown, this release adds the first layer of organization-wide control over where and how AI is used.Turning AI Off Platform-Wide
- Navigate to Settings → Platform → LLM Provider.
- Select None as the provider. Both the Quick Reasoning and Deep Reasoning model pickers become disabled.
- Every AI-enabled surface across the platform displays “AI-generated insights are turned off” instead of disappearing, with a link back to this setting.
- AI icons (sparkle, refresh) switch to a grayed-out state.
Module-Level AI Toggles
Independent of the global switch, AI can be turned on/off per module under Settings → Platform → AI Controls: Asset, Metric, Alert, Issue, Context, and Converse (the AI chatbot).Write-Action Restriction & Risk Register
The AI layer is hard-blocked from executing update or delete queries under any prompt — a request that would require one returns “Update/Delete are not permitted actions” instead of executing. Every AI-assisted feature in the platform now has a documented risk and mitigation, generally following two patterns: suggest-only by default (recommendations require explicit human acceptance before being applied) and grounded generation (AI output is generated from the platform’s own computed data where possible, labeled with an “AI-generated” badge). [Screenshot: AI guardrail settings with module-level toggles]Autonomous Layer (AI Chatbot) Enhancements
Mintlify documentation integration — The Prizm AI Chatbot now integrates with the Mintlify MCP server behind the official documentation site. Ask the chatbot a product question and it retrieves the answer from the official user guide rather than relying on general model knowledge alone. GPT performance & stability — A round of latency and stability fixes across the chatbot’s underlying agent tools (asset, metric, schedule, governance, and lineage agents), reducing response time and error rates for common conversational workflows.Exception Management Enhancements
SLA-Based Exception Management
- Exception records inherit the SLA defined on their parent alert or issue by default, or can be configured with their own SLA at the metric level under Settings → Exception → SLA Configuration.
- For each metric, configure: SLA duration, notification channel(s), notification recipients, escalation timing, and notification frequency.
- The SLA timer starts the moment the exception record is first written to the Exception Repository — not at workflow creation, metric execution, or assignment time.
Exception Incremental Logic — Auto-Resolve
During every metric/workflow execution, Prizm validates previously flagged exception records against the latest source data. If the underlying condition has cleared (the record no longer violates the metric rule) or the record no longer exists in the source, its status automatically becomesAUTO_RESOLVED — removing the need to manually close exceptions that have already self-corrected upstream.
Exception Record Notifications
Configure notification rules under the exception workflow’s Actions tab. Assigned users are notified on new assignment and on reassignment, and external recipients can be added under Audience → External Email.SSO / SCIM & Access Management
SailPoint SSO & SCIM integration — Adds SailPoint as a supported SSO/SCIM identity provider alongside the existing Okta, IBM, Ping, and Azure integrations. Configure under Settings → Platform → Identity Providers → SailPoint. Auto group-creation control for SSO — Previously, Prizm always created a new user group automatically the first time it saw a new group attribute from the SSO provider. Admins can now turn this off under Settings → Platform → Identity Providers → [provider] → Auto Group Creation, so incoming SSO attributes are matched only against existing groups rather than silently creating new ones.Improvements
DBT Pipeline & Root Cause Enhancements
DBT Test Score
dbt test results now contribute to an asset’s Prizm data quality score rather than surfacing only as a pass/fail flag. Formula:dbt Test Score = (Total Rows − Failed Rows) / Total Rows × 100
Failed rows come from dbt’s run_results.json; total rows come from catalog.json row-count stats when available (requires dbt docs generate in the same job), falling back to Prizm’s existing profiling metadata otherwise.
To configure: open your DBT connector’s Configuration screen, and under Model Scoring choose Based on DBT tests (new default, scores each test using the formula above) or Based on the underlying asset (previous behavior). The resulting score displays on the DBT model page and next to the materialization on the underlying asset page.
Known limitation: the failure ratio is only mathematically valid for row-grain tests; built-in unique/accepted_values tests return one row per failing value rather than per failing row, so scores for these test types are approximate.
Prizm dbt CLI — Now Published to PyPI
Theprizm-dbt CLI plugin used to push dbt Core artifacts to Prizm is now published as a standard PyPI package, so teams can add it to any CI/CD pipeline with a plain pip install prizm-dbt instead of a custom install step. The plugin runs as an explicit, separate step after your existing dbt commands (it does not execute dbt itself), operating purely on the artifact files already on disk — safe to drop into CI/CD, Airflow, GitHub Actions, or Jenkins. Key commands:
Every push includes mandatory execution context (environment, dbt target, dbt version, adapter type, project identifier, invocation timestamp, execution status) for lineage versioning, observability, and historical replay. Authentication is token-based; tokens are never logged or printed, and TLS is enforced.
Investigate Agent — Explains Root Cause from PR Changes
When the Investigate Agent identifies a GitHub pull request as a likely root cause, it now generates a plain-language explanation of what changed and why it’s the likely cause, alongside the PR diff — rather than linking to the diff and leaving interpretation to the user.Investigate Agent — Dynamic PR Lookback Window
Previously, root cause investigation only considered PRs merged within a static 48-hour window before the alert, which could miss relevant changes when the affected asset (or an upstream asset) hadn’t run since before that window. Prizm now uses the last successful run time of the current asset — and all upstream assets — as the starting point for PR relevance, falling back to the 48-hour window only when no successful run exists.Metric Enhancements
Expanded Schema-Change Checks
The schema metric now detects, for every connector, column additions, deletions, renames, data-type changes, and length/constraint changes — captured with old/new values for each changed column.Schema Changes on the Asset Overview Page
Schema-level changes now ripple through the asset overview: a change-count badge on the Schema tile links to a timeline of what changed, the Description card shows a “schema changed since last review” warning with a re-verify action, downstream lineage highlights impacted assets in amber, and the Context/Freshness panel calls out recent schema changes directly. The detail timeline is color-coded by outcome (amber for schema change, red for alert raised, green for a clean run), with a diff panel showing before/after values and downstream impact per run.Asset Change Detection & Status Tracking
For any non-attribute catalog object, additions, changes, and deletions are captured with name, type, timestamp, and user, and drive an automatic status update: newly added assets start as Pending, deleted assets move to Deprecated, and changed assets revert to Pending even if they were previously Verified or Ready for Review — all recorded in the audit trail.Parametric Metric
A new Parameter metric type lets one measure definition accept runtime input parameters (date range, region, threshold, segment) — sourced from the bound asset, an organization-level constant, or any metadata field — and run the same SQL logic across different contexts. To create one: write your SQL using{{param}} tokens in the measure editor; Prizm auto-detects the parameters used at save time. Click Run, and you’ll be prompted for input values before execution. This works in both the UI and via the API (which accepts a parameters payload and returns the run ID, status, computed value, and effective parameters used). Every run stores the resolved SQL and effective parameter values for audit purposes.
Enhanced Threshold Configuration & Alerting Framework
Refinements to how thresholds are configured and evaluated for metric-based alerting, improving consistency between the configured threshold and the resulting alert behavior — review threshold settings under each metric’s Edit Configuration → Alerting tab if you rely on custom thresholds.Metric Status Defaults to Inactive Until Approved
Based on direct customer feedback: if a metric’s status is anything other than Approved (i.e., still Pending or Ready for Review), it now defaults to Inactive rather than running. This prevents unreviewed metric logic from generating alerts or contributing to scores before it’s been through the approval workflow.Metrics Feedback — Customer-Driven
A further round of fixes and refinements to metric configuration and display based on direct customer feedback on the Metrics module.Governance Enhancements
A set of improvements to the Governance module driven by direct customer feedback:- Sub-domain visibility and selection — Domains and sub-domains previously appeared bunched together in the same list, making it hard to identify the correct sub-domain and allowing both a sub-domain and its parent domain to be selected redundantly at the same time. Sub-domains now render as a hierarchical view (similar to the Domains page): selecting a sub-domain auto-selects and grays out its parent domain, and once applied, the asset displays both — for example, “Supply Chain – Planning” instead of just “Planning.”
- Source configuration — Improvements to adding tables under a source: the table list no longer needs to fully populate before you can start selecting, table names can be copied and pasted into the search field, and a checklist view lets you select multiple available tables at once instead of searching one at a time.
- Dashboard trend — Metric-level trendlines are now available (previously only asset-level), with an additional score line alongside the actual value on every metric timeline; dashboard analytics can also break down DQ trend by application, product, or tag, not just domain.
- Search bar — Search now returns real results across assets, terms, glossary, and other object types instead of always redirecting to the Asset page, with a dedicated Semantic section positioned between Assets and Documents in the results, and filtering to narrow results by type (asset, glossary, term, policy, etc.).
- General governance feedback — Domain pages now support “Asset Type” as a configurable column on Linked Assets (matching the Metrics view); glossary Terms inherit their Domain and Glossary association automatically rather than needing manual re-entry; Terms can now be added directly from a Category page rather than only from the parent Glossary page; and ingested tags can be filtered out or removed after ingestion rather than only at the point of ingestion.
Analytics Dashboard Enhancements
Data observability dashboard — A new static dashboard surfacing signal coverage: scorecards for the % of tables with no freshness issues, no volume anomalies, and no custom measure violations, plus “noisiest tables” breakdowns for each signal over the last 7 days. Data quality dashboard — A new static dashboard surfacing quality metrics: custom measure count with growth trend, a dimension-by-dimension breakdown (Accuracy, Completeness, Timeliness, Consistency, Validity, Uniqueness) with violation counts and scores, and test coverage by domain.Platform Navigation & Catalog UX
Settings & Navigation Menu Reordering
The Settings menu is reorganized into a clearer hierarchy:- Platform — Configuration, Token, Storage, Metadata (Field, Overview: Summary/Culture/Architecture/Governance/Theme, Dimension)
- Security — SAML/SSO, Access
- Integration
- Remediation
Catalog Page Improvements
A batch of usability fixes across asset, metric, and domain pages based on direct customer feedback:- The Definition and Description fields now render on separate lines when editing, instead of running together.
- AI-generated Context now regenerates correctly when manually triggered, instead of silently failing to update.
- Custom fields can now have their own descriptions, and can be scoped to a specific object type (e.g., Asset only) instead of appearing by default across every object type including ones where they don’t apply.
- AI Insights cards now expand to fit their full content instead of being cut off.
- Status changes (e.g., to Approved) are now gated by the corresponding permission set rather than being available to any role regardless of assigned permissions, and approval comments are captured whenever a status changes on an Asset, Metric, Domain, Product, Application, Term, or Tag.
- Metric cards resize dynamically so they consistently fit on one line regardless of count, and card overflow on pages with many cards now scrolls instead of breaking the layout.
- A new Propagation section (under object Properties) lets admins configure how ownership and semantic context (Domain, Product, Application, Tag) cascade from a source or domain down to its tables, schemas, columns, and metrics — including whether propagated values can be locally overridden at any level, and whether domain-level assignment takes priority over source-level assignment when both are present.
Logging Enhancements
Job-level log improvements — Enhancements to job-level logging for clearer visibility into individual job execution details.Scheduling
Event-driven scheduling — Adds support for event-based schedule triggers alongside the existing time-based model. Configure under Settings → Platform → Schedules → New Schedule → Trigger Type → Event, and select the upstream event that should kick off this job.Screenshots referenced above ([Screenshot: …]) are placeholders — please attach the corresponding product screenshots before publishing.