Skip to content

Run and inspect an estate

What needs to run again? Use Health to decide, then Load or Test the intended installed work. Health brings Lakehouse and Warehouse state together with registered model refreshes and validations; Load and Test operate that work without a second set of model-specific procedures.

Keep the project from the development loop. The Landing/Operations commands below use workspace-development.yml. If you added source-backed models, retain their targets in this same configuration. Run from the same project root throughout.

1. Inspect the starting state

weaver health --workspace-config workspace-development.yml

Without an item selector, Health covers the whole installed estate. It is read-only and reports Load, Tests and Build state as Green, Amber or Red, naming findings that need attention. By default it also compares installed claims with physical inventory.

Use the findings to decide whether the estate needs data work, validation or Build recovery. Health does not read unbuilt source or run Load or Test for you.

For changed definitions, Check, preview and Build before this installed-state sequence. Source-data and model/Report definitions require separate Build calls. Reports participate in Build only; they have no independent Load or Test.

2. Run installed data work

For the normal item-wide run:

weaver load --workspace-config workspace-development.yml

Load selects the installed Table and Folder work and registered semantic-model refreshes. Managed dependencies order selected source work before model refreshes. Reports use the model’s data rather than having their own Load. Load reads installed definitions and bindings from the catalogue. It does not read edited project source; run Build first when source has changed.

For routine catch-up after Build or when Health reports pending or stale load work, narrow the run to non-Green loadable objects:

weaver load --stale --workspace-config workspace-development.yml

--stale uses the same Load-health assessment as Health. It preserves dependency ordering among selected item-wide work but does not pull Green upstream work into the run. An empty stale selection succeeds without changing the estate.

A Load can leave partial state when work fails. Completed work is not rolled back. Use its per-object outcomes and then follow Recover failed work.

3. Run installed validations

weaver test --workspace-config workspace-development.yml

Test runs the installed Tests and Assumptions across Lakehouse Python/Spark SQL, Warehouse SQL and semantic-model DAX. A model-owned Test can compare its measure with SQL calculated independently from the source. A failed validation found data discrepancies or violations; a validation that could not run is an execution problem. In catalogue mode, edited validation source takes effect after Build installs it. Source/file mode reads authored validations and records no catalogue status/history.

4. Inspect the resulting state

weaver health --workspace-config workspace-development.yml

Green means the assessed Load, Tests and Build subjects have no current finding. Amber identifies work that is pending, stale or otherwise needs attention without a current failure. Red identifies a recorded failure or inconsistent installed state. Act on the finding rather than the overall colour alone.

To operate only the Parcel items when the Catalogue also contains other projects, give the same scope to Load, Test and Health:

weaver load Lakehouse/Landing Warehouse/Operations --workspace-config workspace-development.yml
weaver test Lakehouse/Landing Warehouse/Operations --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Test

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

  Build run graph                                                                                          0.0s
  Wait for Spark session                                                                                  35.8s
→   Test Lakehouse/Landing/Parcel.CurrentStatusMatches
→   Test Lakehouse/Landing/Parcel.EventStatusIsKnown
→   Test Warehouse/Operations/Parcel.CurrentStatusMatches
→   Test Warehouse/Operations/Parcel.StatusIsKnown
✓   Test Warehouse/Operations/Parcel.StatusIsKnown                                                         1.9s
✓   Test Warehouse/Operations/Parcel.CurrentStatusMatches                                                  5.5s
✓   Test Lakehouse/Landing/Parcel.EventStatusIsKnown                                                      12.7s
✓   Test Lakehouse/Landing/Parcel.CurrentStatusMatches                                                    14.7s
  Execute                                                                                                 12.8s
  Record what the run did                                                                                  0.0s
✓ Test                                                                                                    59.9s

test passed

Test summary
    4 passed
    0 failed
  Workflow: 05dc2c23a84c45899e318715a6a41a54

from pathlib import Path

import weaver

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

import weaver

project = Path("builtin") / "project"
test_result = weaver.test(
    items=['Lakehouse/Landing', 'Warehouse/Operations'],
    source=project,
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
)
test_result.report()

The command returned:

