# SAIFMOCK001: WireMock Runner API is Experimental

## Cause

You are using a type or member from the WireMock Runner API that is marked as experimental.

## Rule Description

The WireMock Runner APIs in `SAIF.Platform.Aspire.Hosting.WiremockRunner` are currently in preview and may change in future releases. These APIs allow you to:

- Add WireMock Runner as a resource to orchestrate multiple mock services
- Configure individual mock services with WireMock Cloud integration
- Manually pull mock configurations from WireMock Cloud on demand
- Manage mock services with proper service discovery

## How to Fix

If you want to use these experimental APIs, suppress the warning:

### Option 1: Suppress in code

```csharp
#pragma warning disable SAIFMOCK001
var wiremockRunner = builder.AddWiremockRunner("wiremock", wiremockToken)

#pragma warning restore SAIFMOCK001
```

### Option 2: Suppress in project file

```xml
<PropertyGroup>
  <NoWarn>$(NoWarn);SAIFMOCK001</NoWarn>
</PropertyGroup>
```

### Option 3: Suppress with attribute

```csharp
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage(
    "Usage",
    "SAIFMOCK001:Type is for evaluation purposes only")]
```

## Affected APIs

| Type                       | Description                                      |
| -------------------------- | ------------------------------------------------ |
| `WiremockRunnerResource`   | WireMock Runner orchestration resource           |
| `WiremockRunnerExtensions` | Extension methods for `AddWiremockRunner()`      |
| `WiremockMockResource`     | Individual mock service resource                 |
| `WiremockRunnerDefaults`   | Default configuration values for WireMock Runner |

## When Will This Be Stable?

These APIs are being introduced as experimental in Forge 3.1. We are gathering feedback on:

- API ergonomics and integration patterns
- WireMock Cloud synchronization behavior
- Container vs. executable orchestration strategies
- Service discovery and connection string patterns

Once we have sufficient feedback and the API design has stabilized, we will remove the experimental designation in a future release.

Please provide feedback via the [Forge repository](https://github.com/saif-corp/forge/issues).
