# `CliSubprocessCore.LowerSimulationScenario`
[🔗](https://github.com/nshkrdotcom/cli_subprocess_core/blob/v0.7.0/lib/cli_subprocess_core/lower_simulation_scenario.ex#L1)

Phase 6 lower simulation scenario declaration for CLI subprocess profiles.

The CLI owner surface is process-only: configured runtime profiles emit
provider-native stdout/stderr frames below the existing parser layer without
exposing request-time simulation selectors.

# `t`

```elixir
@type t() :: %CliSubprocessCore.LowerSimulationScenario{
  bounded_evidence_projection: map(),
  cleanup_behavior: map(),
  contract_version: String.t(),
  input_fingerprint_ref: String.t(),
  matcher_class: String.t(),
  no_egress_assertion: map(),
  owner_repo: String.t(),
  protocol_surface: String.t(),
  route_kind: String.t(),
  scenario_id: String.t(),
  status_or_exit_or_response_or_stream_or_chunk_or_fault_shape: map(),
  version: String.t()
}
```

# `contract_version`

```elixir
@spec contract_version() :: String.t()
```

# `dump`

```elixir
@spec dump(t()) :: map()
```

# `new`

```elixir
@spec new(map() | keyword() | t()) :: {:ok, t()} | {:error, Exception.t()}
```

# `new!`

```elixir
@spec new!(map() | keyword() | t()) :: t()
```

# `owner_repo`

```elixir
@spec owner_repo() :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
