code: func GetBuild(c context.Context, host string, project types.ProjectName, path types.StreamPath) (*ui.MiloBuildLegacy, error) {
  	as := AnnotationStream{
  		Project: project,
  		Path:    path,
  	}
  	if err := as.Normalize(); err != nil {
  		return nil, err
  	}
  
  	// Setup our LogDog client.
  	var err error
  	if as.Client, err = NewClient(c, host); err != nil {
  		return nil, errors.Annotate(err, "generating LogDog Client").Err()
  	}
  
  	// Load the Milo annotation protobuf from the annotation stream.
  	switch _, err := as.Fetch(c); errors.Unwrap(err) {
  	case nil, errNoEntries:
  
  	case coordinator.ErrNoSuchStream:
  		return nil, grpcutil.NotFoundTag.Apply(err)
  
  	case coordinator.ErrNoAccess:
  		return nil, grpcutil.PermissionDeniedTag.Apply(err)
  
  	case errNotMilo, errNotDatagram:
  		// The user requested a LogDog url that isn't a Milo annotation.
  		return nil, grpcutil.InvalidArgumentTag.Apply(err)
  
  	default:
  		return nil, errors.Annotate(err, "failed to load stream").Err()
  	}
  
  	return as.toMiloBuild(c), nil
  }
docs: // GetBuild returns a build from a raw annotation stream.