Engagement · Rebuild
Medallion Rebuild
“Redesign this domain into clean, tested layers and hand it back as models I own.”
One named domain, redesigned into bronze, silver and gold layers, generated as SQL models and run against your warehouse before we hand them over. You own the output and we leave.
In scope:
- One named domain redesigned into clean layers
- The SQL models, macros and sources files, laid out for dbt and yours to keep
- A schema.yml carrying the generic tests we ran — not-null, unique, accepted values, foreign keys — so the tests are yours as well as the models
- Every model run against your live warehouse, with the checks described below
- Lineage and model counts before and after, so the change is legible to someone who wasn't in the room
- The business logic we kept, and the logic we deliberately dropped, each with a reason
What we need
- The audit first — it is what makes the rebuild scopeable
- A staging schema we can build into
- One named reviewer with a mandate to accept the work
How long
Out of scope:
- Domains outside the one we name in the agreement
- Orchestration changes — we do not touch your scheduler
- BI-layer rework, dashboards or report migration
- Deploying the models into your production warehouse. We hand them to you; you run them
- A row-by-row reconciliation of old numbers against new ones
What we mean when we say tested.
We generate the models, run them against your Snowflake or Athena connection, and check that each one returns rows, that its primary key is unique, that no column comes back completely empty, and that the types are what we said they'd be. On top of that we run dbt's own generic tests — not-null, unique, accepted values, and foreign keys against their parent — and hand you the schema.yml for them, so the tests we ran are tests you keep. Where a test can't be evaluated soundly it comes back marked skipped, never passed. We don't run a full dbt build, and we don't compare your old numbers against the new ones row by row. If a figure has to reconcile exactly, that's a conversation for the call.
On engines
On Snowflake you get dbt-shaped SQL models. On Athena/Glue the deliverable is plain SQL — the dbt conversion step does not run for that engine.
Not here yet
In progress Today you get the models, the macros, the sources file and the schema.yml of tests, which drop into a dbt project you already maintain. Handing you a project that runs on its own, without one to drop it into, is in progress.
Written in future tense on purpose. Anything on this list is something we intend to ship, not something you would be buying today.
Scope the engagement in thirty minutes.
Bring the domain that causes the most difficulty. If it turns out this is not the right engagement for you, we will say so and point at the one that is.