Skip to content

Run part of an estate

Can you rerun only this Table and the work it affects? Start with a named Load preview, then add upstream or downstream work when that is the intended scope.

Keep the Landing → Operations project and its workspace-development.yml from workspace mappings. Landing’s Folder supplies Event, which feeds CurrentStatus. Operations exposes Event through a Shortcut and loads the additional LakehouseCurrentStatus Table.

Preview one Table

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]Event' --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load (dry run)

  Read catalogue                                                                                           2.7s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Lakehouse/Landing

  Build run graph                                                                                          0.0s
  Execute                                                                                                  0.0s
✓ Load (dry run)                                                                                           2.7s

plan succeeded: Lakehouse/Landing

    validated                load:Lakehouse/Landing/Tables/Parcel.Event

Plan
    1 selected

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Lakehouse/Landing'],
    names=['Tables/Parcel[.]Event'],
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Lakehouse/Landing'],
 'status': 'succeeded',
 'dry_run': True,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': None,
 'started_at': '2026-10-17T07:24:29.646679+00:00',
 'finished_at': '2026-10-17T07:24:31.227112+00:00',
 'order': ['load:Lakehouse/Landing/Tables/Parcel.Event'],
 'edges': [],
 'nodes': [{'node_id': 'load:Lakehouse/Landing/Tables/Parcel.Event',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.Event',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__Event.py',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []}],
 'messages': []}

The plan selects only Tables/Parcel.Event. No data is loaded by --dry-run. Read the selected identities before running; plain named Load does not add producers or infer their ordering. The [.] matches a literal dot in this whole-name selector; Tables/ identifies the Table rather than a Folder.

Include the work before or after it

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]Event' --ancestors --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load (dry run)

  Read catalogue                                                                                           2.6s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Lakehouse/Landing

  Build run graph                                                                                          0.0s
  Execute                                                                                                  0.0s
✓ Load (dry run)                                                                                           2.6s

plan succeeded: Lakehouse/Landing

    validated                load:Lakehouse/Landing/Files/Parcel.Events
    validated                load:Lakehouse/Landing/Tables/Parcel.Event
                             after load:Lakehouse/Landing/Files/Parcel.Events

Plan
    2 selected

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Lakehouse/Landing'],
    names=['Tables/Parcel[.]Event'],
    ancestors=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Lakehouse/Landing'],
 'status': 'succeeded',
 'dry_run': True,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': None,
 'started_at': '2026-10-17T07:24:31.238241+00:00',
 'finished_at': '2026-10-17T07:24:32.832098+00:00',
 'order': ['load:Lakehouse/Landing/Files/Parcel.Events',
           'load:Lakehouse/Landing/Tables/Parcel.Event'],
 'edges': [['load:Lakehouse/Landing/Files/Parcel.Events',
            'load:Lakehouse/Landing/Tables/Parcel.Event']],
 'nodes': [{'node_id': 'load:Lakehouse/Landing/Files/Parcel.Events',
            'logical_id': 'Lakehouse/Landing/Files/Parcel.Events',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_folder',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Files/Parcel__Events.py',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Lakehouse/Landing/Tables/Parcel.Event',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.Event',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__Event.py',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []}],
 'messages': []}

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]Event' --descendants --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load (dry run)

  Read catalogue                                                                                           2.6s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Lakehouse/Landing

  Build run graph                                                                                          0.0s
  Execute                                                                                                  0.0s
✓ Load (dry run)                                                                                           2.6s

plan succeeded: Lakehouse/Landing

    validated                load:Lakehouse/Landing/Tables/Parcel.Event
    validated                load:Lakehouse/Landing/Tables/Parcel.CurrentStatus
                             after load:Lakehouse/Landing/Tables/Parcel.Event

Plan
    2 selected

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Lakehouse/Landing'],
    names=['Tables/Parcel[.]Event'],
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Lakehouse/Landing'],
 'status': 'succeeded',
 'dry_run': True,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': None,
 'started_at': '2026-10-17T07:24:32.841699+00:00',
 'finished_at': '2026-10-17T07:24:34.445606+00:00',
 'order': ['load:Lakehouse/Landing/Tables/Parcel.Event',
           'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus'],
 'edges': [['load:Lakehouse/Landing/Tables/Parcel.Event',
            'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus']],
 'nodes': [{'node_id': 'load:Lakehouse/Landing/Tables/Parcel.Event',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.Event',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__Event.py',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.CurrentStatus',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__CurrentStatus.py',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []}],
 'messages': []}

