code: func GetJobTraits(ctx context.Context, cat catalog.Catalog, j *engine.Job) (task.Traits, error) {
  	taskDef, err := cat.UnmarshalTask(ctx, j.Task)
  	if err != nil {
  		logging.WithError(err).Warningf(ctx, "Failed to unmarshal task proto for %s", j.JobID)
  		return task.Traits{}, err
  	}
  	if manager := cat.GetTaskManager(taskDef); manager != nil {
  		return manager.Traits(), nil
  	}
  	return task.Traits{}, nil
  }
docs: // GetJobTraits asks the corresponding task manager for a traits struct.