Validates that required environment variables are set and non-empty before environment-dependent code runs. Variables may have call-site defaults, and all unresolved variables are reported together. Successful values are returned as a named list without reading environment files or modifying the process environment.