Request Selected Landing work
Seed alone Table Parcel.Event
Ancestors Folder Parcel.Events, then Table Parcel.Event
Descendants Table Parcel.Event, then Table Parcel.CurrentStatus

Expansion uses the installed dependencies, not edited source files. It restores dependency ordering within the selected graph. It never adds an unnamed item: Operations remains outside these requests, and the Shortcut itself has no Load; its consuming Table is selected only when Operations is named. A descendant run omits the Folder, so keep its staged CSV current.

Run the selection you inspected

Remove only the preview flag when the plan is correct:

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]Event' --descendants --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load

  Read catalogue                                                                                           2.7s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Lakehouse/Landing

  Build run graph                                                                                          0.0s
  Wait for Spark session                                                                                  35.8s
→   Load Lakehouse/Landing/Tables/Parcel.Event
✓   Load Lakehouse/Landing/Tables/Parcel.Event  (read 3, +0 ~0 -0 !0)                                     14.0s
→   Load Lakehouse/Landing/Tables/Parcel.CurrentStatus
✓   Load Lakehouse/Landing/Tables/Parcel.CurrentStatus  (read 2, +0 ~0 -0 !0)                              7.1s
  Execute                                                                                                 19.1s
  Record what the run did                                                                                  0.0s
✓ Load                                                                                                    1m06s

load succeeded: Lakehouse/Landing

Load summary
    2 succeeded
    0 failed
    0 blocked
  Rows
    read                   5
    inserted               0
    updated                0
    deleted                0
    rejected               0

  Workflow: 22718af73f53453f9d758af309a2809c

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Lakehouse/Landing'],
    names=['Tables/Parcel[.]Event'],
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Lakehouse/Landing'],
 'status': 'succeeded',
 'dry_run': False,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': '[run-id]',
 'started_at': '2026-10-17T07:41:06.764460+00:00',
 'finished_at': '2026-10-17T07:42:19.382262+00:00',
 'order': ['load:Lakehouse/Landing/Tables/Parcel.Event',
           'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus'],
 'edges': [['load:Lakehouse/Landing/Tables/Parcel.Event',
            'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus']],
 'nodes': [{'node_id': 'load:Lakehouse/Landing/Tables/Parcel.Event',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.Event',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__Event.py',
            'status': 'succeeded',
            'executed': True,
            'started_at': '2026-10-17T07:41:56.649618+00:00',
            'finished_at': '2026-10-17T07:42:12.120422+00:00',
            'rows': {'succeeded': True,
                     'rows_read': 3,
                     'rows_inserted': 0,
                     'rows_updated': 0,
                     'rows_deleted': 0,
                     'rows_rejected': 0,
                     'error_message': None,
                     'bookmark_datetime': '2026-10-17T07:41:58.104910+00:00',
                     'is_static_skip': False,
                     'is_refusal': False},
            'messages': []},
           {'node_id': 'load:Lakehouse/Landing/Tables/Parcel.CurrentStatus',
            'logical_id': 'Lakehouse/Landing/Tables/Parcel.CurrentStatus',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_table',
            'dispatch_location': 'Lakehouse/Landing/_/Load/Tables/Parcel__CurrentStatus.py',
            'status': 'succeeded',
            'executed': True,
            'started_at': '2026-10-17T07:42:12.123979+00:00',
            'finished_at': '2026-10-17T07:42:19.379461+00:00',
            'rows': {'succeeded': True,
                     'rows_read': 2,
                     'rows_inserted': 0,
                     'rows_updated': 0,
                     'rows_deleted': 0,
                     'rows_rejected': 0,
                     'error_message': None,
                     'bookmark_datetime': '2026-10-17T07:42:12.166565+00:00',
                     'is_static_skip': False,
                     'is_refusal': False},
            'messages': []}],
 'messages': []}

Event ran before CurrentStatus. Inspect each outcome; attempted is not the same as succeeded. With the original three-event feed, CurrentStatus should still show the two parcel statuses from the Lakehouse task. Operations is outside this invocation; its additional cross-item Table is not reloaded by this Landing-only selection. Next, limit simultaneous work on this same estate.

