Skip to content

Releases: RajaMDM/AURUM

v0.2.0 — The AI-Era MDM Release

Choose a tag to compare

@RajaMDM RajaMDM released this 07 May 06:18

v0.2.0 — The AI-Era MDM Release

This release transforms AURUM from a working pipeline into the definitive open-source MDM reference repository.

What's New

📊 Sample Data — 3,000 rows across all 7 domains
Previously only 4 domains had sample data. Now all 7 are covered with deliberately dirty, globally diverse synthetic data. Fictional company names throughout — no real organisations referenced.

Domain Rows
Customer 600
Product 500
Vendor 500
Asset 400
Employee 400
Location 300
Counterparty 300

📚 41 Use-Case Playbooks (use_cases/)
Three tiers of real-world MDM scenarios:

  • Tier 1: 35 single-domain use cases — 5 per domain across all 7 domains
  • Tier 2: 5 cross-domain pair scenarios (2–3 domains interacting)
  • Tier 3: 1 grand scenario — New Store Opening, all 7 domains in one business event

📖 Narrative Documentation

  • THE_INTELLIGENT_REFINERY.md — MDM in the age of AI agents: LLM rule generation, Isolation Forest anomaly detection, MCP-native pipeline, agentic stewardship
  • THE_MDM_WORLD.md — 4-act MDM journey: single domain → silos → partial cross-domain web → full golden web

⚖️ Global Compliance Guide

  • DATA_SOVEREIGNTY_AND_COMPLIANCE.md — AURUM mapped to UAE PDPL, ADDA, DDA, KSA PDPL + NDMO, Qatar PDPL, GDPR, CCPA, India DPDP, China PIPL + DSL, Singapore PDPA, Australia Privacy Act, POPIA and more. Official public document links included for every framework.
  • DISCLAIMER.md — all entities fictional, coincidence disclaimer

🔧 CI Fixed
All 5 jobs green across Python 3.10 / 3.11 / 3.12.


Full details in CHANGELOG.md

v0.1.1 — Architectural rewrite of survivorship pipeline

Choose a tag to compare

@RajaMDM RajaMDM released this 02 May 08:19

Changed

  • Survivorship pipeline rewritten with three-step architecture:
    standardize → validate → survive. Real MDM tools cleanse before
    validating before surviving; v0.1.0 jumped straight to validate.
  • Names now use independent per-field survivorship (the matcher
    established identity; survivorship picks the cleanest version of each
    attribute independently).
  • Geography (city, country) now uses linked-tuple survivorship —
    the whole tuple comes from one source. Prevents the "Dubai, UK"
    frankenrecord failure mode where independent field selection produces
    geographically impossible combinations.
  • Trust score reformulated: 0.6 × completeness + 0.4 × source
    diversity. Single-source records cannot exceed ~0.73 — diversity matters.
  • Matcher re-weighted: name 0.65, email 0.25, phone 0.10. Added a
    name-boost floor so strong name matches alone can carry a pair.
    Threshold lowered to 0.65 with the boost.
  • Sample data generator now emits geographically-consistent dirty
    pairs (Dubai always with a UAE variant; London always with a UK variant).
    Format variation is realistic dirt; geographic mismatch was unrealistic.

Added

  • Standardization layer (standardize_name) reverses known dirt
    patterns before validation: leetspeak (@→a in non-email context),
    trailing punctuation. Pluggable via standardizer callable for
    domain-specific rules.
  • Transitive cluster builder (build_cluster_ids) — connected
    components on the match graph. A→B and B→C cluster {A, B, C} even if
    A→C wasn't directly scored above threshold.
  • Demo assertions as CI guards:
    • len(matches) > 0, len(cluster) >= 2
    • No @ characters in golden names (validator regression check)
    • Nameless-record assertion (fails loud if validator/standardizer break)
    • Frankenrecord geography assertion (golden city + country must
      co-exist as a pair in some cluster source)

Fixed

  • v0.1.0 produced a "golden record" called S@R@H Smith with a misleading
    trust score of 1.0. Names are now standardized before validation.
  • v0.1.0 found zero matches above threshold despite duplicates in the data.
    The matcher reweighting and name-boost floor fix this.
  • v0.1.0 trust score measured only attribute fill rate, ignoring source
    diversity. Any random row with all fields filled scored 1.0. Fixed.

Documentation

  • README rewritten with explicit Component Status table — every component
    marked ✅ Working, 🔧 Stub, or 📋 Planned. No more overpromising.
  • ROADMAP.md added — captures v0.2.0, v0.3.0, v0.4.0, v1.0.0 milestones
    and triggers.
  • CHANGELOG.md added — this file.

v0.1.0 — Initial reference release

Choose a tag to compare

@RajaMDM RajaMDM released this 02 May 08:22

[v0.1.0] — 2026-05-02

Added

  • Initial reference implementation across all 5 stages
  • 7 domain models (Pydantic)
  • Sample data generator (deliberately dirty across 4 domains)
  • ASSAY schema inspector
  • UNEARTH Customer profiler
  • REFINE matcher and survivorship (v1 — superseded in v0.1.1)
  • UNFURL publisher stub
  • MARK lineage tracker
  • MCP server with 3 tools
  • Power Platform Customer Dataverse schema
  • Certification program outline (3-tier curriculum)
  • CI workflow (Python 3.10/3.11/3.12)
  • Trust files: SECURITY, CONTRIBUTING, CODE_OF_CONDUCT, CITATION, LICENSE