Notebook output
{'status': 'passed',
 'nodes': [{'logical_id': 'Lakehouse/Landing/Parcel.CurrentStatusMatches',
            'kind': 'test',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_validation',
            'dispatch_location': '',
            'status': 'passed',
            'executed': True,
            'messages': [],
            'started_at': '2026-10-17T07:38:07.686232+00:00',
            'finished_at': '2026-10-17T07:38:22.578059+00:00',
            'missing_count': 0,
            'unexpected_count': 0,
            'failure_count': 0,
            'error_message': None},
           {'logical_id': 'Lakehouse/Landing/Parcel.EventStatusIsKnown',
            'kind': 'assumption',
            'physical_target': 'Lakehouse/Landing',
            'primitive_kind': 'python_validation',
            'dispatch_location': '',
            'status': 'passed',
            'executed': True,
            'messages': [],
            'started_at': '2026-10-17T07:38:07.686598+00:00',
            'finished_at': '2026-10-17T07:38:18.443573+00:00',
            'violation_count': 0,
            'error_message': None},
           {'logical_id': 'Warehouse/Operations/Parcel.CurrentStatusMatches',
            'kind': 'test',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.CurrentStatusMatches]',
            'status': 'passed',
            'executed': True,
            'messages': [],
            'started_at': '2026-10-17T07:38:07.686368+00:00',
            'finished_at': '2026-10-17T07:38:17.002576+00:00',
            'missing_count': 0,
            'unexpected_count': 0,
            'failure_count': 0,
            'error_message': None},
           {'logical_id': 'Warehouse/Operations/Parcel.StatusIsKnown',
            'kind': 'assumption',
            'physical_target': 'Warehouse/Operations',
            'primitive_kind': 'warehouse_procedure',
            'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.StatusIsKnown]',
            'status': 'passed',
            'executed': True,
            'messages': [],
            'started_at': '2026-10-17T07:38:07.688529+00:00',
            'finished_at': '2026-10-17T07:38:09.329831+00:00',
            'violation_count': 0,
            'error_message': None}],
 'totals': {'planned': 4,
            'executed': 4,
            'passed': 4,
            'failed': 0,
            'invalid': 0,
            'missing_count': 0,
            'unexpected_count': 0,
            'violation_count': 0},
 'workflow_id': '[run-id]',
 'started_at': '2026-10-17T07:37:17.359308+00:00',
 'finished_at': '2026-10-17T07:38:22.997856+00:00'}

weaver health --item Lakehouse/Landing --item Warehouse/Operations --workspace-config workspace-development.yml

The command returned:

Terminal output exit 0
Health

  Read catalogue                                                                                           2.6s
  Check installed items                                                                                    0.1s
  Read installed objects                                                                                   3.0s
✓ Health                                                                                                   5.8s

Weaver Health  Green

Load    Green
  Last load activity   0h 3m ago
  8 succeeded

Tests   Green
  4 succeeded

Build   Green
  Installed estate consistent (29 objects)

Slowest loads
  Lakehouse/Landing/Tables/Parcel.Event          12.8s
  Lakehouse/Landing/Tables/Parcel.CurrentStatus  7.6s
  Warehouse/Operations/Parcel.StatusEvent        5.0s
  Warehouse/Operations/Parcel.LiveStatus         5.0s
  Lakehouse/Landing/Files/Parcel.StatusFiles     2.9s

Largest changes
  Warehouse/Operations/Parcel.LakehouseCurrentStatus  read 2  +2 ~0 -0 !0

1
2
3
4
5
6
7
import weaver
health_result = weaver.health(
    items=['Lakehouse/Landing', 'Warehouse/Operations'],
    workspace='Parcel Development',
    catalogue='Warehouse/Catalogue',
)
health_result.report()

The command returned:

