anchor.diff:      #collector{
           callback = Callback,
           counters = S0,
  +        offset = O0,
           limit = Limit,
           user_acc = AccIn
       } = St,
       true = fabric_dict:is_key(Worker, S0),
       S1 = fabric_dict:store(Worker, couch_util:get_value(seq, Props), S0),
  +    O1 = fabric_dict:store(Worker, couch_util:get_value(pending, Props), O0),
       % Temporary hack for FB 23637
       Interval = erlang:get(changes_seq_interval),
       if (Interval == undefined) orelse (Limit rem Interval == 0) ->
  
positive.code: 
  % Temporary upgrade clause - Case 24236
  handle_message({complete, Key}, Worker, State) when is_tuple(Key) ->
      handle_message({complete, [{seq, Key}]}, Worker, State);
  
  handle_message(_, _, #collector{limit=0} = State) ->
      {stop, State};
  
  handle_message(#change{} = Row, {Worker, From}, St) ->
      Change = {change, [
  
negative.code:     Key = couch_util:get_value(seq, Props),
      #collector{
          counters = S0,
          offset = O0,
          total_rows = Completed % override
      } = State,
      true = fabric_dict:is_key(Worker, S0),
      S1 = fabric_dict:store(Worker, Key, S0),
      O1 = fabric_dict:store(Worker, couch_util:get_value(pending, Props), O0),
      NewState = State#collector{counters=S1, offset=O1, total_rows=Completed+1},
      % We're relying on S1 having exactly the numnber of workers that
      % are participtaing in this response. With the new stream_start
      % that's a bit more obvious but historically it wasn't quite
  