Diagnose an unmatched name

A misspelt selection is an error, not an empty successful run. For example, in unattended mode:

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]DoesNotExist' --dry-run --workspace-config workspace-development.yml --non-interactive

The command returned:

Terminal output exit 1
Load (dry run)

  Read catalogue                                                                                           7.4s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Lakehouse/Landing

  Build run graph                                                                                          0.0s
✗ Execute                                                                                                  0.0s
✗ Load (dry run)                                                                                           7.4s

error: no installed loadable object in the requested items matches 'Tables/Parcel[.]DoesNotExist'. Installed: Files/Parcel.Events, Files/Parcel.StatusFiles, Tables/Parcel.CurrentStatus, Tables/Parcel.Event, Tables/Parcel.LiveStatus

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Lakehouse/Landing'],
    names=['Tables/Parcel[.]DoesNotExist'],
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
weaver.errors.LoadError: no installed loadable object in the requested items matches 'Tables/Parcel[.]DoesNotExist'. Installed: Files/Parcel.Events, Files/Parcel.StatusFiles, Tables/Parcel.CurrentStatus, Tables/Parcel.Event, Tables/Parcel.LiveStatus

Check the installed names and item scope. In an interactive terminal, Esc leaves the error prompt; Enter retries the same request.

Explore a larger branching selection

Optional: sibling prerequisites and a second Warehouse

This larger graph shows how expansion treats a sibling prerequisite and a second item. In the Fabric portal, create a Warehouse called Reporting, add Warehouse/Reporting: Reporting under targets in workspace-development.yml, then add these files. Their names do not collide with the Parcel pipeline you already have.

Warehouse/Operations/Parcel.Daily.sql
/*
Table ID: Parcel.Daily
Description: Delivered parcels per depot.
Lineage: Parcel.Events joined to the Reference.Depot list.
*/
SELECT e.DepotId, SUM(e.Delivered) AS DeliveryCount FROM [Parcel].[Events] AS e JOIN [Reference].[Depot] AS d ON e.DepotId = d.DepotId GROUP BY e.DepotId
Warehouse/Operations/Parcel.Events.sql
/*
Table ID: Parcel.Events
Description: Delivery events used by the daily summary.
Lineage: Copied from Parcel.RawEvents.
*/
SELECT ParcelId, DepotId, Delivered FROM [Parcel].[RawEvents]
Warehouse/Operations/Parcel.RawEvents.sql
/*
Table ID: Parcel.RawEvents
Description: One constant delivery event for this selection example.
Lineage: A constant in this file.
Schema:
  ParcelId: int
  DepotId: int
  Delivered: int
*/
SELECT CAST(1 AS int) AS ParcelId, CAST(10 AS int) AS DepotId, CAST(1 AS int) AS Delivered
Warehouse/Operations/Parcel.Summary.sql
/*
Table ID: Parcel.Summary
Description: Total delivered parcels.
Lineage: Summed from Parcel.Daily.
*/
SELECT SUM(DeliveryCount) AS DeliveryCount FROM [Parcel].[Daily]
Warehouse/Operations/Reference.Depot.sql
/*
Table ID: Reference.Depot
Description: Depots that deliveries are counted against.
Lineage: A constant in this file.
Schema:
  DepotId: int
  DepotName: varchar(20)
*/
SELECT CAST(10 AS int) AS DepotId, CAST('Central' AS varchar(20)) AS DepotName
Warehouse/Operations/Reference.Service.sql
/*
Table ID: Reference.Service
Description: Service levels. Nothing in this example reads it.
Lineage: A constant in this file.
Schema:
  ServiceId: int
  ServiceName: varchar(20)
*/
SELECT CAST(1 AS int) AS ServiceId, CAST('Standard' AS varchar(20)) AS ServiceName
Warehouse/Reporting/Parcel.DashboardInput.sql
/*
Table ID: Parcel.DashboardInput
Description: Delivered total presented to reporting.
Lineage: Operations Parcel.Summary through a logical Shortcut.
*/
SELECT DeliveryCount FROM [Parcel].[Summary]
Warehouse/Reporting/shortcuts.yml
logical:
  Warehouse/Reporting/Parcel.Summary: Warehouse/Operations/Parcel.Summary

