anchor.diff:  +
   If the source indices remain unchanged or if a checkpoint is already in progress
   then it waits for the next timer.
  ++
  +If changes are found a checkpoint is created.
   
  -. Identifies which entities have changed.
  +. Identifies which entities and/or time buckets have changed.
   +
  -The {transform} searches to see which entities have changed since the last time 
  -it checked. The `sync` configuration object in the {transform} identifies a time 
  -field in the source indices. The {transform} uses the values in that field to 
  -synchronize the source and destination indices.
  +The {transform} searches to see which entities or time buckets have changed 
  +between the last and the new checkpoint. The {transform} uses the values to
  +synchronize the source and destination indices with fewer operations than a
  +full re-run.
    
  -. Updates the destination index (the {dataframe}) with the changed entities.
  +. Updates the destination index (the {dataframe}) with the changes.
   +
   --
  -The {transform} applies changes related to either new or changed entities to the 
  -destination index. The set of changed entities is paginated. For each page, the 
  -{transform} performs a composite aggregation using a `terms` query. After all 
  -the pages of changes have been applied, the checkpoint is complete.
  +The {transform} applies changes related to either new or changed entities or
  +time buckets to the destination index. The set of changes can be paginated. The
  +{transform} performs a composite aggregation similarly to the batch {transform} 
  +operation, however it also injects query filters based on the previous step to 
  +reduce the amount work. After all changes have been applied, the checkpoint is 
  +complete.
   --
   
   This checkpoint process involves both search and indexing activity on the
  
positive.code: 
  TIP: If the cluster experiences unsuitable performance degradation due to the
  {transform}, stop the {transform} and refer to <<transform-performance>>.
  
  [discrete]
  [[ml-transform-checkpoint-errors]]
  
negative.code: 
  If your {transform} runs only once, there is logically only one checkpoint. If 
  your {transform} runs continuously, however, it creates checkpoints as it 
  ingests and transforms new source data. The `sync` property of the {transform} 
  configures checkpointing by specifying a time field.
  
  To create a checkpoint, the {ctransform}:
  
  