anchor.diff:    // The first of these are controlled here.
     // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   
  -  const id = '<%= @id %>';
  +  const kataId = '<%= @id %>';
     const groupId = '<%= @group_id %>';
     const avatarIndex = '<%= @avatar_index %>';
     const version = '<%= @version %>';
  
positive.code:   cd.appendTrafficLight = (light) => {
      const index = light.index;
      const colour = light.colour;
      // There are events that do not directly correspond
      // to a traffic-light. For example, the kata creation event.
      // In the future there may be more, eg file new|delete|rename events.
      if (colour) {
        appendRevertImage($lights, light);
        appendPredictImage($lights, light);
        const $div = $('<div>', {
          'class':'diff-traffic-light',
          'data-id':id,
          'data-number':number,
          'data-index':index,
          'data-avatar-index':avatarIndex,
          'data-colour':colour
        });
        const $light = $div.append($trafficLightImage(light));
        $lights.append($light);
        $light.click(() => cd.setReviewData(version, id, groupId, avatarIndex, index-1, index));
        cd.setupTrafficLightTip($light, version, id, avatarIndex, index-1, index, number);
        number += 1;
        updateCountData(light);
        counts.lastLight = light;
  
negative.code:   const $lights = $('#traffic-lights');
  
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // Every event has a unique index property, but there
    // are events that do not correspond to a visible event.
    // For example, the kata creation event.
    // In the future there may be more, eg file new|delete|rename events.
    // Number is the number of what will be the next visible event.
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    var number = 1;
  
  