Install and preload the extended graph using the same estate configuration:

weaver check
weaver build --item Warehouse/Operations --item Warehouse/Reporting --workspace-config workspace-development.yml
weaver load Warehouse/Operations Warehouse/Reporting --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load

  Read catalogue                                                                                           3.0s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Warehouse/Operations
  Warehouse/Reporting

  Build run graph                                                                                          0.0s
→   Load Warehouse/Operations/Parcel.RawEvents
→   Load Warehouse/Operations/Reference.Depot
→   Load Warehouse/Operations/Parcel.LakehouseCurrentStatus
→   Load Warehouse/Operations/Parcel.LiveStatus
✓   Load Warehouse/Operations/Parcel.RawEvents  (read 1, +1 ~0 -0 !0)                                      2.2s
→   Load Warehouse/Operations/Parcel.Events
✓   Load Warehouse/Operations/Reference.Depot  (read 1, +1 ~0 -0 !0)                                       2.2s
→   Load Warehouse/Operations/Parcel.StatusEvent
✓   Load Warehouse/Operations/Parcel.LiveStatus  (read 0, +0 ~0 -0 !0)                                     2.5s
→   Load Warehouse/Operations/Reference.Service
✓   Load Warehouse/Operations/Parcel.Events  (read 1, +1 ~0 -0 !0)                                         1.3s
→   Load Warehouse/Operations/Parcel.Daily
✓   Load Warehouse/Operations/Reference.Service  (read 1, +1 ~0 -0 !0)                                     1.5s
✓   Load Warehouse/Operations/Parcel.LakehouseCurrentStatus  (read 2, +0 ~0 -0 !0)                         4.7s
✓   Load Warehouse/Operations/Parcel.Daily  (read 1, +1 ~0 -0 !0)                                          1.8s
→   Load Warehouse/Operations/Parcel.Summary
✓   Load Warehouse/Operations/Parcel.StatusEvent  (read 3, +0 ~0 -0 !0)                                    3.5s
✓   Load Warehouse/Operations/Parcel.Summary  (read 1, +1 ~0 -0 !0)                                        1.5s
→   Load Warehouse/Reporting/Parcel.DashboardInput
✓   Load Warehouse/Reporting/Parcel.DashboardInput  (read 1, +1 ~0 -0 !0)                                  2.5s
  Execute                                                                                                  9.4s
  Record what the run did                                                                                  0.5s
✓ Load                                                                                                    12.9s

load succeeded: Warehouse/Operations, Warehouse/Reporting

Load summary
   10 succeeded
    0 failed
    0 blocked
  Rows
    read                  12
    inserted               7
    updated                0
    deleted                0
    rejected               0

  Workflow: 8b0ae5d889cd48d3a3fd852e4f0667f4

The rest of this section uses this installed graph in Warehouse/Operations:

Parcel.RawEvents → Parcel.Events → Parcel.Daily → Parcel.Summary
                                      ↑
                               Reference.Depot

Reference.Depot must already be current when a partial selection omits it. Expansion reads installed dependencies; it does not Build edited source.

1. Choose the item boundary

Name the logical items you intend to run. Dependencies never add an unnamed item. Start with Warehouse/Operations; the separate Warehouse/Reporting item remains outside this selection.

2. Choose the seed

--name is a case-insensitive whole-name regular expression, not a glob or substring search. Escape a literal dot with [.]:

weaver load Warehouse/Operations --name 'Parcel[.]Events' --dry-run --workspace-config workspace-development.yml

This selects only Parcel.Events. Plain named Load is a deliberate operator override: multiple matches do not imply dependency expansion or ordering between them.

3. Inspect the preview

Read the selected identities, dependencies and any required publication/endpoint work in the returned plan. No data is loaded by --dry-run. Do not run a command whose selection differs from your intended scope.

4. Include upstream or downstream work

Request Selected tables in Operations
Seed alone Events
Ancestors RawEvents, Events
Descendants Events, Daily, Summary
Both directions RawEvents, Events, Daily, Summary
weaver load Warehouse/Operations --name 'Parcel[.]Events' --ancestors --dry-run --workspace-config workspace-development.yml
weaver load Warehouse/Operations --name 'Parcel[.]Events' --descendants --dry-run --workspace-config workspace-development.yml
weaver load Warehouse/Operations --name 'Parcel[.]Events' --ancestors --descendants --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load (dry run)

  Read catalogue                                                                                           2.7s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Warehouse/Operations

  Build run graph                                                                                          0.0s
  Execute                                                                                                  0.0s
