docs: def set_fresh_watermark(game_queue, count_from, window_size,
                          fresh_fraction=0.05, minimum_fresh=20000):
      """Sets the metadata cell used to block until some quantity of games have been played.
  
      This sets the 'freshness mark' on the `game_queue`, used to block training
      until enough new games have been played.  The number of fresh games required
      is the larger of:
         - The fraction of the total window size
         - The `minimum_fresh` parameter
      The number of games required can be indexed from the 'count_from' parameter.
      Args:
        game_queue: A GameQueue object, on whose backing table will be modified.
        count_from: the index of the game to compute the increment from
        window_size:  an integer indicating how many past games are considered
        fresh_fraction: a float in (0,1] indicating the fraction of games to wait for
        minimum_fresh:  an integer indicating the lower bound on the number of new
        games.
      """
      already_played = game_queue.latest_game_number - count_from
      print("== already_played: ", already_played, flush=True)
      if window_size > count_from:  # How to handle the case when the window is not yet 'full'
          game_queue.require_fresh_games(int(minimum_fresh * .9))
      else:
          num_to_play = max(0, math.ceil(window_size * .9 * fresh_fraction) - already_played)
          print("== Num to play: ", num_to_play, flush=True)
          game_queue.require_fresh_games(num_to_play)