code: func (a *Agent) Start(ctx context.Context) error {
  	err := errAgentStarted
  
  	a.startOnce.Do(func() {
  		close(a.started)
  		go a.run(ctx)
  		err = nil // clear error above, only once.
  	})
  
  	return err
  }
docs: // Start begins execution of the agent in the provided context, if not already
  // started.
  //
  // Start returns an error if the agent has already started.