✓ Load (dry run)                                                                                           2.7s

plan succeeded: Warehouse/Operations

    validated                load:Warehouse/Operations/Parcel.RawEvents
    validated                load:Warehouse/Operations/Parcel.Events
                             after load:Warehouse/Operations/Parcel.RawEvents
    validated                load:Warehouse/Operations/Parcel.Daily
                             after load:Warehouse/Operations/Parcel.Events
    validated                load:Warehouse/Operations/Parcel.Summary
                             after load:Warehouse/Operations/Parcel.Daily

Plan
    4 selected

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]Events'],
    ancestors=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()
from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]Events'],
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()
from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]Events'],
    ancestors=True,
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Warehouse/Operations'],
 'status': 'succeeded',
 'dry_run': True,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': None,
 'started_at': '2026-10-17T07:24:40.938565+00:00',
 'finished_at': '2026-10-17T07:24:42.499228+00:00',
 'order': ['load:Warehouse/Operations/Parcel.RawEvents',
           'load:Warehouse/Operations/Parcel.Events',
           'load:Warehouse/Operations/Parcel.Daily',
           'load:Warehouse/Operations/Parcel.Summary'],
 'edges': [['load:Warehouse/Operations/Parcel.Daily', 'load:Warehouse/Operations/Parcel.Summary'],
           ['load:Warehouse/Operations/Parcel.Events', 'load:Warehouse/Operations/Parcel.Daily'],
           ['load:Warehouse/Operations/Parcel.RawEvents',
            'load:Warehouse/Operations/Parcel.Events']],
 'nodes': [{'node_id': 'load:Warehouse/Operations/Parcel.RawEvents',
            'logical_id': 'Warehouse/Operations/Parcel.RawEvents',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.RawEvents]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Events',
            'logical_id': 'Warehouse/Operations/Parcel.Events',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Events]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Daily',
            'logical_id': 'Warehouse/Operations/Parcel.Daily',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Daily]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Summary',
            'logical_id': 'Warehouse/Operations/Parcel.Summary',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Summary]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []}],
 'messages': []}

Both directions start from the original seeds separately. Their union does not add Reference.Depot, even though Daily reads it. An omitted producer is not automatically refreshed. Expanded work runs in dependency order within the selected graph, including required supported barriers; unrelated sibling prerequisites do not become selected data work.

5. Run the selection you inspected

Remove only the preview flag:

weaver load Warehouse/Operations --name 'Parcel[.]Events' --ancestors --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load

  Read catalogue                                                                                           2.6s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Warehouse/Operations

  Build run graph                                                                                          0.0s
→   Load Warehouse/Operations/Parcel.RawEvents
✓   Load Warehouse/Operations/Parcel.RawEvents  (read 1, +1 ~0 -1 !0)                                      2.1s
→   Load Warehouse/Operations/Parcel.Events
✓   Load Warehouse/Operations/Parcel.Events  (read 1, +1 ~0 -1 !0)                                         1.5s
  Execute                                                                                                  3.8s
  Record what the run did                                                                                  0.5s
✓ Load                                                                                                     6.9s

load succeeded: Warehouse/Operations

