docs: def make_chunk_for(output_dir=LOCAL_DIR,
                     local_dir=LOCAL_DIR,
                     game_dir=None,
                     model_num=1,
                     positions=EXAMPLES_PER_GENERATION,
                     threads=8,
                     sampling_frac=0.02):
      """
      Explicitly make a golden chunk for a given model `model_num`
      (not necessarily the most recent one).
  
        While we haven't yet got enough samples (EXAMPLES_PER_GENERATION)
        Add samples from the games of previous model.
      """
      game_dir = game_dir or fsdb.selfplay_dir()
      ensure_dir_exists(output_dir)
      models = [model for model in fsdb.get_models() if model[0] < model_num]
      buf = ExampleBuffer(positions, sampling_frac=sampling_frac)
      files = []
      for _, model in sorted(models, reverse=True):
          local_model_dir = os.path.join(local_dir, model)
          if not tf.gfile.Exists(local_model_dir):
              print("Rsyncing", model)
              _rsync_dir(os.path.join(game_dir, model), local_model_dir)
          files.extend(tf.gfile.Glob(os.path.join(local_model_dir, '*.zz')))
          print("{}: {} games".format(model, len(files)))
          if len(files) * 200 * sampling_frac > positions:
              break
  
      print("Filling from {} files".format(len(files)))
  
      buf.parallel_fill(files, threads=threads)
      print(buf)
      output = os.path.join(output_dir, str(model_num) + '.tfrecord.zz')
      print("Writing to", output)
      buf.flush(output)