Inspiration

A schema migration can look safe in a pull request because reviewers cannot see every downstream dependency. DataHub lineage contains that context, but engineers still have to translate it into a release decision, remediation plan, and operational record.

What it does

DataHub ChangeGuard reviews a proposed schema against the current DataHub schema, owner, tags, and downstream table and field lineage. It deterministically scores rename, removal, type, nullability, and required-column risks. It generates a machine-readable audit, a human report, compatibility SQL, and a dbt contract.

The workflow is read-only by default. For a blocked proposal, an explicitly confirmed command adds a review-required tag and raises one DATA_SCHEMA incident. The audit fingerprint prevents duplicate active incidents.

How we built it

  • Python 3.11 and DataHub Agent Context Kit 1.6.0.14 for entity, schema, and lineage reads.
  • DataHub Python SDK for isolated demo seeding and confirmed entity updates.
  • DataHub GraphQL for incident creation and read-after-write verification.
  • A deterministic analyzer for reproducible safety decisions.
  • A composable Agent Skill that gathers catalog evidence first, preserves uncertainty, requires explicit rename hints, and stops before deployment.
  • Static HTML, Markdown, JSON, SQL, and YAML outputs so the result works in CI and human review without a paid model API.

DataHub use

The verified demo calls the official Agent Context Kit tools get_entities, list_schema_fields, and get_lineage against DataHub Core 1.6. It reads schema metadata, ownership, tags, downstream lineage, and field lineage. After explicit confirmation, it writes back a review tag and a DATA_SCHEMA incident, then verifies both records through DataHub.

Challenges

Table-level lineage alone can exaggerate impact. ChangeGuard therefore performs bounded field-lineage lookups and labels table-only evidence as potential impact. It separates AI-assisted context gathering from deterministic enforcement so the same proposal produces the same result.

Accomplishments

  • Exact affected fields are connected to cataloged downstream datasets.
  • Risky changes generate concrete compatibility SQL and a dbt contract instead of only a warning.
  • Writeback is opt-in, auditable, and idempotent.
  • Every audit records the exact Agent Context Kit version and DataHub source.
  • The full demo runs locally without an LLM key or DataHub Cloud-only features.

What we learned

Metadata becomes actionable when every finding includes evidence strength, affected assets, and bounded remediation. Safe agent workflows also need a hard distinction between reasoning, code proposal, and external mutation.

What's next

  • Add CI adapters for GitHub and GitLab schema-change pull requests.
  • Support DataHub MCP as an additional context transport where available.
  • Add configurable organization policies and incident resolution when a proposal is corrected.

Built With

Share this project:

Updates