matrixSuite
Declares a top-level matrix test suite.
Pass per-suite configuration with matrixConfig, e.g. val Suite by matrixSuite(matrixConfig { execution = ExecutionMode.Concurrent(8) }) { … }. Unset fields fall back to the global MatrixTestDefaults. With no configuration, write val Suite by matrixSuite { … }.
The config's testConfig is for aroundAll / aroundEach / context / timeout wrappers only. Set concurrency via its execution, never TestConfig.invocation(...) — matrix derives invocation from execution, and a conflicting one is overridden (it cannot be removed; TestBalloon configs are opaque). A virtual-time testScope(...) applies only to sequential execution (matrix auto-disables it when concurrent); prefer enabling TestScope on the TestSession, and use aroundEach/aroundAll + withTimeout for timeouts under concurrency.
Note: configuration is taken as a single MatrixSuiteConfigBuilder argument rather than many named parameters, so the call site stays a shape the TestBalloon compiler plugin reliably discovers (a plain call, not a reordered-named- argument call that the plugin can drop from discovery).