> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usesynth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Launch Fields

> Reference for the main fields that shape a Managed Research run.

Launch fields tell Synth how to run the work. Backend preflight is authoritative for whether a specific combination is allowed.

## Common fields

| Field                      | Required | Purpose                                                                                   |
| -------------------------- | -------- | ----------------------------------------------------------------------------------------- |
| `host_kind`                | Yes      | Execution substrate, such as `daytona`.                                                   |
| `work_mode`                | Yes      | Goal posture: `directed_effort` or `open_ended_discovery`.                                |
| `providers`                | Yes      | Provider bindings. Public examples use `openrouter`.                                      |
| `runbook`                  | Optional | Collaboration posture: `lite` or `heavy`. Defaults to `lite`.                             |
| `agent_harness`            | Optional | Agent runtime harness: `codex` or `opencode_sdk`.                                         |
| `agent_model`              | Optional | Public model ID compatible with the selected harness.                                     |
| `agent_model_params`       | Optional | Model-specific parameters such as supported Codex `reasoning_effort`.                     |
| `roles`                    | Advanced | Role-based launch policy for orchestrator, reviewer, worker palette, and worker subtypes. |
| `initial_runtime_messages` | Optional | Kickoff messages enqueued on the durable runtime message queue.                           |
| `limit`                    | Optional | Run-scoped usage limits such as spend, wallclock, GPU hours, or tokens.                   |
| `timebox_seconds`          | Optional | Wall-clock run timeout.                                                                   |

## Minimal launch

```python theme={null}
run = client.research.runs.start(
    "Inspect the repo and leave evidence for the highest-impact fix.",
    host_kind="daytona",
    work_mode="directed_effort",
    providers=[{"provider": "openrouter"}],
    runbook="lite",
)
```

## Kickoff messages

Use `initial_runtime_messages` when you need the launch request to carry durable opening intent.

```json theme={null}
{
  "initial_runtime_messages": [
    {
      "mode": "queue",
      "body": "Prioritize the smallest patch that improves the failing eval."
    }
  ]
}
```

## Role policy

Use top-level `agent_harness`, `agent_model`, and `agent_model_params` for simple shared selection. Use `roles` for actor-specific policy. Do not combine `roles` with shared top-level `agent_*` selectors.