Load summary
    2 succeeded
    0 failed
    0 blocked
  Rows
    read                   2
    inserted               2
    updated                0
    deleted                2
    rejected               0

  Workflow: 539f2beac4974f1eacbb765b5a97985a

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]Events'],
    ancestors=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Warehouse/Operations'],
 'status': 'succeeded',
 'dry_run': False,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': '[run-id]',
 'started_at': '2026-10-17T07:43:03.028927+00:00',
 'finished_at': '2026-10-17T07:43:08.741739+00:00',
 'order': ['load:Warehouse/Operations/Parcel.RawEvents', 'load:Warehouse/Operations/Parcel.Events'],
 'edges': [['load:Warehouse/Operations/Parcel.RawEvents',
            'load:Warehouse/Operations/Parcel.Events']],
 'nodes': [{'node_id': 'load:Warehouse/Operations/Parcel.RawEvents',
            'logical_id': 'Warehouse/Operations/Parcel.RawEvents',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.RawEvents]',
            'status': 'succeeded',
            'executed': True,
            'started_at': '2026-10-17T07:43:06.030131+00:00',
            'finished_at': '2026-10-17T07:43:07.537474+00:00',
            'rows': {'succeeded': True,
                     'rows_read': 1,
                     'rows_inserted': 1,
                     'rows_updated': 0,
                     'rows_deleted': 1,
                     'rows_rejected': 0,
                     'error_message': None,
                     'bookmark_datetime': '2026-10-17T07:43:06.331466+00:00',
                     'is_static_skip': False,
                     'is_refusal': False},
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Events',
            'logical_id': 'Warehouse/Operations/Parcel.Events',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Events]',
            'status': 'succeeded',
            'executed': True,
            'started_at': '2026-10-17T07:43:07.541496+00:00',
            'finished_at': '2026-10-17T07:43:08.736927+00:00',
            'rows': {'succeeded': True,
                     'rows_read': 1,
                     'rows_inserted': 1,
                     'rows_updated': 0,
                     'rows_deleted': 1,
                     'rows_rejected': 0,
                     'error_message': None,
                     'bookmark_datetime': '2026-10-17T07:43:07.564117+00:00',
                     'is_static_skip': False,
                     'is_refusal': False},
            'messages': []}],
 'messages': []}

RawEvents ran before Events; Daily, Summary, Depot and the Reporting item were not requested. Both Tables have no primary key, so each Load replaces their contents: +1 ~0 -1 is the old row deleted and the new one inserted.

The equivalent combined Python preview is:

import weaver

preview = weaver.load(
    'Warehouse/Operations',
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    names=r'Parcel[.]Events',
    ancestors=True,
    descendants=True,
    dry_run=True,
)
preview.report()

6. Cross an item boundary deliberately

The addition above declares Warehouse/Reporting/Parcel.DashboardInput, which consumes Operations' Summary. Selecting Operations alone cannot reach it. To include it, name both items:

weaver load Warehouse/Operations Warehouse/Reporting --name 'Parcel[.]Events' --descendants --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Load (dry run)

  Read catalogue                                                                                           2.6s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Warehouse/Operations
  Warehouse/Reporting

  Build run graph                                                                                          0.0s
  Execute                                                                                                  0.0s
✓ Load (dry run)                                                                                           2.6s

plan succeeded: Warehouse/Operations, Warehouse/Reporting

    validated                load:Warehouse/Operations/Parcel.Events
    validated                load:Warehouse/Operations/Parcel.Daily
                             after load:Warehouse/Operations/Parcel.Events
    validated                load:Warehouse/Operations/Parcel.Summary
                             after load:Warehouse/Operations/Parcel.Daily
    validated                load:Warehouse/Reporting/Parcel.DashboardInput
                             after load:Warehouse/Operations/Parcel.Summary

Plan
    4 selected

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations', 'Warehouse/Reporting'],
    names=['Parcel[.]Events'],
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
{'requested': ['Warehouse/Operations', 'Warehouse/Reporting'],
 'status': 'succeeded',
 'dry_run': True,
 'fault_tolerant': False,
 'reload': False,
 'ignore_stability_threshold': False,
 'workspace': 'Parcel Development',
 'workflow_id': None,
 'started_at': '2026-10-17T07:24:42.508202+00:00',
 'finished_at': '2026-10-17T07:24:44.337332+00:00',
 'order': ['load:Warehouse/Operations/Parcel.Events',
           'load:Warehouse/Operations/Parcel.Daily',
           'load:Warehouse/Operations/Parcel.Summary',
           'load:Warehouse/Reporting/Parcel.DashboardInput'],
 'edges': [['load:Warehouse/Operations/Parcel.Daily', 'load:Warehouse/Operations/Parcel.Summary'],
           ['load:Warehouse/Operations/Parcel.Events', 'load:Warehouse/Operations/Parcel.Daily'],
           ['load:Warehouse/Operations/Parcel.Summary',
            'load:Warehouse/Reporting/Parcel.DashboardInput']],
 'nodes': [{'node_id': 'load:Warehouse/Operations/Parcel.Events',
            'logical_id': 'Warehouse/Operations/Parcel.Events',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Events]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Daily',
            'logical_id': 'Warehouse/Operations/Parcel.Daily',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Daily]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Operations/Parcel.Summary',
            'logical_id': 'Warehouse/Operations/Parcel.Summary',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.Summary]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []},
           {'node_id': 'load:Warehouse/Reporting/Parcel.DashboardInput',
            'logical_id': 'Warehouse/Reporting/Parcel.DashboardInput',
            'physical_target': 'Warehouse/Reporting',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Reporting/[_].[Load Parcel.DashboardInput]',
            'status': 'validated',
            'executed': False,
            'started_at': None,
            'finished_at': None,
            'rows': None,
            'messages': []}],
 'messages': []}

