Build with DataHub · The Agent Hackathon · judge workbench
The PR looks fine. DataHub knows it isn't.
Downstream Impact Guardian is a reusable GitHub Action: on every dbt pull request it detects schema / logic / semantic drift, reads DataHub for the real cross-system blast radius, writes a PROPOSED Data Contract back into the catalog, and posts one comment with mergeable compatibility code. Everything below is a real, checked-in guardian run — no account, credentials, or setup required.
Four judge routes, in effort order
Routes 1–2 need nothing at all.
Routes 3–4 use read-only credentials published in the submission description. Full
guide, including a criterion→evidence map, in
docs/JUDGING.md.
- 1 · 60 seconds — this pageRead the four verified reports below. Each was posted by the published action running cross-repo on a standing demo PR; links go to the live comments.
- 2 · 5 minutes — trigger it livePress the button on the demo page: it opens a real PR against fiction-retail-dbt, the real Action runs, and the agent's report renders on that same page. No account needed.
- 3 · 15 minutes — browse the catalogOpen the live
DataHub instance (read-only login
in the submission description) and see what the agent reads: lineage on
fct_orders, thedepends_on_columnsdeclaration, and the PROPOSED Data Contract it wrote back. Live during the judging window (Aug 17–31). - 4 · Power route — interrogate it yourselfPoint your own
agent at the catalog via the shipped
.mcp.json(mcp-server-datahub) and ask “who breaks if fct_orders drops order_total?” Read-only token in the Devpost testing notes.
Verified runs — four scenarios
Adopt it
- uses: jwlai-cloud/downstream-impact-guardian@v1
with:
dbt-project-dir: dbt
datahub-url: ${{ secrets.DATAHUB_GMS_URL }}
datahub-token: ${{ secrets.DATAHUB_GMS_TOKEN }}That block is the consumer repo’s entire integration surface — its first real run even caught a portability bug dogfooding never could.
downstream-impact-guardian · fiction-retail-dbt (consumer) · docs/ARCHITECTURE.md · docs/adr/ · CONTEXT.md · design blog in docs/blog/