Notebook output
{'format_version': 3,
 'generated_at': '2026-10-17T07:24:09.429201+00:00',
 'as_of': '2026-10-16T07:24:09.429201+00:00',
 'status': 'green',
 'targets': ['Lakehouse/Landing', 'Warehouse/Operations'],
 'sections': {'load': {'status': 'green',
                       'subjects': 14,
                       'counts': {'succeeded': 14},
                       'findings': []},
              'tests': {'status': 'green',
                        'subjects': 4,
                        'counts': {'succeeded': 4},
                        'findings': []},
              'build': {'status': 'green', 'subjects': 35, 'counts': {}, 'findings': []}},
 'current_load': {'workflow_ids': ['[run-id]'],
                  'started_at': '2026-10-16T16:53:41.564253+00:00',
                  'completed_at': '2026-10-16T16:54:05.193602+00:00',
                  'counts': {'succeeded': 14}},
 'load_activity': [{'object_id': 'Lakehouse/Landing/Files/Parcel.Events',
                    'target': 'Lakehouse/Landing',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.565083+00:00',
                    'completed_at': '2026-10-16T16:53:44.449771+00:00',
                    'duration_ms': 2884,
                    'rows_read': 1,
                    'rows_inserted': 0,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Lakehouse/Landing/Files/Parcel.StatusFiles',
                    'target': 'Lakehouse/Landing',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.564676+00:00',
                    'completed_at': '2026-10-16T16:53:44.607654+00:00',
                    'duration_ms': 3042,
                    'rows_read': 1,
                    'rows_inserted': 0,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Lakehouse/Landing/Tables/Parcel.CurrentStatus',
                    'target': 'Lakehouse/Landing',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:58.002926+00:00',
                    'completed_at': '2026-10-16T16:54:05.193602+00:00',
                    'duration_ms': 7190,
                    'rows_read': 2,
                    'rows_inserted': 0,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Lakehouse/Landing/Tables/Parcel.Event',
                    'target': 'Lakehouse/Landing',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:44.450153+00:00',
                    'completed_at': '2026-10-16T16:53:57.996574+00:00',
                    'duration_ms': 13546,
                    'rows_read': 3,
                    'rows_inserted': 0,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Lakehouse/Landing/Tables/Parcel.LiveStatus',
                    'target': 'Lakehouse/Landing',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:44.608108+00:00',
                    'completed_at': '2026-10-16T16:53:44.729911+00:00',
                    'duration_ms': 121,
                    'rows_read': 0,
                    'rows_inserted': 0,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.Daily',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:45.134094+00:00',
                    'completed_at': '2026-10-16T16:53:46.630224+00:00',
                    'duration_ms': 1496,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.Events',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:43.841515+00:00',
                    'completed_at': '2026-10-16T16:53:45.133378+00:00',
                    'duration_ms': 1291,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.LakehouseCurrentStatus',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:58.872352+00:00',
                    'completed_at': '2026-10-16T16:54:00.580059+00:00',
                    'duration_ms': 1707,
                    'rows_read': 2,
                    'rows_inserted': 2,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.LiveStatus',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.564857+00:00',
                    'completed_at': '2026-10-16T16:53:46.973535+00:00',
                    'duration_ms': 5408,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.RawEvents',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.564253+00:00',
                    'completed_at': '2026-10-16T16:53:43.841173+00:00',
                    'duration_ms': 2276,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.StatusEvent',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.564999+00:00',
                    'completed_at': '2026-10-16T16:53:44.280522+00:00',
                    'duration_ms': 2715,
                    'rows_read': 3,
                    'rows_inserted': 3,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Parcel.Summary',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:46.631862+00:00',
                    'completed_at': '2026-10-16T16:53:47.936424+00:00',
                    'duration_ms': 1304,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Reference.Depot',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:41.565295+00:00',
                    'completed_at': '2026-10-16T16:53:43.823659+00:00',
                    'duration_ms': 2258,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False},
                   {'object_id': 'Warehouse/Operations/Reference.Service',
                    'target': 'Warehouse/Operations',
                    'workflow_id': '[run-id]',
                    'started_at': '2026-10-16T16:53:43.827082+00:00',
                    'completed_at': '2026-10-16T16:53:45.104187+00:00',
                    'duration_ms': 1277,
                    'rows_read': 1,
                    'rows_inserted': 1,
                    'rows_updated': 0,
                    'rows_deleted': 0,
                    'rows_rejected': 0,
                    'is_reload': False,
                    'is_static_skip': False}]}

For a complete source-and-model example, follow Connect a semantic model to source data.

Use Troubleshooting when the final report is not Green. If an item-wide run is broader than the intended work, run part of an estate. To cap simultaneous scheduled work for one invocation, control concurrency. Both are optional controls, not prerequisites for normal operation. See Operation behaviour and the CLI reference for selection, freshness, inventory controls, named execution and machine-readable output.