code: func (c *Config) Validate(onExecution bool) error {
  	if err := c.RootConfig.Validate(onExecution); err != nil {
  		return errors.Wrapf(err, "root config")
  	}
  
  	if err := c.RuntimeConfig.Validate(onExecution); err != nil {
  		return errors.Wrapf(err, "runtime config")
  	}
  
  	if err := c.NetworkConfig.Validate(onExecution); err != nil {
  		return errors.Wrapf(err, "network config")
  	}
  
  	return nil
  }
docs: // Validate is the main entry point for library configuration validation.
  // The parameter `onExecution` specifies if the validation should include
  // execution checks. It returns an `error` on validation failure, otherwise
  // `nil`.