Loading changes¶
A keyed incremental Table can apply new rows, changed values and cancellations while its definition stays installed. Your SQL returns the candidate rows and delete keys; Weaver generates the target merge and records the consumer's progress.
Continue the first Warehouse project and its validations. Keep StatusEvent and the CurrentStatus View unchanged. Add a new Parcel.LiveStatus Table over changing external records, using the same Operations item, configuration and catalogue.
Keep the changing source separate¶
The changing records live in a Warehouse that Weaver does not manage. In the Fabric portal, create a Warehouse called ParcelSource in the same workspace (New item → Warehouse). Do not add it to targets in workspace-config.yml: Build owns its targets and removes objects you did not declare there.
Point Operations at that source with a physical Shortcut. Create Warehouse/Operations/shortcuts.yml, or add the physical section if the file already exists:
physical:
"Warehouse/Operations/Source.Parcel": "Warehouse/ParcelSource/Source.Parcel"
Build installs [Source].[Parcel] as an item-local View without taking ownership of the physical source. Warehouse physical Shortcuts stay within the configured workspace; Shortcut reference owns the exact target forms.
Open a New SQL query on ParcelSource and create the source table:
if schema_id(N'Source') is null
exec(N'create schema [Source]');
if object_id(N'[Source].[Parcel]', N'U') is null
begin
create table [Source].[Parcel] (
[Parcel ID] varchar(20) not null,
[Status] varchar(30) not null,
[Depot] varchar(30) not null,
[Row update datetime] datetime2(6) not null
);
end;
Seed it in the same query editor. The delete clears any earlier rows, so the script can be rerun:
delete from [Source].[Parcel];
insert into [Source].[Parcel] (
[Parcel ID],
[Status],
[Depot],
[Row update datetime]
)
values
('P-1001', 'In transit', 'Central', sysutcdatetime()),
('P-1002', 'Delivered', 'South', sysutcdatetime());
Verify the source before Build:
select [Parcel ID], [Status], [Depot], [Row update datetime]
from [Source].[Parcel]
order by [Parcel ID];
It should return P-1001 as In transit at Central and P-1002 as Delivered at South. A missing source or denied access is an error to fix, not an empty change window. These source scripts sit outside Warehouse/Operations; Weaver does not install them.
Let the consumer ask for its own changes¶
The complete Warehouse/Operations/Parcel.LiveStatus.sql is:
/*
Table ID: Parcel.LiveStatus
Description: Current state of active parcels.
Lineage: Parcel records supplied through the physical Source.Parcel Shortcut.
Primary key: Parcel ID
Incremental: true
Dependencies: []
Schema:
Parcel ID: varchar(20)
Status: varchar(30)
Depot: varchar(30)
*/
declare @bookmark_datetime datetime2(6);
set @bookmark_datetime = coalesce(
(
select [Bookmark datetime]
from [_].[Bookmark]
where [Item type] = N'Warehouse'
and [Item name] = N'Operations'
and [Schema name] = N'Parcel'
and [Object name] = N'LiveStatus'
),
cast('1900-01-01' as datetime2(6))
);
-- Rows to insert or update
select [Parcel ID]
, [Status]
, [Depot]
from [Source].[Parcel]
where [Row update datetime] > @bookmark_datetime
and [Status] <> 'Cancelled';
-- Keys to delete
select [Parcel ID]
from [Source].[Parcel]
where [Row update datetime] > @bookmark_datetime
and [Status] = 'Cancelled';
The first result set supplies every business column for insert or update candidates. The second supplies primary keys to delete. Absence from the first result set leaves a target row alone; it is not a deletion claim.
The bookmark belongs to this consumer, Warehouse/Operations/Parcel.LiveStatus. The source's [Row update datetime] says when its row changed; the catalogue's [Bookmark datetime] says how far this Table has processed. The initial 1900 boundary asks for all retained source rows. Later Loads read changes after the previous clean boundary.
Dependencies: [] is required here: T-SQL inference does not resolve [Source].[Parcel] to a physical Warehouse Shortcut. The override removes the nonexistent managed producer edge, not the source access requirement. There is no Weaver-managed source Load to order.
Establish the first successful boundary¶
Check and install once:
After Build, open a SQL query connected to Operations and verify the installed Shortcut:
select [Parcel ID], [Status], [Depot], [Row update datetime]
from [Source].[Parcel]
order by [Parcel ID];
Both seeded rows should be visible. Back at the project root, preview the Load. --dry-run resolves what would run, in order, without reading or writing data:
The command returned:
Load (dry run)
Read catalogue 3.0s
Workspace Parcel Development
Catalogue Warehouse/Catalogue
Targets
Warehouse/Operations
Build run graph 0.0s
Execute 0.0s
✓ Load (dry run) 3.0s
plan succeeded: Warehouse/Operations
validated load:Warehouse/Operations/Parcel.LiveStatus
validated load:Warehouse/Operations/Parcel.StatusEvent
Plan
2 selected
The command returned:
{'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:26:20.983697+00:00',
'finished_at': '2026-10-17T07:26:22.737340+00:00',
'order': ['load:Warehouse/Operations/Parcel.LakehouseCurrentStatus',
'load:Warehouse/Operations/Parcel.LiveStatus',
'load:Warehouse/Operations/Parcel.RawEvents',
'load:Warehouse/Operations/Parcel.Events',
'load:Warehouse/Operations/Parcel.StatusEvent',
'load:Warehouse/Operations/Reference.Depot',
'load:Warehouse/Operations/Parcel.Daily',
'load:Warehouse/Operations/Parcel.Summary',
'load:Warehouse/Operations/Reference.Service'],
'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'],
['load:Warehouse/Operations/Reference.Depot', 'load:Warehouse/Operations/Parcel.Daily']],
'nodes': [{'node_id': 'load:Warehouse/Operations/Parcel.LakehouseCurrentStatus',
'logical_id': 'Warehouse/Operations/Parcel.LakehouseCurrentStatus',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.LakehouseCurrentStatus]',
'status': 'validated',
'executed': False,
'started_at': None,
'finished_at': None,
'rows': None,
'messages': []},
{'node_id': 'load:Warehouse/Operations/Parcel.LiveStatus',
'logical_id': 'Warehouse/Operations/Parcel.LiveStatus',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.LiveStatus]',
'status': 'validated',
'executed': False,
'started_at': None,
'finished_at': None,
'rows': None,
'messages': []},
{'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.StatusEvent',
'logical_id': 'Warehouse/Operations/Parcel.StatusEvent',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Parcel.StatusEvent]',
'status': 'validated',
'executed': False,
'started_at': None,
'finished_at': None,
'rows': None,
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Depot',
'logical_id': 'Warehouse/Operations/Reference.Depot',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Depot]',
'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/Operations/Reference.Service',
'logical_id': 'Warehouse/Operations/Reference.Service',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Service]',
'status': 'validated',
'executed': False,
'started_at': None,
'finished_at': None,
'rows': None,
'messages': []}],
'messages': []}
Then load:
The command returned:
Load
Read catalogue 2.7s
Workspace Parcel Development
Catalogue Warehouse/Catalogue
Targets
Warehouse/Operations
Build run graph 0.0s
→ Load Warehouse/Operations/Parcel.LiveStatus
→ Load Warehouse/Operations/Parcel.StatusEvent
✓ Load Warehouse/Operations/Parcel.LiveStatus (read 2, +2 ~0 -0 !0) 4.1s
✓ Load Warehouse/Operations/Parcel.StatusEvent (read 3, +0 ~0 -0 !0) 4.4s
Execute 4.6s
Record what the run did 0.9s
✓ Load 8.3s
load succeeded: Warehouse/Operations
Load summary
2 succeeded
0 failed
0 blocked
Rows
read 5
inserted 2
updated 0
deleted 0
rejected 0
Workflow: fe3d0764a39b477e8033cd3504286ea8
The command returned:
{'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:55:33.845977+00:00',
'finished_at': '2026-10-17T07:55:42.340902+00:00',
'order': ['load:Warehouse/Operations/Parcel.RawEvents',
'load:Warehouse/Operations/Parcel.Events',
'load:Warehouse/Operations/Reference.Depot',
'load:Warehouse/Operations/Parcel.Daily',
'load:Warehouse/Operations/Parcel.Summary',
'load:Warehouse/Operations/Reference.Service'],
'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'],
['load:Warehouse/Operations/Reference.Depot', 'load:Warehouse/Operations/Parcel.Daily']],
'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:55:35.631762+00:00',
'finished_at': '2026-10-17T07:55:37.361680+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:55:35.849661+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:55:37.362332+00:00',
'finished_at': '2026-10-17T07:55:38.646036+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:55:37.378885+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Depot',
'logical_id': 'Warehouse/Operations/Reference.Depot',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Depot]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:35.634514+00:00',
'finished_at': '2026-10-17T07:55:37.313923+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:55:35.876656+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:38.646670+00:00',
'finished_at': '2026-10-17T07:55:40.172694+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:55:38.666312+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:40.175887+00:00',
'finished_at': '2026-10-17T07:55:41.442503+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:55:40.195860+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Service',
'logical_id': 'Warehouse/Operations/Reference.Service',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Service]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:35.635167+00:00',
'finished_at': '2026-10-17T07:55:42.337437+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:55:35.873367+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []}],
'messages': []}
In Operations, inspect the target:
It should contain the two seeded parcels. A clean Load sets the bookmark to the UTC instant immediately before that Load began. In a SQL query connected to Catalogue, record that boundary:
select [Bookmark datetime]
from [_].[Bookmark]
where [Item type] = N'Warehouse'
and [Item name] = N'Operations'
and [Schema name] = N'Parcel'
and [Object name] = N'LiveStatus';
Change the data, not the definition¶
In ParcelSource, change the source rows:
update [Source].[Parcel]
set [Status] = 'Delivered',
[Row update datetime] = sysutcdatetime()
where [Parcel ID] = 'P-1001';
update [Source].[Parcel]
set [Status] = 'Cancelled',
[Row update datetime] = sysutcdatetime()
where [Parcel ID] = 'P-1002';
Read the source again with the earlier source query. Both update datetimes must be later than the bookmark you recorded. Return to the project root and Load without Build:
The command returned:
Load
Read catalogue 2.7s
Workspace Parcel Development
Catalogue Warehouse/Catalogue
Targets
Warehouse/Operations
Build run graph 0.0s
→ Load Warehouse/Operations/Parcel.LiveStatus
→ Load Warehouse/Operations/Parcel.StatusEvent
✓ Load Warehouse/Operations/Parcel.StatusEvent (read 3, +0 ~0 -0 !0) 3.9s
✓ Load Warehouse/Operations/Parcel.LiveStatus (read 1, +0 ~1 -1 !0) 5.6s
Execute 5.8s
Record what the run did 0.5s
✓ Load 9.0s
load succeeded: Warehouse/Operations
Load summary
2 succeeded
0 failed
0 blocked
Rows
read 4
inserted 0
updated 1
deleted 1
rejected 0
Workflow: e5ed7acd1ad247088be988754106a80e
The command returned:
{'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:55:42.720139+00:00',
'finished_at': '2026-10-17T07:55:49.980246+00:00',
'order': ['load:Warehouse/Operations/Parcel.RawEvents',
'load:Warehouse/Operations/Parcel.Events',
'load:Warehouse/Operations/Reference.Depot',
'load:Warehouse/Operations/Parcel.Daily',
'load:Warehouse/Operations/Parcel.Summary',
'load:Warehouse/Operations/Reference.Service'],
'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'],
['load:Warehouse/Operations/Reference.Depot', 'load:Warehouse/Operations/Parcel.Daily']],
'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:55:44.450018+00:00',
'finished_at': '2026-10-17T07:55:46.021099+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:55:44.757986+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:55:46.021896+00:00',
'finished_at': '2026-10-17T07:55:47.341276+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:55:46.036391+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Depot',
'logical_id': 'Warehouse/Operations/Reference.Depot',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Depot]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:44.450571+00:00',
'finished_at': '2026-10-17T07:55:46.002766+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:55:44.706706+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:47.345311+00:00',
'finished_at': '2026-10-17T07:55:48.689454+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:55:47.368066+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:48.692386+00:00',
'finished_at': '2026-10-17T07:55:49.976009+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:55:48.714275+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Service',
'logical_id': 'Warehouse/Operations/Reference.Service',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Service]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:44.452632+00:00',
'finished_at': '2026-10-17T07:55:46.000043+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:55:44.729555+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []}],
'messages': []}
The P-1001 candidate updates the target to Delivered. The source update that marks P-1002 as Cancelled produces a target delete key: a source update need not become a target update. In Operations, the target query should now return:
| Parcel ID | Status | Depot |
|---|---|---|
| P-1001 | Delivered | Central |
ParcelSource should still retain P-1002 as Cancelled. Read the catalogue query again: the consumer bookmark should be later than its first boundary. Without changing the source, run one more Load:
The command returned:
Load
Read catalogue 2.8s
Workspace Parcel Development
Catalogue Warehouse/Catalogue
Targets
Warehouse/Operations
Build run graph 0.0s
→ Load Warehouse/Operations/Parcel.LiveStatus
→ Load Warehouse/Operations/Parcel.StatusEvent
✓ Load Warehouse/Operations/Parcel.LiveStatus (read 0, +0 ~0 -0 !0) 2.1s
✓ Load Warehouse/Operations/Parcel.StatusEvent (read 3, +0 ~0 -0 !0) 4.0s
Execute 4.1s
Record what the run did 0.5s
✓ Load 7.4s
load succeeded: Warehouse/Operations
Load summary
2 succeeded
0 failed
0 blocked
Rows
read 3
inserted 0
updated 0
deleted 0
rejected 0
Workflow: 41d581bc61e148288b38dead41dfb140
The command returned:
{'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:55:50.360012+00:00',
'finished_at': '2026-10-17T07:55:57.540197+00:00',
'order': ['load:Warehouse/Operations/Parcel.RawEvents',
'load:Warehouse/Operations/Parcel.Events',
'load:Warehouse/Operations/Reference.Depot',
'load:Warehouse/Operations/Parcel.Daily',
'load:Warehouse/Operations/Parcel.Summary',
'load:Warehouse/Operations/Reference.Service'],
'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'],
['load:Warehouse/Operations/Reference.Depot', 'load:Warehouse/Operations/Parcel.Daily']],
'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:55:52.064065+00:00',
'finished_at': '2026-10-17T07:55:53.586377+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:55:52.302060+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:55:53.587067+00:00',
'finished_at': '2026-10-17T07:55:54.894480+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:55:53.603833+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Depot',
'logical_id': 'Warehouse/Operations/Reference.Depot',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Depot]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:52.067046+00:00',
'finished_at': '2026-10-17T07:55:53.539948+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:55:52.317941+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:54.896581+00:00',
'finished_at': '2026-10-17T07:55:56.190214+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:55:54.921997+00:00',
'is_static_skip': False,
'is_refusal': False},
'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': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:56.192556+00:00',
'finished_at': '2026-10-17T07:55:57.536018+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:55:56.225177+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []},
{'node_id': 'load:Warehouse/Operations/Reference.Service',
'logical_id': 'Warehouse/Operations/Reference.Service',
'physical_target': 'Warehouse/Operations',
'primitive_kind': 'warehouse_procedure',
'dispatch_location': 'Warehouse/Operations/[_].[Load Reference.Service]',
'status': 'succeeded',
'executed': True,
'started_at': '2026-10-17T07:55:52.067576+00:00',
'finished_at': '2026-10-17T07:55:53.803063+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:55:52.618231+00:00',
'is_static_skip': False,
'is_refusal': False},
'messages': []}],
'messages': []}
LiveStatus reads no new candidates; the original StatusEvent still reads its three constant rows. The item summary therefore shows three rows read but no inserts, updates or deletes. The empty incremental window leaves the target unchanged and advances the bookmark again. Failed, rejected, blocked and static-skip outcomes do not advance it.
A hard source deletion leaves no row for either SELECT. To propagate it, retain change evidence such as tombstones, an audit table or CDC until the consumer reads it. This simple timestamp predicate also assumes a compatible UTC time basis and source change visibility; it is not a universal change-capture query.
Keep Build separate from a data-only run¶
Editing a Weaver document changes the source definition, not the installed one. Check and Build install that change; for each rebuilt loadable object, Build resets its bookmark to the initial boundary. The next Load must ask for all available history. That is why changing a VALUES constant and rebuilding it would not demonstrate this data-only loop.
The full incremental-processing explanation covers result forms and change-source design; Load behaviour owns exact bookmark, reload and failure rules. Schemas, keys and protected data follows from the next question: which data can you reconstruct, and which must stay outside a managed target?