﻿# SimC Input Constraints

Simmit rejects profile directives that control filesystem access, network behavior, or compute resource allocation.

## Unsupported directives

```bash
# Output / file writes
output=
html=
json=
json2=
log=
save=
save_*
debug_seed=
debug_each=
spell_query_xml_output_file=
reforge_plot_output_file=

# File includes / reads
local_json=

# Network / external calls
proxy=
http_clear_cache=
guild=

# Secrets
apiKey=
apikey=
api_key=

# Compute resource control
threads=
profileset_work_threads=
profileset_init_threads=
process_priority=

# Output format control
progressbar_type=

# JSON output bloat
full_states=

# Plot directives
dps_plot_*
reforge_plot_*
```

> Thread and parallelism directives (`threads=`, `profileset_work_threads=`, `profileset_init_threads=`) are managed by Simmit.
>
>

>
> Plot directives (`dps_plot_*`, `reforge_plot_*`) are currently unsupported. [Contact us](/docs/contact) if your use case requires plot support.

## Conditionally allowed directives

```bash
armory=
```

This directive is only available when `credentials.bnetClientId` and `credentials.bnetClientSecret` are provided in the job request. See the [API Reference](/docs/api-reference) for details.

```bash
input=<bundled-filename>
<bundled-filename>
```

Profile includes resolve only against the build's bundled `profiles/` tree. A filename is accepted when it appears in `profiles.manifest` for the build that runs the job. Out-of-bundle paths are blocked. See [Bundled Profiles](/docs/api/bundled-profiles) for the manifest shape and usage.

## Precision safety bounds

Two precision directives have platform safety bounds. Values outside the bounds run at the bound, and the job submission response includes a `warnings` array describing each clamp or floor.

| Directive       | Safety bound | Behavior                             |
| --------------- | ------------ | ------------------------------------ |
| `iterations=`   | ≤ 250,000    | Values above 250,000 run at 250,000. |
| `target_error=` | ≥ 0.01       | Values below 0.01 run at 0.01.       |

Example response:

```json
{
  "id": "0192…",
  "success": true,
  "runtime": { "ceiling": { "runtimeSeconds": 300, "queueSeconds": 1800 } },
  "warnings": [
    {
      "kind": "iterations_clamped",
      "line": 12,
      "requested": 500000,
      "applied": 250000,
      "message": "iterations=500000 exceeds the platform safety cap of 250000; using 250000."
    }
  ]
}
```

The `warnings` field is omitted when there are no warnings. Possible `kind` values: `iterations_clamped`, `target_error_floored`. Multi-actor inputs with the same directive set per actor produce one warning per offending line.

---

This list may evolve as the platform or SimulationCraft changes. If your workflow requires a currently restricted directive, [get in touch](/docs/contact).

---

_HTML version: https://simmit.com/docs/api/input-constraints · Full docs index: https://simmit.com/llms.txt_
