Inspiration
We run Cedars Abroad's own executive certificate platform -- three certificate programs (HR Talent Lifecycle, AI Fundamentals, and an AI-Enhanced Balanced Scorecard track) that recently got consolidated onto a single generalized grading backend and shared admin dashboard. The moment we did that, a new risk appeared: change a question bank or grading rule for one program, and you can silently affect grading behavior for the other two. Nobody could see that blast radius without reading code. Universities and schools running multiple courses on shared infrastructure have the exact same blind spot. DataHub already models this kind of lineage -- we wanted an agent that reads it and tells you what breaks before you ship a change.
What it does
Point the agent at a content asset (a question bank, a grading config, a course). It:
- Connects to DataHub through the DataHub MCP Server.
- Looks up that asset's real schema, ownership, and upstream/downstream lineage -- e.g., which certificate programs feed into which shared grading backend, dashboard, or notification system.
- Generates two artifacts grounded entirely in what it found:
- a schema/doc entry describing the real fields (no invented columns)
- a PR description explaining why a change matters, naming the actual downstream programs, cohorts, or dashboards that could be affected
We demoed it on our own platform's real structure: three certificate question banks feeding a shared grading backend (from our "Generalize admin/grading backend to support all 3 certificate programs" change), which in turn feeds the admin dashboard and Resend email notifications. Ask the agent about the HR certificate's question bank, and it correctly flags that changes there ripple into the shared grading backend used by the AI Fundamentals and Balanced Scorecard programs too -- because that's the real lineage, not a guess.
The same pattern applies directly to any university, school, or training provider running multiple courses or certificate tracks on shared grading/content infrastructure.
How we built it
The core is a tool-use loop written with the anthropic and mcp Python SDKs: Claude drives the conversation, and every tool call is proxied live to DataHub's MCP Server (mcp-server-datahub) running against a local DataHub instance. Rather than demo on DataHub's generic sample data, we wrote a small ingestion script using DataHub's Python SDK to model our own certificate platform's real lineage graph -- three question banks, a shared grading backend, an admin dashboard, and an email notification system -- directly from our production commit history. A .mcp.json also makes the same MCP server available interactively inside Claude Code for exploring the graph.
Challenges we ran into
Standing up DataHub itself, on an 8GB RAM dev machine, turned out to be the hardest part -- harder than the agent logic. DataHub's full quickstart stack (GMS, OpenSearch, Kafka, MySQL, frontend, actions) needs 4.3GB+ on its own, and Docker Desktop repeatedly crashed under that pressure, compounded by intermittent TLS handshake timeouts pulling images in parallel from Docker Hub. We fixed it by raising WSL2's memory ceiling, freeing RAM by stopping unrelated containers, and switching to sequential, retried single-image pulls instead of letting docker compose pull everything in parallel at once.
Accomplishments that we're proud of
Grounding the demo in our own real, running product instead of synthetic sample data -- the lineage the agent reasons over is the actual shape of our certificate platform, and the risk it flags (shared grading backend, shared dashboard) is a real one we now have to manage as we add more programs.
What we learned
That the moment you consolidate shared infrastructure -- exactly what we did generalizing our grading backend -- you create invisible coupling between things that used to be independent. A metadata graph is what makes that coupling visible again, and an agent sitting on top of it is what makes it actionable instead of just documented.
What's next for LineagePR
Writing back to DataHub (via its mutation tools) so flagged risks and generated descriptions get pushed back into the catalog after human review, and packaging the ingestion pattern so any school or university can point it at their own LMS/grading data instead of Cedars Abroad's.
Log in or sign up for Devpost to join the conversation.