This selects Events, Daily and Summary in Operations, then DashboardInput in Reporting. It still omits RawEvents and Depot. Keep both current before that run. A Lakehouse-to-Warehouse equivalent may also need OneLake publication and SQL endpoint readiness; these are ordered by the supported installed graph, not replaced with an arbitrary delay.

7. Match several names and diagnose a refusal

Repeat --name to take the union of matching seeds. Every supplied pattern must match at least one loadable object inside the requested scope:

The first selects Events and Depot, then Daily, which waits for both, and Summary. The second is a no-match error, not an empty successful run, and lists the installed names:

weaver load Warehouse/Operations --name 'Parcel[.]Events' --name 'Reference[.]Depot' --descendants --dry-run --workspace-config workspace-development.yml
weaver load Warehouse/Operations --name 'Parcel[.]DoesNotExist' --dry-run --workspace-config workspace-development.yml

The command returned:

Terminal output exit 1
Load (dry run)

  Read catalogue                                                                                           2.7s
Workspace  Parcel Development
Catalogue  Warehouse/Catalogue
Targets
  Warehouse/Operations

  Build run graph                                                                                          0.0s
✗ Execute                                                                                                  0.0s
✗ Load (dry run)                                                                                           2.7s

error: no installed loadable object in the requested items matches 'Parcel[.]DoesNotExist'. Installed: Parcel.Daily, Parcel.Events, Parcel.LakehouseCurrentStatus, Parcel.LiveStatus, Parcel.RawEvents, Parcel.StatusEvent, Parcel.Summary, Reference.Depot, Reference.Service

from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]Events', 'Reference[.]Depot'],
    descendants=True,
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()
from pathlib import Path

import weaver

project = Path("builtin") / "project"
load_result = weaver.load(
    items=['Warehouse/Operations'],
    names=['Parcel[.]DoesNotExist'],
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
    dry_run=True,
)
load_result.report()

The command returned:

Notebook output
weaver.errors.LoadError: no installed loadable object in the requested items matches 'Parcel[.]DoesNotExist'. Installed: Parcel.Daily, Parcel.Events, Parcel.LakehouseCurrentStatus, Parcel.LiveStatus, Parcel.RawEvents, Parcel.StatusEvent, Parcel.Summary, Reference.Depot, Reference.Service

Check installed spelling and item scope. Parcel.Events leaves its dot as a regex wildcard; [.] expresses the literal identity.

Lakehouse identities can include Tables/ or Files/. A bare identity can be ambiguous when both areas contain it. Use an area-qualified name, for example:

weaver load Lakehouse/Landing --name 'Tables/Parcel[.]Event' --descendants --dry-run --workspace-config workspace-development.yml

This selects Landing in the same project and development configuration used at the start of this page.

Choose the right kind of rerun

  • Ordinary item-wide Load runs the installed item graph.
  • --stale selects non-Green work by Load health. It does not refresh every omitted Green prerequisite. --as-of supplies its freshness cutoff and requires --stale.
  • --reload empties reached selected tables and resets their bookmarks/progress before loading them. Expansion can enlarge that destructive scope. Preview first; the old data is not automatically restored after failure. Reload is not supported for Folders, and cannot be combined with stale selection.
  • --fault-tolerant changes continuation and reject policy, not the item boundary or source definitions. Read the failure boundary before using partial output.

Ancestors and descendants are Load options, not Build or Test options. Catalogue-free semantic-model refresh does not provide installed-graph name, stale, reload or recursive selection; name the model to refresh instead.