The problem
Fabric gives you the pieces. Keeping them together is the hard part.
A Lakehouse table or Warehouse query can be simple on its own. Keeping files, Python, Delta, shortcuts and T-SQL in sync gets harder as the project grows.
One data path crosses several Fabric tools
Fabric has good tools for each step. The Warehouse query still has to wait for the Lakehouse table, and the Lakehouse table still has to wait for the files. Someone has to keep that order correct.
Without Weaver, the same dependencies often appear again in pipelines, triggers or local conventions.
Development and production add another set of names
The project describes the same tables and dependencies in development and production, but the real Lakehouses and Warehouses usually have different names.
References need to point to the right place
Hard-code the Fabric item names and the source changes between environments. Put the mapping elsewhere and that mapping has to remain clear and reviewable.
Fabric objects and data change separately
A new table, column or shortcut may need to be deployed before its data is ready to load. Treating both as one job makes every structural change harder to control.
One failed object leaves several questions
What finished?
A run may load several tables before one fails. Rerunning everything wastes time and may repeat work that already completed.
What can still run?
The failed object's dependants must wait, but an independent branch may be safe to continue.
Where should the next load resume?
Each incremental load needs a trustworthy position. Moving it after a partial run can skip data; losing it forces the load to start again.
What is now stale?
A downstream table can have succeeded yesterday and still be out of date after an upstream table loads today.
Weaver keeps the answers with the project
- It reads dependencies from the Python imports, SQL references and shortcut declarations.
- It maps the same project names to the right Fabric items in each environment.
- It creates or changes Fabric objects separately from loading their data.
- It records what loaded, failed or was blocked, and where each load should continue.
You maintain the Python, SQL and Fabric choices. Weaver handles the repeated work of keeping them in order.