This repository was archived by the owner on Jun 13, 2026. It is now read-only.
Releases: benseverndev-oss/goldenpipe
Releases · benseverndev-oss/goldenpipe
Release list
v1.0.6 — pydantic CVE fix
Bump pydantic to >=2.7 to resolve CVE-2024-3772 (regex DoS).
v1.0.5 — Silence Smithery -32601 warning
Register empty list_resources and list_prompts handlers in the MCP server so Smithery's probe no longer hits 'method not found' (-32601). No functional change to tools.
v1.0.4 — Geo-Compound Blocking & Cardinality Filter
Geo-compound blocking and cardinality filter in column-context config
The pipeline's column-context config builder now produces smarter blocking and matchkey configurations.
What changed
- Geo-compound blocking: When geo columns exist in pipeline context, blocking keys compound them with name/string columns. Picks lowest-cardinality geo (state > city) for broadest discrimination.
- Soundex isolation: Soundex passes only apply to name fields — never compound geo+name keys where soundex on "CA" produces meaningless "C000".
- Cardinality filter: Low-cardinality string columns (e.g.,
hospital_typewith 5 values) are excluded from fuzzy matchkeys to prevent score inflation. - Null-safe cardinality: Uses
drop_nulls().n_unique()instead ofn_unique()which counts null as distinct. - Helper extraction:
_make_blocking()reduces config duplication across 4 blocking paths.
Install
pip install goldenpipe==1.0.4Full Changelog: v1.0.3...v1.0.4
v1.0.3
Bug Fixes
- Fix schema mismatch in dedupe stage: Cast all DataFrame columns to Utf8 before calling GoldenMatch to prevent mixed-type crashes
- Fix OOM on oversized blocks: Set
skip_oversized=Trueon pipeline-generated blocking config to prevent massive blocks (e.g. 7,600 empty-name records) from causing memory exhaustion - Improve error diagnostics: Log full tracebacks on stage failures and debug-level config details
Testing
- Full pipeline on UK GIAS schools register (52,288 rows, 135 columns) — all 4 stages SUCCESS in 40s
- 120 tests passing
v1.0.2
Changes since v1.0.1
- feat: column context pipeline — GoldenCheck, GoldenFlow, and GoldenMatch now share column metadata through the pipeline context. Column types, null rates, and cardinality are classified once and flow downstream for smarter auto-config.
- refactor: ColumnType/CardinalityBand enums — type-safe column classification with post_init validation
- fix: expose unique/dupes/match_stats in pipeline artifacts — DedupeStage now stores full dedup results
- fix: utf8-lossy encoding for CSV reads — prevents crashes on Latin-1 data
Tested on 208,505 NC voter records: 191,962 distinct people in 34 seconds with zero config.
v1.0.1
Changes
- Add MCP Registry metadata (server.json, mcp-name verification)
- Add CI test workflow (ruff + pytest)
- Add community files (CODE_OF_CONDUCT.md, SECURITY.md)
- Fix version mismatch in init.py
- Add dynamic CI badge to README
- Add Documentation and Changelog URLs to pyproject.toml
- Clean up tracked internal files and expand .gitignore
v1.0.0
First stable release of GoldenPipe — the Golden Suite orchestrator.
Features
- End-to-end pipeline: chains GoldenCheck (scan) → GoldenFlow (transform) → GoldenMatch (dedupe) in one command
- Adaptive logic: skips transformation if no issues found, routes to PPRL if sensitive fields detected
- Pluggable stages: works with Golden Suite tools or custom stages via entry points
- 4 MCP tools: list_stages, validate_pipeline, run_pipeline, explain_pipeline
- Multiple interfaces: CLI, REST API, TUI, MCP server, A2A protocol
- Zero-config default:
goldenpipe run data.csvjust works - Rich reporting: reasoning for every decision, timing metrics, artifact outputs
Install
pip install goldenpipe # Core
pip install goldenpipe[golden-suite] # + all Golden Suite tools
pip install goldenpipe[all] # Everything