anchor.diff:                      % LS should never be undefined, but it doesn't hurt to be
                       % defensive inside the replicator.
                       Seq = case LS of undefined -> get(last_seq); _ -> LS end,
  -                    read_changes(Seq, Db, ChangesQueue, Options);
  +                    ok = gen_server:call(Parent, {report_seq_done, {Ts, Seq}, #rep_stats{}}, infinity),
  +                    put(last_seq, Seq),
  +                    read_changes(Parent, Seq, Db, ChangesQueue, Options, Ts + 1);
                   _ ->
                       % This clause is unreachable today, but let's plan ahead
                       % for the future where we checkpoint against last_seq
  
positive.code:                     " with since=~p", [couch_replicator_api_wrap:db_uri(Db), LastSeq]),
                  Db
              end,
              read_changes(LastSeq, Db2, ChangesQueue, Options);
          _ ->
              exit(Error)
          end
  
negative.code:         current_through_seq = ThroughSeq, stats = Stats} = State) ->
      gen_server:reply(From, ok),
      {NewThroughSeq0, NewSeqsInProgress} = case SeqsInProgress of
      [] ->
          {Seq, []};
      [Seq | Rest] ->
          {Seq, Rest};
      [_ | _] ->
  