Re-engineer something you own
Backfill a bounded date range after a logic change without a full refresh
- When a definition changed and months of history need recomputing, but a full refresh would take all weekend.
- When only a known date range is affected by the logic change, yet the rebuild touches every partition.
Recompute only the affected partitions after a logic change, with idempotent writes and reconciliation that the untouched partitions did not move. Covers the bounded backfill itself, not deciding whether the logic change was correct.
Sample This Recipe has not been materialized in the Cookbook repository yet. Its trigger, description, prompt, agent guidance and acceptance conditions, and the explanation below, are prototype drafts. Its name, job, area and readiness come from the reconciled Cookbook seed snapshot. Readiness is a separate question from this one: it says whether the capability exists, not whether the writing has been reviewed.
Review planned Recipe
At least one capability or object type this Recipe needs is not supported yet.
Read the VibeData Recipe `bounded-partition-backfill` at https://getvibedata.ai/cookbook/bounded-partition-backfill At least one capability or object type this Recipe needs is not supported yet. Treat it as a reference, not as work to execute.
Recipe id bounded-partition-backfill · Not yet materialized in the Cookbook repository, so the pointer addresses this page.
Verified by
What has to be observably true before this Recipe is finished.
- partitions outside the affected range are byte-for-byte unchanged
- partitions inside the affected range match the new logic exactly
- a repeated run of the same backfill changes nothing further
- the run evidence records the exact date range that was touched
Recipe promptThe task specification the agent reads. Reference only — it is not what you copy.
Deliver: Backfill a bounded date range after a logic change without a full refresh. Recompute only the affected partitions after a logic change, with idempotent writes and reconciliation that the untouched partitions did not move. Covers the bounded backfill itself, not deciding whether the logic change was correct. Execute inside the current Intent. Its Domain, repository, platform, environment and attached sources are the context for this work — read them rather than asking for them. The work is done when: - partitions outside the affected range are byte-for-byte unchanged - partitions inside the affected range match the new logic exactly - a repeated run of the same backfill changes nothing further - the run evidence records the exact date range that was touched Report the evidence for each condition above with the result. A condition you cannot meet is something to say, not something to work around.
Agent guidanceHow the agent approaches the work, and what it will not do.
Write down the behaviour that has to stay constant before you touch the current form, and get that agreed. Rebuild in an isolated copy, then reconcile old against new at the grain the consumers read. The reconciliation is the deliverable; the diff is not.
Composes
- dbt model authoring and layering
- dbt in the project
- isolated-copy execution and gate verification
Asks first
Semantic decisions the Intent cannot supply. Never context Studio already holds.
- which Fabric target this work lands on, when the Domain carries both a Lakehouse and a Warehouse
Guardrails
- Build in an isolated copy. Production is read, never written.
- Do not edit the object being held constant. Parity that required a change to the original is not parity.
- At least one capability this Recipe needs is not supported yet. Say so and stop rather than substituting a different approach.
What you need
- Microsoft Fabric Lakehouse, Microsoft Fabric Warehouse, MotherDuck, or DuckDB.
- A dbt project you can build, and read access to the models it starts from.
- dbt in the project, or the intent to add it.
How it goes
- Name the thing you own, and what about its behaviour has to stay the same.
- Let it read the current form and write down the behaviour it is holding constant.
- Review the design before any SQL is written. Grain first.
- Let it rebuild in an isolated copy of your estate. Production is untouched throughout.
- Reconcile the new form against the old one, row by row.
- Read the acceptance conditions. They are the contract; the diff is not.
What you end up with
The deliverable, in your own repository, as transformation work a reviewer who knows the project reads as native to it. Alongside it, the evidence for every one of the acceptance conditions above — which is the part that is still there in three weeks when somebody asks.
