# Logical Components — Unit: SlpSoftware Client Setup ## Component: Pipeline Regression Test Suite **Type**: Test project / test fixture (new logical component, no runtime footprint in production). **Scope**: Targets `SlpModularCms.Api` only (Q1 = C). Exact host project (new `SlpModularCms.Api.Tests` vs. extending `SlpModularCms.Core.Tests`) is a Code Generation Planning decision — this stage fixes *what* it tests and *against which project*, not its exact file location. **Integration pattern**: `Microsoft.AspNetCore.Mvc.Testing`'s `WebApplicationFactory`, using `Api`'s own `Program.cs` as the entry point (requires `Api`'s `Program.cs` to be accessible to the test project via the standard `InternalsVisibleTo`/top-level-statement partial-class pattern, if not already the case for other reasons). ## Component: `CmsHostOptions` **Type**: Plain options object (new), living in `SlpModularCms.Core.Hosting` alongside `CmsHost`. **Shape at this stage**: empty (Q2 = B) — see nfr-design-patterns.md Pattern 2. **Consumers**: `SlpModularCms.Api/Program.cs` and `SlpModularCms.Api.SlpSoftware/Program.cs`, both constructing a default instance. ## No Other New Logical Components This unit does not introduce queues, caches, circuit breakers, or any other infrastructure component — it is a composition/extraction of existing pieces plus the one new options object above.