Launch and state types
ResearchRunLaunchRequest is the released typed launch request.
ResearchSwarm is the state model returned by swarm state and wait operations.
Import both from the public Research namespace:
SynthClient().research;
use these models when a typed application boundary needs to construct a launch
request or annotate a returned swarm without adding low-level transport code.
State flow
Runs usually move through:Status and messages
Use status reads for current state and messages for durable communication with the runtime. MCP tools:smr_get_runsmr_get_run_executionsmr_get_run_transcriptsmr_list_run_actor_logs
Tasks and actors
Task and actor counts help show what the system actually did.Artifacts and reports
Artifacts include reports, files, diffs, PR metadata, logs, and workflow-specific outputs.smr_list_run_artifactssmr_get_run_artifact_manifestsmr_get_artifact_content
Checkpoints and branches
Use checkpoints before riskier changes or when a long run finds a useful intermediate state.Usage
Usage readback helps connect the evidence to spend and budgets. Usesmr_get_run_usage, smr_get_project_usage, and resource-limit progress tools from MCP, or handle.usage.get() / client.research.limits.get() from the hero Python SDK.
Hard stops can come from run budget, monthly budget, timebox, or policy blockers.