Skip to main content
GoldenAnalysis is the suite’s read-only analysis, metrics, and reporting layer. It sits beside the pipeline rather than inside it: it consumes the typed artifacts any other package produces (a GoldenMatch dedupe result, a GoldenCheck scan, a GoldenFlow manifest, a whole GoldenPipe run) and emits one unified, comparable, exportable AnalysisReport. It never transforms data, mutates a store, or makes a pipeline decision. It answers questions about a run that previously meant hand-writing a notebook against each package’s bespoke output: “what was the match rate?”, “how did the cluster-size distribution shift versus last week?”, “did quality-finding counts regress after the GoldenFlow rule change?”, “roll all five stage outputs into one report for the data steward.”

Install

The generic path works on any Polars DataFrame even with no other Golden package installed.

Quickstart

Analyze a frame directly:
Or analyze a producer’s result and let the right analyzers fan out:
On the CLI:

Analyzers

Analyzers are a registry (mirroring GoldenPipe’s stage entry-points). Each computes a typed Metric set plus optional tables, and degrades gracefully — it emits what its present artifacts support and records what it could not compute in report.source. The recall certificate is a first-class input: match.rates emits recall_safe_bound, the alerting metric for unsupervised runs. Attach it with dedupe_df(..., certify=True).

The report

Every analyze entrypoint returns one AnalysisReport:
AnalysisReport / Metric are wire types kept in snake_case on every surface, so a report crosses the JSON wire between Python and TypeScript without remapping.

GoldenCheck vs GoldenAnalysis

They are easy to confuse and deliberately distinct: The hard line: GoldenAnalysis depends on other packages’ types; never the reverse.

More

Cross-run analysis

Trend metrics over a run history and detect regressions vs a baseline.

Native accelerator

The optional Rust kernel for the heavy aggregation primitives.

In a GoldenPipe run

Register the read-only goldenanalysis.report terminal stage so one pipeline runs Check → Flow → Match → Identity → Analysis:
The stage runs analyze_pipeline over the run’s accumulated artifacts and attaches an analysis_report. It writes nothing back to the data.

TypeScript

goldenanalysis ships a TypeScript port (goldenanalysis on npm) with the same AnalysisReport wire types, the frame analyzer, the suite analyzers, and the cross-run layer. The core is edge-safe (no node: imports); file-backed ReportHistory lives in the Node entry.

MCP

goldenanalysis mcp-serve exposes four read-only tools — list_analyzers, analyze_frame, get_trend, detect_regressions — and they surface transitively through the aggregated goldensuite-mcp server.